在PHP POST中恢复数据

问题描述 投票:0回答:1

我的php服务器有一个小问题。我正在尝试通过$ POST方法通过电子邮件发送我恢复的数据。如果我这样做,代码工作,邮件发送:

<?php
header('Access-Control-Allow-Origin: *');
header('Content-type: text/json');
$nom = "";
if( isset($_POST['votre_nom']))
{
    $nom = htmlspecialchars($_POST['votre_nom']);
}
require_once('class.phpmailer.php');
require_once('class.smtp.php');
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "!Paswword";
$mail->SetFrom("[email protected]", "TEST", 0);
$mail->Subject = "Test";
$mail->Body = "hello" . nom . ;
$mail->AddAddress("[email protected]", "Person One");
$mail->AddCC('[email protected]', 'Person Two');

 if(!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
 } else {
    echo "Message has been sent";
 }
?>

但是当我添加数据时,它会给我一个500错误,如下面的代码所示:

<?php
header('Access-Control-Allow-Origin: *');
header('Content-type: text/json');
require_once('class.phpmailer.php');
require_once('class.smtp.php');
$nom = "";
$email = "";
if(isset($_POST['votre_nom']) && isset($_POST['votre_email']))
{
    $nom = htmlspecialchars($_POST['votre_nom']);
    $email = htmlspecialchars($_POST['votre_email']);
}   

$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "!Password";
$mail->SetFrom("[email protected]", "TEST", 0);
$mail->Subject = "TEST";
$mail->Body = "Prénom/Nom : " . $nom . 
              "</br>Email : " . $email .;
$mail->AddAddress("[email protected]", "Person One");
$mail->AddCC('[email protected]', 'Person Two');

 if(!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
 } else {
    echo "Message has been sent";
 }

?>

我不明白错误的来源,因为当我检查我的JSON时,一切都在那里..

如果有人能给我一个找到解决方案的轨道请:)

谢谢

php json email post
1个回答
1
投票

错误位于以下行的级别:

"</br>Email : " . $email .;

必须按如下方式完成:

"</br>Email : " . $email . "";
© www.soinside.com 2019 - 2024. All rights reserved.