| 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: 12 let
|
|||
0