奇怪的WAMP本地主机错误
我正在尝试制作一个表单,将信息发送给我。这是我的代码。奇怪的WAMP本地主机错误
PHP:
$to = "[email protected]";
$subject = "Comanda de Magneti";
$name = $_POST["nume"] . $_POST["prenume"];
$email = $_POST["email"];
$phone = $_POST["telefon"];
$adress = $_POST["adresa"];
$message = <<<EMAIL
Comanda de Magneti de la $name
Adresa de E-mail este $email
Numarul de telefon este $phone
Adresa este $adress
EMAIL;
$header ="$email";
if($_POST){
mail($to, $subject, $message, $header);
$feedback = "Multumesc pentru comanda!"
}
HTML
<div class="form-group">
<form style="font-size: 1.25em; margin-left: 20px;" method="post" action="#">
<label for="nume">Nume<span style="color: red;">*</span></label> <input name="nume" id="nume" class="form-control" type="text" placeholder="Nume" title="nume">
<label for="prenume">Prenume<span style="color: red;">*</span></label> <input name="prenume" id="prenume" class="form-control" type="text" placeholder="Prenume" title="prenume">
<label for="email">E-Mail</label><span style="color: red;">*</span><input name="email" id="email" class="form-control" type="email" placeholder="E-Mail" title="email">
<label for="telefon">Numar Telefon</label><input name="telefon" id="telefon" class="form-control" type="number" placeholder="Numar Telefon" title="telefon">
<label for="adresa">Adresa</label><span style="color: red;">*</span><input name="adresa" id="adresa" class="form-control" type="text" placeholder="Strada/Numar/Localitate/Judet" title="adresa"> <br />
<input name="submit" class="btn-default" type="submit" value="Comanda!"></input>
</form>
<p id="feedback"><?php echo $feedback ?> </p>
</div>
我得到的错误是:“解析错误:语法错误,在C意想不到的 '}':\ wamp64 \ WWW \测试\ 30线上的comanda-magneti.php“
这很奇怪,因为我非常肯定如果没有大括号就不能正确运行代码。
更改此:
$feedback = "Multumesc pentru comanda!"
到
$feedback = "Multumesc pentru comanda!";
你忘了加分号。分号是行为在PHP中的行终止符,当然,您可以跳过它的最后一行。但在这种情况下,您在此之后关闭花括号。
如果您正在检查下面的内容并访问上面的POST属性,请将if($ _ POST)移动到顶端。
因此,像:
if(isset($_POST)){
$to = "[email protected]";
$subject = "Comanda de Magneti";
$name = (isset($_POST["nume"]) ? $_POST["nume"] : '') . isset($_POST["prenume"]) ? $_POST["prenume"] : '' ;
$email = isset($_POST["email"]) ? $_POST["email"];
$phone = isset($_POST["telefon"]) ? $_POST["telefon"] : '';
$adress = isset($_POST["adresa"]) ? $_POST["adresa"] : '';
$message = <<<EMAIL
Comanda de Magneti de la $name
Adresa de E-mail este $email
Numarul de telefon este $phone
Adresa este $adress
EMAIL;
$header ="$email";
mail($to, $subject, $message, $header);
$feedback = "Multumesc pentru comanda!"
}
而且如果可能的话做必填字段POST变量必要的检查。
你知道解释的答案往往会吸引(+)选票(如果你也参加了)。有一个原因,为什么应该在那里使用这个分号。除非你不感兴趣,否则这将被认为是一个非常低质量的答案。只是一个堆栈protip ;-)提示:http://php.net/manual/en/language.basic-syntax.instruction-separation.php –
好吧,工作!感谢那。但现在它说“数”,“prenume”,“电子邮件”,“telefon”和“adresa”是未定义的。 – Blaze26
好的,我已经编辑了我的答案,它也涵盖了您的查询。 @ Fred-ii-我会照顾它的。谢谢! –
丢失';'在大括号前 –
[PHP:“Notice:Undefined variable”和“Notice:Undefined index”]可能重复(http://*.com/questions/4261133/php-notice-undefined-变量和通知未定义索引) –
^,在修复缺少的分号时给定OP的新错误(在下面给出的答案中)。这个问题是由2个帐户脱离主题,甚至在修复之前。 –