Autor Zpráva
kuba_k
Profil
Zdravím
chtěl bych se zeptat jestli je možné (případně jak) odeslaní formuláře na e-mail (přes PHP) pouze s vyplněnými textovými poli.

příklad nevyplněného formuláře:
jméno:
email:
pes:
kocka:
auto:

příklad vyplněného formuláře:
jméno:Pepa
email:
pes:Ferda
kocka:
auto:Škoda

příklad příchozího e-mailu:
jméno:Pepa
pes:Ferda
auto:Škoda

a takhle vypadá příklad mnou používaného scriptu:
<?php

$to = "123@123.23, $email";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "1234";
$mess = "
jméno: ".$jmeno."
e-mail: ".$prijmeni."
pes: ".$pes."
kocka: ".$kocka."
auto: ".$auto."

";

mail ($to, $subject, $mess, $extra);

?>
<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=1234.html">
</head></html>


Moc díky za jakoukoli pomoc.
PS:PHP moc neovládám...
Medvídek
Profil
if(!empty($_POST["textarea"]))
{
kod na mail
}
else
{
echo "nevyplnili jste textarea";
}
kuba_k
Profil
Já bych ale potřeboval jak odeslat pouze vyplněné kolonky tzn. aby se v e-mailu podle příkladu vůbec nezobrazilo:
email:
kocka:
mark
Profil
možno by sa to dalo urobiť aj tak (ešte som neodskúšal, či to funguje) , že rovno v príkaze Mail() do hodnôt napíšeš podmienu bez else, čiže niečo ako:
Mail(if (!empty($_POST["textarea"])): $_POST["textarea"]; endif;, ďalšia premenná, atď);
Medvídek
Profil
Nebo trochu slozitejc :D

$to = "123@123.23, $email";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "1234";

if(empty($_POST["jmeno"]))
{
$jmeno="";
}
else
{
$jmeno="Jméno: ".$_POST["jmeno"]."<br />";
}


if(empty($_POST["email"]))
{
$jemail="";
}
else
{
$jemail="JmEmail: ".$_POST["jmeno"]."<br />";
}

atd atd atd

$mess = $jmeno.$email;  atd atd atd


mail ($to, $subject, $mess, $extra);
Alphard
Profil
Medvídek
nápad dobrý, ale šlo by to trochu zjednodušit

$to = "123@123.23, $email";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "1234";
$zprava = "";

if(!empty($_POST["jmeno"]))$zprava.="Jméno: ".$_POST["jmeno"]."<br />";
if(!empty($_POST["email"]))$zprava.="Email: ".$_POST["email"]."<br />";
...

mail ($to, $subject, $zprava, $extra);
Anonymní
Profil *
Medvídek
nápad dobrý, ale šlo by to trochu zjednodušit
$to = "123@123.23, $email";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "1234";
$zprava = "";
if(!empty($_POST["jmeno"]))$zprava.="Jméno: ".$_POST["jmeno"]."<br />";
if(!empty($_POST["email"]))$zprava.="Email: ".$_POST["email"]."<br />";
...
mail ($to, $subject, $zprava, $extra);

Jo tohle se zdá že bude super ale z nějakýho důvodu mi to nechce odřádkovat a <br /> se objeví i v e-mailu
Medvídek
Profil
Moje chyba, zkus místo </br > dát \n <br /> pouze v případě html mailu :)
kuba_k
Profil
Tak teď už je to dokonalý...
teď už to snad dám dohromady...
moc dík
petrnelli
Profil *
Vím že toto vlákno už je staré ale mám podobný problém a tak to sem vložím snad se taky doberu k nějakému výsledku :-)

Sestavil jsem si ze zdejších informací funkční formulář který se odesílá na email, ale taky nechci aby se odesílaly informace které nebyly vybrány.
Formulář mám složený hlavně z checkbox . Chtěl bych aby když nezakliknu žádné okýnko v daném typu tak aby se vubec neodeslal.
Nevadí mi že příjde prázdný ale vadí mi hláška : Warning: implode(): Invalid arguments passed in /CORE/web.cz/www/odeslat.php on line 6 Děkujeme, Vaš požadavek byl odeslán. Brzy se Vám ozveme
Nevím jak dál poradí mi prosím někdo? Děkuji
odesílací soubor je zde:

<?

$typM = implode ('+', $_POST ['M']);
$typP = implode ('+', $_POST ['P']);
$typO = implode ('+', $_POST ['O']);
$typFr = implode ('+', $_POST ['Fr']);
$typPr = implode ('+', $_POST ['Pr']);
$typV = implode ('+', $_POST ['V']);
$typD = implode ('+', $_POST ['D']);


$jmeno = $_POST ['jmeno'];
$email = $_POST ['email'];
$telefon = $_POST ['telefon'];

$spam = $_POST ['spam'];
 
if  ($jmeno!="" and  $email!="") {
    
    Mail ("email@email.cz", "Kontakt na ". $jmeno ."",
 
    "<strong>Jméno zákazníka: </strong>" . $jmeno . 
    "<br><strong>Telefonní kontakt: </strong>" . $telefon . 
    "<br><br><strong>Majetkové: </strong>" . $typM . 
        "<br><br><strong>Provoz: </strong>" . $typP . 
            "<br><br><strong>Odpovědnost: </strong>" . $typO . 
                "<br><br><strong>Finance: </strong>" . $typFr . 
                    "<br><br><strong>Přeprava: </strong>" . $typPr . 
                        "<br><br><strong>Auta: </strong>" . $typV . 
                            "<br><br><strong>Další: </strong>" . $typD . 
   
   
                    
    "<br>".$zpráva, 
    "From : " .$email. "\nContent-type : text/html;charset=utf-8\n");
 
    echo  "Děkujeme, Vaš požadavek byl odeslán."; 
    }
    else  {
    echo  "Váš požadavek se nepodařilo odeslat; pravděpodobně jste nevyplnili všechny údaje."; 
    }
?>

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: