Autor | Zpráva | ||
---|---|---|---|
robbie Profil * |
Marně si lámu hlavu, pročpak to nefunguje, jednoduchý script na formulář:
if(isset($_POST['jmeno'])&&($_POST['adresa'])&&($_POST['mesto'])&&($_POST['psc'])&&($_POST['email'])) { $jmeno = $_POST['jmeno']; $adresa = $_POST['adresa']; $mesto = $_POST['mesto']; $psc = $_POST['psc']; $email = $_POST['email']; if (!empty("jmeno") && !empty("adresa") && !empty("mesto") && !empty("psc")&& !empty("email")){ $to="michelin333@seznam.cz"; $subject="Žádost o zaslání Petice-formuláře"; $body = "Jméno a příjmení:".$jmeno.'\n'."Adresa:".$adresa.'\n'."Město:".$mesto.'\n'."PSČ:".$psc; $headers="From:".$email; if(mail($to,$subject,$body, $headers)){ echo "Formulář byl úspěšně odeslán. Petici Vám zašleme co nejdříve."; } else{ echo"Chyba. Formulář nebyl odeslán!"; } }else{ echo "Prosím vyplňte všechna pole!"; } } ?> Tenhle php soubor mam samozřejme ve slozce s index.html a po odeslání dat je prázdná stránka a mail nedojde. Lámu si s tím hlavu,a le proste uz nevím. |
||
denCo Profil |
#2 · Zasláno: 29. 5. 2014, 20:45:34
empty("email"),empty("psc") je čo sa funkciu? formulár vždy odošle všetky hodnoty, preto prvá podmienka je úplne zbytočná...
$jmeno = $_POST['jmeno']; $adresa = $_POST['adresa']; $mesto = $_POST['mesto']; $psc = $_POST['psc']; $email = $_POST['email']; if (!empty($jmeno) && !empty($adresa) && !empty($mesto) && !empty($psc)&& !empty($email)){ $to="michelin333@seznam.cz"; $subject="Žádost o zaslání Petice-formuláře"; $body = "Jméno a příjmení:".$jmeno.'\n'."Adresa:".$adresa.'\n'."Město:".$mesto.'\n'."PSČ:".$psc; $headers="From:".$email; if(mail($to,$subject,$body, $headers)){ echo "Formulář byl úspěšně odeslán. Petici Vám zašleme co nejdříve."; } else{ echo"Chyba. Formulář nebyl odeslán!"; } }else{ echo "Prosím vyplňte všechna pole!"; } } ?> |
||
robbie Profil * |
#3 · Zasláno: 29. 5. 2014, 20:55:38
je tam !empty , a jak to prosím vyřeší muj problém, že script nic neodešle do emailu?
|
||
Jan Tvrdík Profil |
#4 · Zasláno: 29. 5. 2014, 21:26:51
robbie:
Pokud nemáš PHP 5.5 a novější, tak skript uvedený v prvním příspěvku skončí parse errorem, tedy se vůbec neprovede. |
||
Joker Profil |
#5 · Zasláno: 29. 5. 2014, 21:36:42
denCo:
„formulár vždy odošle všetky hodnoty, preto prvá podmienka je úplne zbytočná“ Odešle ty, které existují ve formuláři. Takže ta podmínka zbytečná není. robbie: „po odeslání dat je prázdná stránka a mail nedojde“ Viz Jan Tvrdík, !empty("jmeno") je jednak nesmysl (řetězec "jmeno" nikdy není prázdný, takže nemá smysl takovou podmínku vůbec testovat) a jednak do PHP 5.5 to je chyba syntaxe (empty vyhodnocuje pouze proměnné). Doporučuji pro vývoj skriptů používat prostředí se zapnutým display_errors a s error_reporting = -1 (nebo E_ALL od PHP 5.4). |
||
robbie Profil * |
Tak jsem to trošku překopal, ale stejně mic nic do mailu nedojde a po odeslání dat z formuláře se zobrazí stránka, kde jsou špatně zobrazení české znaky, napíše to , že formulář odeslán, ale v mailu nic nemám. Adresu meho mailu mám dobře, tak nevím jak dál.
<?php if(isset($_POST['jmeno'])&&($_POST['adresa'])&&($_POST['mesto'])&&($_POST['psc'])&&($_POST['email'])) { $jmeno = $_POST['jmeno']; $adresa = $_POST['adresa']; $mesto = $_POST['mesto']; $psc = $_POST['psc']; $email = $_POST['email']; if(mail($to,$subject,$body, $headers)){ $to="michelin333@seznam.cz"; $subject="Žádost o zaslání Petice-formuláře"; $body = "Jméno a příjmení:".$jmeno.'\n'."Adresa:".$adresa.'\n'."Město:".$mesto.'\n'."PSČ:".$psc; $headers="From:".$email; echo "Formulář byl úspěně odeslán. Petici Vám zašleme co nejdříve."; } else{ echo"Chyba. Formulář nebyl odeslán!"; } } ?> |
||
juriad Profil |
#7 · Zasláno: 30. 5. 2014, 11:16:12
Řádky 13 až 16 přesuň před odeslání emailu (10. řádek).
A body změň na: $body = "Jméno a příjmení:".$jmeno."\nAdresa:".$adresa."\nMěsto:".$mesto."\nPSČ:".$psc; |
||
robbie Profil * |
#8 · Zasláno: 30. 5. 2014, 11:26:48
hmm taky nefunguje
|
||
Časová prodleva: 10 let
|
0