Autor | Zpráva | ||
---|---|---|---|
Filipos Profil |
Dobrý den,
rád bych poprosil někoho zkušenějšího o radu. Mám formulář, u kterého se mají při nevyplnění všech povinných polí zachovat zadané hodnoty v polích. Pokud tedy vyplním dvě ze tří povinných polí a dám odeslat, vypíše se hláška o neúplném vyplnění a vyplněná pole zůstanou vyplněná. Funguje mi to u polí JMÉNO A PŘÍJMENÍ a EMAIL, ale u pole ZPRÁVA nikoli. Pokud vyplním pole ZPRÁVA a k tomu některé z polí JMÉNO A PŘÍJMENÍ nebo EMAIL, po odeslání se pole ZPRÁVA vymaže, vyplněné zůstane jen pole JMÉNO A PŘÍJMENÍ nebo EMAIL. Po úspěšném odeslání formuláře by se také měla zobrazit hláška - Email byl odeslan, ta se mi ale také nezobrazuje. Nevím si rady, kdyby někdo věděl, budu rád za každou radu. Děkuji, Filip Celý kód souboru index.php zde: <?php mb_internal_encoding("UTF-8"); $hlaska = ''; if (isset($_GET['$odeslat'])) { $hlaska = 'Email byl odeslan'; } if ($_POST) { if (isset($_POST['jmeno']) && $_POST['jmeno'] && isset($_POST['email']) && $_POST['email']&& isset($_POST['zprava']) && $_POST['zprava']) { $jmeno = $_POST['jmeno']; $email = $_POST['email']; $zprava = $_POST['zprava']; $adresa = '@seznam.cz'; $odeslat = mb_send_mail($adresa, $email, $_POST['zprava'], $jmeno); if ($odeslat) { $hlaska = 'Email odeslan'; header('Location:index.php?odeslat=ano'); exit; } else { $hlaska = 'Email se nepodarilo odeslat'; } } else { $hlaska = 'Nevyplnili jste pozadovana pole'; } } ?> <!DOCTYPE html> <html> <head> <title></title> </head> <style type="text/css"> form{width: 300px;} </style> <body> <a href="http://www.ajkie.wz.cz">DOMU</a> <?php if ($hlaska) { echo '<p>' . htmlspecialchars($hlaska) . '</p>'; $jmeno = (isset($_POST['jmeno'])) ? $_POST['jmeno'] : ''; $email = (isset($_POST['email'])) ? $_POST['email'] : ''; $zprava = (isset($_POST['zprava'])) ? $_POST['zprava'] : ''; } ?> <form method="POST"> <fieldset> <legend>Kontaktni formular</legend> <table> <tr> <td>Jmeno a prijmeni:(vyzadovano)</td> </tr> <tr> <td><input type="text" name="jmeno" value="<?= htmlspecialchars($jmeno) ?>"></td> </tr> <tr> <td>E-mail:(vyzadovano)</td> </tr> <tr> <td><input type="text" name="email" value="<?= htmlspecialchars($email) ?>"></td> </tr> <tr> <td>Zprava:(vyzadovano)</td> </tr> <tr> <td><textarea cols="45" rows="7" name="zprava" value="<?= htmlspecialchars($zprava) ?>"></textarea></td> </tr> <tr><td> </td></tr> <tr> <td><input type="submit" value="Odeslat"></td> </tr> </table> </fieldset> </form> </body> </html> |
||
abc Profil |
textarea nemá atribut value, defaultní hodnota se dává mezi ty 2 tagy
<textarea><?= htmlspecialchars($zprava) ?></textarea> a ještě jsem přehlédl druhý dotaz - v té kontrole, zda bylo odesláno nemá být proměnná odeslat, ale string odeslat |
||
Filipos Profil |
Děkuji mnohokrát
|
||
Časová prodleva: 6 let
|
0