PHP代码块不发送邮件

时间:2016-08-05 08:26:18

标签: php html

我查了一些关于这个问题的其他问题,但没有一个问题与我的相似。 这是我用的代码

<?php
if (isset($_POST["submit"]) && !empty($_POST["telefon"]){
    $msg = "Nume: " .$_POST["nume"] ." ". $_POST["prenume"] ."\n"
        ."Email: " .$_POST["email"] ."\n"
        ."Telefon: " .$_POST["telefon"] ."\n"
        ."Adresa: " .$_POST["adresa"];
        mail("not-gonna-show-my-mail-adress-but-its-valid", "Comanda de Magneti", $msg);
        header("location: multumim.php");
} else if (isset($_POST["submit"]) && empty($_POST["telefon"])){
    $msg = "Nume: " .$_POST["nume"] ." ". $_POST["prenume"] ."\n"
        ."Email: " .$_POST["email"] ."\n"
        ."Adresa: " .$_POST["adresa"];
        mail("not-gonna-show-my-mail-adress-but-its-valid", "Comanda de Magneti", $msg);
        header("location: multumim.php");
}else{
    header("location: comanda-magneti.html");
    exit(0);
}
?>

HTML

        <form style="font-size: 1.25em; margin-left: 20px;" method="post" target="comenzi.php">
            <label for="nume">Nume<span style="color: red;">*</span></label> <input id="nume" class="form-control" type="text" placeholder="Nume" title="nume">
            <label for="prenume">Prenume<span style="color: red;">*</span></label> <input id="prenume" class="form-control" type="text" placeholder="Prenume" title="prenume">
            <label for="email">E-Mail</label><span style="color: red;">*</span><input id="email" class="form-control" type="email" placeholder="E-Mail" title="email">
            <label for="telefon">Numar Telefon</label><input id="telefon" class="form-control" type="number" placeholder="Numar Telefon" title="telefon">
            <label for="adresa">Adresa</label><span style="color: red;">*</span><input id="adresa" class="form-control" type="text" placeholder="Strada/Numar/Localitate/Judet" title="adresa"> <br />
            <input class="btn-default" type="submit" value="Comanda!"></input>
        </form>

基本上,我有5个输入字段,一个用于名字,一个用于姓氏,一个用于电子邮件,一个用于电话号码(可选),另一个用于地址。 在PHP代码中,我创建了一个if语句,如果所有输入字段都已完成,则该语句有效;如果未输入电话号码,则使用另一个if语句。

表单完成后,它应该将用户发送给&#34;谢谢你&#34;页面,然后只是发送邮件给我。当我点击&#34;提交&#34;时,没有任何反应。页面保留在同一位置,表单信息无处可去。

4 个答案:

答案 0 :(得分:1)

您的所有输入都没有name属性,因此例如$_POST["telefon"]将始终为空。

你需要:

<input name="telefon" id="telefon" class="form-control" type="number" placeholder="Numar Telefon" title="telefon">
       ^^^^^^^^^^^^^^ this
// etc.

您应该添加错误处理并检查例如mail()函数的返回值,以查看每个阶段发生的情况。

答案 1 :(得分:0)

在input = submit

中插入名称
<input class="btn-default" type="submit" value="Comanda!" name="submit"></input>

答案 2 :(得分:0)

您的表单标记缺少action - 属性(表单提交的目标)。 target - 属性是用于打开target-url的浏览器窗口。

答案 3 :(得分:0)

邮件php代码仅在您位于在线Web服务器中时才有效,如果您位于不能为您工作的本地服务器中。