我查了一些关于这个问题的其他问题,但没有一个问题与我的相似。 这是我用的代码
<?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;时,没有任何反应。页面保留在同一位置,表单信息无处可去。
答案 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服务器中时才有效,如果您位于不能为您工作的本地服务器中。