Autor | Zpráva | ||
---|---|---|---|
panvicka Profil |
#1 · Zasláno: 17. 2. 2009, 17:31:51
Zdravím, prosím o pomoc řekněme, že mám třeba http://panvicka.cz/img/formular.php
dám odeslat, výsledky se ukáží, ale puntíky zmizí :) jediné co jsem nasla bylo na linuxu tohle: Nakolik se Vám možná chce jásat, má náš skript jednu dosti podstatnou vadu. Když se mají údaje opravovat, chybí tam předvyplněné ty původní. Za to Vás budou chtít uživatelé lynčovat, protože kdyby formulář obsahoval deset polí a chyba by byla jen v jednom, je jasné, že by museli vyplnit všech dest polí znova (brr). Jednoduchou úpravou skriptu ale dosáhneme toho, že když jej vyplňujeme již poněkolikáté, tak tam předchozí hodnoty zůstanou: // začátek je stejný... if ($BudemeZobrazovat):?> <form method="post" action="26_complex.php"> E-mail: <input name="email" value="<?echo $_POST["email"]?>"> <input type="Submit" name="odesli"> </form> <?endif;?> ale to mi asi moc nepomůže, nebo ano? když něco napiši do value, nebudu moci porovnat jestli je odpověď správná kódem if($question_ten !== "old_school") echo '<span class="false">odpověď 10 je špatně</span><br/>'; else echo '<span class="true">odpověď 10 je dobře</span><br/>'; } |
||
AM_ Profil |
#2 · Zasláno: 17. 2. 2009, 17:36:23
Za prvé, hrubka:
<?php echo htmlspecialchars($_POST["email"]); ?> a vůbec všechny <? si přepiš na <?php Za druhé - proč by to nemělo jít? zkusilas to? |
||
panvicka Profil |
#3 · Zasláno: 17. 2. 2009, 17:44:35
mno to o té hrubce a "?" piš linuxsoftu, ja to nedělám - jenom jsem to zkopírovala, je to tam napsané!
Ano, v případě, když jsem chtěla opravit e-mail, tak mi to fungovalo.... v případě, který potřebuji já mi to nefunguje |
||
ninja Profil |
#4 · Zasláno: 17. 2. 2009, 17:48:45 · Upravil/a: ninja
<li>1. Tagy v xhtml píšeme: <ul><input type="radio" name="question_one" value="small"<?php if ($_POST['question_one'] == 'small') echo (' selected="selected"'); ?>>malé</ul> <ul><input type="radio" name="question_one" value="big"<?php if ($_POST['question_one'] == 'big') echo (' selected="selected"'); ?>>VELKÉ</ul> <ul><input type="radio" name="question_one" value="none"<?php if ($_POST['question_one'] == 'none') echo (' selected="selected"'); ?>>žádné</ul> </li> |
||
SwimX Profil |
#5 · Zasláno: 17. 2. 2009, 17:51:48 · Upravil/a: SwimX
panvicka
chceš nechat checkboxy zaškrtlé? pak nějak takle: <input type="checkbox" name="" value="" <?php echo (isset($_POST[name]) && !empty($_POST[name]))? "CHECKED" : ""; ?> > edit: nebo jak napsal ninja |
||
panvicka Profil |
#6 · Zasláno: 17. 2. 2009, 17:53:31
děkuji, vypadá to rozumně, ale nechce se tomu fungovat
|
||
panvicka Profil |
#7 · Zasláno: 17. 2. 2009, 17:57:05
á, děkuji SwimX, už to jede :)
|
||
Chamurappi Profil |
#8 · Zasláno: 17. 2. 2009, 20:24:37
Reaguji na ninju:
Atribut „selected“ se používá u <option>ů, vybrané <input>y mají vždy „checked“. Také se ti povedlo prohodit <li> a <ul>. |
||
ninja Profil |
#9 · Zasláno: 17. 2. 2009, 21:30:09
Chamurappi: pravda, mea culpa s tim checked. Prehozene ul a li bylo asi uz v odkazovanem zdroji, rozhodne jsme to rucne neprepisoval :).
|
||
Alphard Profil |
#10 · Zasláno: 17. 2. 2009, 21:47:04 · Upravil/a: Alphard
já bych na to vytvořil funkci, bylo by to kratší
<input type="radio" name="question_one" <?php value('small'); ?>>malé navíc se hodnota value v případě změny přepíše jen na jednom místě // dodatek nebo úplně <input type="radio" <?php par('question_one', 'small'); ?>>malé ještě bychom mohli dát name jako nepovinný, uvedl by se jen jednou a do dalšího výskytu by se dosazoval sám, ale to by přestalo být jednoduché řešení :-) |
||
Časová prodleva: 15 let
|
0