我有一个工作建议脚本,我只是想添加一个名为fename的额外字段,现在我得到这样的错误:
解析错误:语法错误,意外的$ end in
这是html表单:
<form action="action.php" method="post">
Uw naam:<br />
<input type="text" name="name" size="25"><br />
<br />
Uw e-mail adres:
<br />
<input type="text" name="email" size="25"><br />
<br />
De naam van uw kennis of vriend:
<br />
<input type="text" name="fename" size="25"><br />
<br />
Het e-mail adres van uw vriend of kennis:<br />
<input name="femail" type="text" size="25"><br />
<br />
Bijzonderheden:<br>
<textarea rows="5" name="recon" cols="75">
</textarea><br />
<input type="submit" name="submit" value="Aanbevelen!">
</form>
这是action.php
<?
if (!$_POST['name']) {echo "Je moet wel je naam invullen a.u.b."; } else {
if (!$_POST['email']) {echo "Je moet wel je e-mail adres invullen a.u.b."; } else {
if (!$_POST['fename']) {echo "Naam van uw vriend of vriendin invullen."; } else {
if (!$_POST['femail']) {echo "Je moet wel het e-mail adres van uw vriend/familie of kennis invullen. a.u.b."; }
else{
$name=$_POST['name'];
$email=$_POST['email'];
$fename=$_POST['fename'];
$femail=$_POST['femail'];
$recon=$_POST['recon'];
$recon=htmlspecialchars($recon);
$headers = "From: $email\r\nReply-To: $femail\r\n";
PRINT "Bedankt $name dat u ons heeft aanbevolen.";
mail("$femail", "Computerhulp is nabij!", "
Beste $name , $fename heeft u ons aanbevolen.
$recon
",$headers);
}
}
}
?>
答案 0 :(得分:5)
您需要另一个}
,因为您添加了另一个嵌套的if-else。
然而,使用elseif
进行重构要好得多,因为这些都是针对这种类型的链接而设计的:
<?php
if (!$_POST['name']) {echo "Je moet wel je naam invullen a.u.b."; }
elseif (!$_POST['email']) {echo "Je moet wel je e-mail adres invullen a.u.b."; }
elseif (!$_POST['fename']) {echo "Naam van uw vriend of vriendin invullen."; }
elseif (!$_POST['femail']) {echo "Je moet wel het e-mail adres van uw vriend/familie of kennis invullen. a.u.b."; }
else {
$name=$_POST['name'];
$email=$_POST['email'];
$fename=$_POST['fename'];
$femail=$_POST['femail'];
$recon=$_POST['recon'];
$recon=htmlspecialchars($recon);
$headers = "From: $email\r\nReply-To: $femail\r\n";
PRINT "Bedankt $name dat u ons heeft aanbevolen.";
mail("$femail", "Computerhulp is nabij!", "
Beste $name , $fename heeft u ons aanbevolen.
$recon
",$headers);
}
?>
答案 1 :(得分:1)
编写代码时,请将块保持最小。如果您使用IDE,那么它会在您错过}
时告诉您。使用一致的括号样式和缩进来帮助您发现错误。
以上是您的代码,但更容易找到错误:
<?php
$error = 0;
if (!$_POST['name']) {
echo "Je moet wel je naam invullen a.u.b.";
$error = 1;
}
if (!$_POST['email']) {
echo "Je moet wel je e-mail adres invullen a.u.b.";
$error = 1;
}
if (!$_POST['fename']) {
echo "Naam van uw vriend of vriendin invullen.";
$error = 1;
}
if (!$_POST['femail']) {
echo "Je moet wel het e-mail adres van uw vriend/familie of kennis invullen. a.u.b.";
$error = 1;
}
if ( $error == 0 ) {
$name=$_POST['name'];
$email=$_POST['email'];
$fename=$_POST['fename'];
$femail=$_POST['femail'];
$recon=$_POST['recon'];
$recon=htmlspecialchars($recon);
$headers = "From: $email\r\nReply-To: $femail\r\n";
PRINT "Bedankt $name dat u ons heeft aanbevolen.";
mail("$femail", "Computerhulp is nabij!", "
Beste $name , $fename heeft u ons aanbevolen.
$recon
",$headers);
}
了解我如何使用$error
来阻止嵌套if
- else
。