Autor | Zpráva | ||
---|---|---|---|
HonzaKo Profil |
Ahoj, mohl by mi prosím někdo poradit, jak následující skript upravit tak, aby všechna odesílaná data (snad kromě předmětu, ale to je už jedno) byla povinná? Zatím jsem narazil pouze na využití JS, což se mi nechce používat. Děkuji
<? $zprava = "Název subjektu: {$_POST['subjekt']}\r\n"; $zprava .= "Region: {$_POST['region']}\r\n"; $zprava .= "Vybraný tarif: {$_POST['tarif']}\r\n"; $zprava .= "Jméno: {$_POST['jmeno']}\r\n"; $zprava .= "Pozice: {$_POST['pozice']}\r\n"; $zprava .= "Kontakt: {$_POST['kontakt']}\r\n"; $zprava .= "Podrobnosti: {$_POST['podrobnosti']}\r\n"; $predmet = "online OBJEDNÁVKA prezentace"; $kontakt .= "{$_POST['kontakt']}\r\n"; if ($zprava!="") { Mail("info@konferencniakce.cz", $predmet, $zprava, "From: " . $kontakt); echo "<p><strong>Vaše poptávka byla úspěšně odeslána, děkujeme. Nyní budete přesměrováni zpět.</strong>.</p>"; } else { echo "<p>Vaši poptávku se <strong>nepodařilo odeslat</strong>Pravděpodobně jste nevyplnili všechny údaje. Použijte tlačítko zpět ve Vašem prohlížeči k doplnění údajů.</p>"; } ?> </p> |
||
GeneralDv Profil |
#2 · Zasláno: 6. 12. 2009, 09:58:54 · Upravil/a: GeneralDv
Stačí přidat podmínku
<?php if (empty($_POST["subjekt"])) { echo "blábol"; } elseif (empty($_POST["jmeno"])) { echo ""; // ..... } else { //další podmínka pro odeslání emailu } ?> Dával bych si pozor taky na zpětná lomítka.. |
||
Alphard Profil |
#3 · Zasláno: 6. 12. 2009, 10:02:15
<?php if (!empty($_POST['subjekt']) && !empty($_POST['region']) && !empty($_POST['tarif']) && !empty($_POST['jmeno']) && !empty($_POST['pozice']) && !empty($_POST['kontakt']) && !empty($_POST['podrobnosti'])) { $zprava = "Název subjektu: {$_POST['subjekt']}\r\n"; $zprava .= "Region: {$_POST['region']}\r\n"; $zprava .= "Vybraný tarif: {$_POST['tarif']}\r\n"; $zprava .= "Jméno: {$_POST['jmeno']}\r\n"; $zprava .= "Pozice: {$_POST['pozice']}\r\n"; $zprava .= "Kontakt: {$_POST['kontakt']}\r\n"; $zprava .= "Podrobnosti: {$_POST['podrobnosti']}\r\n"; $predmet = "online OBJEDNÁVKA prezentace"; $kontakt = "{$_POST['kontakt']}\r\n"; if(mail("info@konferencniakce.cz", $predmet, $zprava, "From: " . $kontakt)) { echo "<p><strong>Vaše poptávka byla úspěšně odeslána, děkujeme. Nyní budete přesměrováni zpět.</strong>.</p>"; } else { echo "<p><strong>Vaše poptávku se nepodařilo odeslat. Chyba pravděpodobně není na vaší straně. Zkuste to za chvíli nebo kontaktujte admina na adrese admin@example.cz</strong>.</p>"; } } else { echo "<p>Nevyplnili jste všechny údaje, vaše poptávka nebyla odeslána. Použijte tlačítko zpět ve Vašem prohlížeči k doplnění údajů.</p>"; } |
||
HonzaKo Profil |
#4 · Zasláno: 6. 12. 2009, 10:24:37
Super, moc děkuji. jde ještě nějak nastavit, aby podmínka platila i pro případ, že by někdo nezměnil obsah předvyplněného formuláře? Rozuměj:
Z úspory místa jsou názvy polí vepsány přímo do pole. Pokud host klikne rovnou na odeslat, odešlou se definované pole, na mail tedy přijde Název subjektu: Název subjektu Region: Region .... Jde toto nejak osetrit, aby se formular neodeslal, pokud budou stále vepsána tato spojení? Děkuji. |
||
Alphard Profil |
#5 · Zasláno: 6. 12. 2009, 10:27:26
Do podmínky stačí doplnit $_POST['region'] != "Region"
|
||
HonzaKo Profil |
#6 · Zasláno: 6. 12. 2009, 10:37:45
Jak to tam mám prosím doplnit? Když to tam vložím, přestane mi skript fungovat
|
||
Alphard Profil |
#7 · Zasláno: 6. 12. 2009, 10:39:53
if (!empty($_POST['subjekt']) && $_POST['subjekt'] != "Název subjektu" && ...) |
||
HonzaKo Profil |
#8 · Zasláno: 6. 12. 2009, 10:47:40
Geniální. Moc děkuji, nyní vše funguje perfektně. Ještě jsem se chtěl zeptat, zda by šlo teoreticky udělat to, aby se po vypsání výsledků z formuláře auomaticky skript přesměroval zpět na stránku
|
||
Časová prodleva: 14 let
|
0