【问题标题】:php syntax errors on simple sendmail code [closed]简单的sendmail代码上的php语法错误[关闭]
【发布时间】:2012-12-19 09:11:13
【问题描述】:

所以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);
)
)       
?>

【问题讨论】:

  • 运行代码,看看 PHP 有没有报错。
  • 您使用的是(),而不是花括号。

标签: php syntax sendmail


【解决方案1】:

使用:

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

other than

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

【讨论】:

    【解决方案2】:

    把代码改成

    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);
    }
    

    您需要有{} 而不是()

    【讨论】:

    • 对问题的解释会比spot-the-difference更有帮助。
    【解决方案3】:

    检查名字和姓氏之间的连接字符串。我想错误存在于字符串连接中。尝试做 "Name:" 。 $_POST['名字'] 。 " " .$_POST['lasname'] 。 “\n” .... 您已经用两个不同的引号形成了字符串,以便在您使用单引号的地方形成一个字符串,并且您正在使用双引号尝试清理它。始终使用一致的引号,并且将双引号用于字符串连接始终是一个好主意。它实际上提高了代码的可读性。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-05
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 2011-12-18
      • 2012-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多