Autor Zpráva
Anhad
Profil
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ář.";}
    
?>
Je tam podmínka pro to aby byla nějaká pole nutná v mém případě je to jmeno a email.
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
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
můžeš použít:
header( "refresh:5;url=adresa.php" );
okolojsoucí
Profil
breeta:
To je ale jako meta tag, header dělá akci ihned maximálně může použít location
breeta
Profil
okolojsoucí:
To udělá to že ze po 5 sekundách přesměruje stránka na danou adresu.
okolojsoucí
Profil
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
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…“

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: