Autor Zpráva
kikinet
Profil
Ahoj,
mám formulář s povinnými poli (jméno, email...). Jenže pokud echo vypíše, že některé z povinných polí není vyplněno, automaticky se načte nový formulář. A to je dost otravné... Nemá někdo nějaké řešení jak nechat vyplněná pole vyplněná?
yFang
Profil
Třeba takhle:
<input type="text" name="jmeno" value="<?php if(isset($_POST['jmeno'])) echo $_POST['jmeno']; ?>">
kikinet
Profil
yFang:
Jo takhle, dík :) měla jsem ve value napsané jen <?php echo $jmeno ?>
jenikkozak
Profil
kikinet:
Jen nezapomeň na escapování, jinak ti vložené uvozovky či části HTML rozbijí formulář.
kikinet
Profil
jenikkozak:
dík za radu, ale asi úplně nechápu jak by to mohlo rozhodit formulář když v kódu nepoužívám žádné "matoucí" znaky... ?
yFang
Profil
kikinet:
Když by někdo do toho jména napsal ", tak by to dopadlo tak, že by se v hodnotě zobrazila jen část jména před ".
kikinet
Profil
yFang:
no super :D... Takže to mám celé překopat a před každý znak dát \?
jenikkozak
Profil
kikinet:
Takže to mám celé překopat a před každý znak dát \?
Odkazuji znovu. Escapovat máš jen ten text, který chceš vypisovat jako obsah value nebo část mezi <textarea> a </textarea>.
kikinet
Profil
No asi to stejnak pořád nechápu :D Nemůžete mi tu hodit kod jak escapovat ten text? Např:
<tr><td><b>Zpráva: <b style="color: white">*</b></b></td><td><textarea name="zprava" value="<?php if(isset($_POST['zprava'])) echo $_POST['zprava']; ?>" rows="8" cols="31"></textarea></td></tr>

Jo a to zanechání textu po hlášení chyby nefunguje v textarea. Napadá vás proč? (viz. kod)
LaMMa
Profil
textarea nemá atribut value, ale jej hodnota je medzi <textarea> a </textarea>. A s escapovaním takto:
<textarea name="zprava" rows="8" cols="31"><?php if(isset($_POST['zprava'])) echo htmlspecialchars($_POST['zprava'], ENT_QUOTES);?></textarea>
kikinet
Profil
LaMMa:
Super :) děkuju

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: