简单的sendmail代码上的php语法错误

时间:2012-12-19 09:11:13

标签: php syntax sendmail

所以Dreamweaver告诉我,我在第5,8,10和12行有语法错误。但我不明白为什么?

<?php
if(isset($_POST['submit'])) (
    $msg = 'Name: ' .$_POST['FirstName'] .$_POST['LastName'] ."\n" 
    .'Email: ' .$_POST['Email'] ."\n" 
    .'Message: ' .$_POST['Message'];
    mail('email@me.com', 'Message from website', $msg);
    header('location: contact-thank-you.php');
)
else (
header('location: contact.php');
exit(0);
)
)       
?>

3 个答案:

答案 0 :(得分:6)

使用:

if () {
  ....
} else {
  ....
}

other than

if () (
  ....
) else (
  ....
)

答案 1 :(得分:3)

将代码更改为

if(isset($_POST['submit'])) {
    $msg = 'Name: ' .$_POST['FirstName'] .$_POST['LastName'] ."\n" 
    .'Email: ' .$_POST['Email'] ."\n" 
    .'Message: ' .$_POST['Message'];
    mail('email@me.com', 'Message from website', $msg);
    header('location: contact-thank-you.php');
}
else {
header('location: contact.php');
exit(0);
}

您需要{}而不是(&amp; )

答案 2 :(得分:0)

检查firstname和lastname之间的串联字符串。我想字符串连接中存在错误。尝试做“名字:”。 $ _POST ['firstname']。 “”。$ _ POST ['lasname']。 “\ n”...... 你已经形成了两个不同引号的字符串,在一个你使用单引号的地方形成一个字符串,你进一步使用双引号尝试清理它。始终使用一致的引号,并且使用双引号进行字符串连接总是一个好主意。它实际上提高了代码的可读性。

希望这有帮助