Autor | Zpráva | ||
---|---|---|---|
kesaj Profil |
#1 · Zasláno: 25. 2. 2011, 14:51:07
Zdravím Vás, mám vytvorený formulár na odosielanie mailu :
<?php $jmeno = $_POST['jmeno'];/*takto proměnné přidělíme to co bylo odesláno ve formuláři metodou POST s atributem name="jmeno"*/ $telefon = $_POST['telefon']; $mail = $_POST['mail']; $predmet = $_POST['predmet']; $text = $_POST['text']; $sprava ="Meno : $jmeno\r\n Telefon: $telefon\r\n Text: $text\r\n Schodzka: $schodzka\r\n"; $prijemce = "abra@abitec.sk"; /*vyplníte mail, na který se má formulář odesílat*/ $zahlavi = "From: " . $mail . "\r\n" . "Content-Type: text/plain; charset=UTF-8; format=flowed\n" . "MIME-Version: 1.0\n" . "Content-Transfer-Encoding: 8bit\n" . "X-Mailer: PHP\n"; /*zobrazuje pak v mailu jako kdyby vám mail přišel přímo z tohoto mailu, můžete pak tedy rovnou odpovídat na mail, který uživatel uvedl*/ /*takto zajistíme, aby se mail neodeslal, pokud nejsou všechna pole vyplněna*/ if ( !empty($jmeno) and !empty($mail) and !empty($predmet) and !empty($text)) { mail($prijemce, $predmet, $sprava, $zahlavi); echo "<h3>Ďakujeme. Vaša správa bola úspešne odoslaná. V krátkom čase Vás budeme kontaktovať.</h3><br /> <p>Táto stránka bude automaticky presmerována do 5 sekúnd.<br> Pokiaľ sa tak nestane, pokračujte prosím <a href='http://www.abitec.sk'>tu</a><br><br></p>"; echo "<script type=\"text/javascript\"> setTimeout(\"self.location.replace('http://www.abitec.sk')\", 5*1000) </script>"; /*toto se vypíše do dokumentu, pokud se mail odešle*/ } else { echo "<h3>Prosíme Vás, aby ste vyplnili všetky údaje a správu odoslali znova. Ďakujeme.</h3>"; /*toto se vypíše pokud nebudou vyplněna všechna pole, mail se neodešle*/ } ?> HTML kód : <form action="../mail_abra.php" method="post"> <b style="margin-bottom:10px;">Meno:</b><br/> <input name="jmeno" type="text" /><br/> <b>E-mail:</b><br/> <input name="mail" type="text" /><br/> <b>Telefón:</b><br /> <input name="telefon" type="text" /><br/> <b>Výber verzie informačného systému:</b> <select name="predmet"> <option value="Objednávka systému ABRA G1">ABRA G1</option> <option value="Objednávka systému ABRA G2">ABRA G2</option> <option value="Objednávka systému ABRA G3">ABRA G3</option> <option value="Objednávka systému ABRA G4">ABRA G4</option> </select><br/> <b>Mám záujem o prezentačnú schôdzku:</b> <input name="schodzka" type="checkbox" /><br/> <b>Správa:</b><br/> <textarea cols="30" rows="5" name="text" onclick="if (this.value=='Tu môžete zanechať svoj odkaz') this.value='';" ></textarea><br/> <input type="submit" value="Odoslať" /> <input type="reset" value="Reset" /> </form> Teraz mi funguje tak, že ak je zaškrknuté mám záujem o schôdzku - na mail mi príde vypísané schodzka : on Ako nastaviť, aby mi na mail prišiel ľubovoľný text, napr schodzka : zakaznik ma zaujem o schodzku? Ďakujem za pomoc |
||
panther Profil |
#2 · Zasláno: 25. 2. 2011, 14:57:19
kesaj:
if (isset $_POST['schuzka']) $schuzka = 'text'; Pozor, na ř. 9 používáš proměnnou schodzka, kterou nemáš nikde předtím definovanou. |
||
kesaj Profil |
#3 · Zasláno: 25. 2. 2011, 16:05:17
panther:
Ahoj. Ďakujem, môj formulár teraz vyzerá takto : <?php $jmeno = $_POST['jmeno'];/*takto proměnné přidělíme to co bylo odesláno ve formuláři metodou POST s atributem name="jmeno"*/ $telefon = $_POST['telefon']; $mail = $_POST['mail']; $predmet = $_POST['predmet']; $schodzka = $_POST['schodzka']; if (isset $_POST['schodzka']) $schodzka = 'Zákazník má záujem o prezentačnú schôdzku.'; $text = $_POST['text']; $sprava ="Meno : $jmeno\r\n Telefon: $telefon\r\n Text: $text\r\n Schodzka: $schodzka\r\n"; $prijemce = "abra@abitec.sk"; /*vyplníte mail, na který se má formulář odesílat*/ $zahlavi = "From: " . $mail . "\r\n" . "Content-Type: text/plain; charset=UTF-8; format=flowed\n" . "MIME-Version: 1.0\n" . "Content-Transfer-Encoding: 8bit\n" . "X-Mailer: PHP\n"; /*zobrazuje pak v mailu jako kdyby vám mail přišel přímo z tohoto mailu, můžete pak tedy rovnou odpovídat na mail, který uživatel uvedl*/ /*takto zajistíme, aby se mail neodeslal, pokud nejsou všechna pole vyplněna*/ if ( !empty($jmeno) and !empty($mail) and !empty($predmet) and !empty($text)) { mail($prijemce, $predmet, $sprava, $zahlavi); echo "<h3>Ďakujeme. Vaša správa bola úspešne odoslaná. V krátkom čase Vás budeme kontaktovať.</h3><br /> <p>Táto stránka bude automaticky presmerována do 5 sekúnd.<br> Pokiaľ sa tak nestane, pokračujte prosím <a href='http://www.abitec.sk'>tu</a><br><br></p>"; echo "<script type=\"text/javascript\"> setTimeout(\"self.location.replace('http://www.abitec.sk')\", 5*1000) </script>"; /*toto se vypíše do dokumentu, pokud se mail odešle*/ } else { echo "<h3>Prosíme Vás, aby ste vyplnili všetky údaje a správu odoslali znova. Ďakujeme.</h3>"; /*toto se vypíše pokud nebudou vyplněna všechna pole, mail se neodešle*/ } ?> - avšak pri odoslaní sa nič neudeje...definoval som si najprv premennú schodzka - dúfam, ze správne, avšak som asi zle umiestnil tvoju podmienku...kde ju mám dať? |
||
panther Profil |
#4 · Zasláno: 25. 2. 2011, 17:10:04
kesaj:
6. řádek je zbytečný, v 7. by měly být kolem argumentu fce isset závorky, neměly? Chybová hláška žádná? Osobně bych tento dvojřádek udělal asi takto: $schodzka = isset($_POST['schodzka']) ? 'Zákazník má záujem o prezentačnú schôdzku.' : ''; |
||
Časová prodleva: 3 dny
|
|||
kesaj Profil |
#5 · Zasláno: 28. 2. 2011, 08:27:32
panther:
Ďakujem za pomoc. Formulár už funguje ako má. |
||
Časová prodleva: 13 let
|
0