Autor | Zpráva | ||
---|---|---|---|
Anhad Profil |
#1 · Zasláno: 8. 12. 2013, 13:05:45
Ahoj lidi mam tento odesílací script
<? $to = "jirka.lisak.95@seznam.cz"; $subject = "Dotaz"; $message = "Jméno: ".$jmeno."\nAdresa:".$adresa."\nTelefon: ".$telefon."\nMail: ".$mail."\nZpráva: ".$zprava." \n"; $extra = "From: $mail Reply-To: $mail Content-Type: text/plain; charset=\"windows-1250\""; if( mail($to, $subject, $message, $extra) ) if (!empty($jmeno['jmeno']) && !empty($mail['mail'])) {echo "OK - mail odeslan";} else {echo "Zřejmě ste nevyplnili všechny povinné údaje,prosím vraťte se tlačítkem Zpět a zkontrolujte vyplněný formulář.";} ?> Jde mi o to, že když nevyplnim vše napíše mi to to co má, že mam něco špatně ale stejně to odešle prázdný email.Nevíte někdo prosím co tam přidat nebo upravit aby to nedělalo.Díky moc |
||
abc Profil |
if (empty($jmeno) || empty($message)) { echo "Zřejmě ste nevyplnili všechny povinné údaje, prosím vraťte se tlačítkem Zpět a zkontrolujte vyplněný formulář . "; } else { if (mail($to, $subject, $message, $extra)) { echo "Odesláno"; } else { echo "Nepodařilo se odeslat"; } } |
||
Anhad Profil |
#3 · Zasláno: 8. 12. 2013, 13:19:44 · Upravil/a: Anhad
Super díky moc :)
A nnevíš prosímtě jak eště udělat aby se po odeslání formuláře ukázal ten nápis Odesláno a po chvilce se to vrátilo zpátky na stránku?? |
||
breeta Profil |
#4 · Zasláno: 8. 12. 2013, 18:22:03
můžeš použít:
header( "refresh:5;url=adresa.php" ); |
||
okolojsoucí Profil |
#5 · Zasláno: 8. 12. 2013, 18:23:27
breeta:
To je ale jako meta tag, header dělá akci ihned maximálně může použít location |
||
breeta Profil |
#6 · Zasláno: 8. 12. 2013, 18:26:05
okolojsoucí:
To udělá to že ze po 5 sekundách přesměruje stránka na danou adresu. |
||
okolojsoucí Profil |
#7 · Zasláno: 8. 12. 2013, 18:28:55
breeta:
Ale pochop to, že header posílá informace prohlížeči. A to co jsi napsal je meta tag který je jako html. Dalo by se to vyřešit takto http://php.net/manual/en/function.header.php#108111 A nebo před tím dát funkci sleep() a potom klasický header('Location'); |
||
jenikkozak Profil |
#8 · Zasláno: 8. 12. 2013, 19:24:00
okolojsoucí:
„A nebo před tím dát funkci sleep() a potom klasický header('Location');“ Anhad chtěl dosáhnout něčeho jiného. Chce, aby se po odeslání e-mailu zobrazil nápis Odesláno a až pak došlo k přesměrování asi zpět na formulář. Pokud před voláním funkce sleep donutíš PHP k vypsání hlášky, pokus o přesměrování skončí hláškou „headers already sent by…“ |
||
Časová prodleva: 10 let
|
0