PHP-发送一封电子邮件有效,但发送两封电子邮件获胜';T

PHP-发送一封电子邮件有效,但发送两封电子邮件获胜';T,php,email,Php,Email,考虑以下代码: <?php //Original code: http://myprogrammingblog.com/2013/08/27/how-to-make-a-contact-form- with-bootstrap-3-jqueryphphtml5jqbootstrapvalidation/ //Modified to send email confirmation to bidder and to write file with data // check if f

考虑以下代码:

<?php
//Original code: http://myprogrammingblog.com/2013/08/27/how-to-make-a-contact-form-     with-bootstrap-3-jqueryphphtml5jqbootstrapvalidation/
//Modified to send email confirmation to bidder and to write file with data

// check if fields passed are empty
if(empty($_POST['name'])        ||
   empty($_POST['firstName'])   ||
   empty($_POST['email'])       ||
   empty($_POST['phone'])       ||
   empty($_POST['message'])     ||
   empty($_POST['date'])        ||
   empty($_POST['itemNo'])      ||
   empty($_POST['itemName'])    ||
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {
echo "No arguments Provided!";file_put_contents('results.txt', "No arguments Provided!", FILE_APPEND);
return false;
   }

$name = $_POST['name'];
$firstName = $_POST['firstName'];
$email_address = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$date = $_POST['date'];
$itemNo = $_POST['itemNo'];
$itemName = $_POST['itemName'];

// Require to process DB access and updates
require_once ('insertBid.php');

// create email notice and send it to administrator
$to = '******@gmail.com'; //admin email
$email_subject = "Nouvelle enchère de l'encan silencieux Équipe 300PAS";
$email_body = "Tu as reçu une nouvelle enchère.\n\n".
              "Voici les details :\n".
              "Nom: $firstName $name \n".
              "Date de la nouvelle enchère : $date \n".
              "Description de l'enchère : $itemNo - $itemName \n".
              "Courriel : $email_address\n".
              "Téléphone : $phone\n".
              "Montant soumis : $message $";
$headers = "From: ******@yveschaput.com\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);

// create email confirmation and send it to bidder  
$to = $email_address; // bidder's email
$email_subject = "Confirmation de votre enchère";
$email_body = "Bonjour $firstName $name, \n\n".
              "Merci pour votre offre. \n".
              "Voici les details:\n \nVotre offre est pour : $itemNo - $itemName \n".
              "Date de votre offre : $date \n".
              "Montant de votre offre : $message $".
              "\n\nSi vous êtes le plus haut soumissionaire, vous serez averti par courriel ou téléphone ($phone) à la fin de l'enchère.".
              "\n\nL'équipe 300PAS Trophé Rose des Andes.";
$headers = "From: ******@yveschaput.com\n";
$headers .= "Reply-To: ******@yveschaput.com";
mail($to,$email_subject,$email_body,$headers);
return true;            
?>

任何帮助都是非常感谢的。谢谢。

该死!我在我的PHP文件夹中发现了一个错误日志文件,我所有的PHP脚本都在那里。原来是一个简单的变量命名错误导致脚本在完成之前停止

在我的insertBid.php脚本中,我从另一个脚本复制/粘贴了部分代码,但忘了更改
$impacted_rows=$stmt->rowCount()。PDO对象的名称为$q,而不是$stmt。
我甚至没用那条线。嘘

现在我用它来验证SQL查询,
if($impacted_rows!=0){return$impacted_rows;}
, 并从调用脚本中编写一个日志文件,这样我可以更轻松地跟踪正在发生的事情

一个彻底的错误,这就是我。
抱歉占用了你们宝贵的时间,伙计们。(羞耻地夹着尾巴离开房间)

发布日志文件中看到的任何相关错误日志insertBid.phpSide中返回true的作用注意:安装可以加快电子邮件调试,因为它显示本地服务器发送的即时电子邮件。因此,无需在接收收件箱中等待。旁注2:目前,您的脚本容易被垃圾邮件滥用(收件人和内容可以由垃圾邮件管理器设置),并且您没有正确编码非ASCII字符。考虑使用CAPTCHA和邮件库,而不是Mail()函数。显然,这是不必要的。至于错误日志,我在共享主机服务上,找不到任何包含有用信息的日志。我认为我无法访问任何有意义的日志。
<?php
# connect to the database  
require_once('connect.php');

#On concatene le prénom et le nom dans une même variable
$fullName = $firstName . " " . $name;

#pour debug, on s'assure que les détails sont correct et on met le tout dans un fichier
$bid = $fullName. "," . $email_address . "," . $phone . "," . $message . "," . $date . "," . $itemNo . "," .  $itemName;
file_put_contents('results.txt', $bid, FILE_APPEND);

#Requête d'insertion de chaque offre dans la BD
$sql = "INSERT INTO encan(nom,email,phone,itemNo,itemDesc,bid,bidDate) VALUES (:nom,:email,:phone,:itemNo,:itemDesc,:bid,:bidDate)";
$q = $dbh->prepare($sql);   
$q->execute(array(':nom' => $fullName, ':email' => $email_address, ':phone' => $phone, ':itemNo' => $itemNo, ':itemDesc' => $itemName, ':bid' => $message, ':bidDate' => $date));
$affected_rows = $stmt->rowCount();
return true;
?>