Diskuze: vybírání na základě uživatele

Člen

Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ahoj, potřeboval bych pomoci ohledně vybírání dat, podle uživatele.
Mám udělaný form, kterým rozhoduji, jestli chci poslat pluginy do důležitých méně důležitých nebo nedůležitých bloků, prostě podle důležitosti,
<form action="" method="POST">
'<select id="pole" name="rozdeleni" class="select-field">'.
'<option value="">select allocation</option>'.
'<option value="1">important</option>'.
'<option value="2">less important</option>'.
'<option value="3">unimportant</option>'.
'</select>'.
</form>
toto mě hodí do switche, který rozpozná kam chci přidat ty pluginy, jestli do těch důležitých, méně důležitých nebo nedůležitých.
if (!empty($_POST["rozdeleni"])) {
switch ($_POST["rozdeleni"]) {
case '1':
$rozdeleni = unserialize($plugin);
echo '<form action="" method="POST">'.
'<input type="checkbox" name="checkboxvar[]" value="akismet">akismet
'.
'<input type="checkbox" name="checkboxvar[]" value="plugincleaner">plugincleaner
'.
'<input type="submit" value="Submit" name="submit">'.
'</form>';
if (isset($_POST["submit"])) {
if (!empty($_POST["checkboxvar"])) {
foreach ($_POST["lang"] as $value) {
echo $value;
}
}
}
break;
case '2':
break;
case '3':
break;
default:
echo "nebyl poslán požadavek";
}
když dám important, tak mě to hodí do case 1 a tam dále pokračuji, tady jsem si ještě předtím udělal lehčí výběr hodnot a jejich vypsání, jestli to vůbec bude tím checkboxem fungovat.
Takže abych to zjednodušil.
Když kliknu v prvním formu, že chci otevřít important, tak mě to hodí do case 1 ve switchi, kde se mi na stránce objeví dvě hodnoty a to akismet a plugincleaner, které mají vedle sebe checkboxy. Po zaškrtnutí některých z nich tento form odešlu a čekám, že se mi ve podmínce objeví vyechovaná hodnota daného zaškrtnutého políčka, ale nikoliv.
Myslím, že je potíž v tom, že když odešlu form ve switchi, že nezůstane v té case 1 a tím pádem nemůže najít podmínku, jestli submit existuje. To je moje teorie.
Pokud by mi někdo pomohl byl bych rád. Děkuji
Nejsem si jist zda-li chápu tvůj problém. Každopádně není chyba v názvu klíče?
...
if (isset($_POST["submit"])) {
if (!empty($_POST["checkboxvar"])) {
foreach ($_POST["lang"] as $value) { // $_POST["lang"] != $_POST["checkboxvar"]
echo $value;
}
}
}
...
nespíš zde chyba byla též, ale ještě mám chybu nejspíš někde jinde, tady bude těžké něco popsat, pokud bychom se mohli spojit i jinak, byl bych rád, např. po fb, skype nebo cokoliv jiného.
nemuzes udelat jednoduchou php stranku, ktera by fungovala, kdyz udelame copy
paste a spustime?
Pak bys mohl pripsat jen navod. 1. vyplnim, to to, prepnu ten a ten select,
kliknu odeslat. Stane se to a to. Melo se stat to a to. Pokud tam mas 2 faze,
tak to php musi mit kod pro obe faze nejak propojene. Nebo k tomu pripis aspon
odeslani na jiny php soubor. Soubor1.php + kod, soubor2.php + kod, ve formu pak
action=soubor2.php, napr. Takhle se mozna to, co chces, hrozne tezko popisuje.
Nehlede na to, ze mas zalozene uz treti vlakno
děkuju za nápady, ale nejsem tak pokročilý v programování, takže je to
pro mě složitější teď.
Co se týká posílání formulaře, tak to posílám na tu jednu a samou
stránku, nepoužívám action, což mi přijde ještě divnější, že php
není schopný najít data poslané ve stejném souboru
Nechapes princip
Ve tvem pripade je to jen REQUEST a POST. (form action="" method="POST").
Pokud chces data udrzet, uloz je do souboru, databaze, session, cookies, do formulare. Nekam, co je propojene jen s tim jednim uzivatelem. Soubor tezko propojis s uzivatelem, pokud k tomu nepridas pomocny program. Db totez. Session je k tomu delana. Cookies take. A pak je tu moznost odesilat to z formularem. Ta se pouziva pro specialni pripady, cili asi 70%. 60% session v kombinaci s db. Vzdy zalezi na tom, jak s tim udajem dal pracujes.
Tohle by mohlo fungovat, uchovat si udaj. Netestovano.
var_dump('$_POST',$_POST);
$aaa = isset($_POST['aaa']) ? $_POST['aaa'] : '';
if ($aaa!='') {$page = '
<form action="" method="POST" name="form1">
<select id="pole" name="AAA" class="select-field">
<option value="">select allocation</option>
<option value="1">important</option>
<option value="2">less important</option>
<option value="3">unimportant</option>
</select>
</form>
';} else {$page = '
<form action="" method="POST" name="form1">
<input type=hidden name="AAA" value="'.htmlspecialchars($aaa).'">
<select id="pole" name="BBB" class="select-field">
<option value="">select allocation</option>
<option value="1">important</option>
<option value="2">less important</option>
<option value="3">unimportant</option>
</select>
</form>
';
echo $page;
Jo, tam melo byt samozrejme velke AAA, misto $_POST['aaa'] -> $_POST['AAA']. Chtel jsem to nejak zvyraznit, tak jsem dal velka pismena pro name toho selectu.
Jo, jeste melo byt kazde jine, name=form1 a name=form2.
A ta podminka je opacne $aaa == ''. Prvni chci, aby se zobrazil ten prvni
form a to nastava jen, kdyz je aaa prazdne
Ty jo, v 7 jeste asi spim
Tohle už bylo pro moje chápání lepší děkuju moc, dost mi to pomohlo,
takže velmi děkuji
Zobrazeno 13 zpráv z 13.