我有一個讓我的PHP郵件程序代碼正常工作的問題。我可以讓它在頁面加載好的時候發送一封電子郵件,問題在於ISSET命令讓它在提交按鈕被按下後提交表單。我試過把它放在不同的地方,但仍然無法使用它。任何幫助,將不勝感激。PHP梅勒編碼問題
<?php
require '/phpmailer/PHPMailerAutoload.php';
require_once '/phpmailer/class.phpmailer.php';
include '/phpmailer/class.smtp.php';
if(isset($_POST["Submit"]))
{
$emailaddress = '****@**********';
$message=
'Name: '.$_POST['name'].'<br />
Email: '.$_POST['email'].'<br />
IP: '.$_SERVER['REMOTE_ADDR'].'<br /><br />
Message:<br /><br />
'.nl2br($_POST['message']).'
';
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "********"; // SMTP server
$mail->SMTPDebug = 1; // 1 = errors and messages,2 = messages only
$mail->SMTPAuth = false; // enable SMTP authentication
$mail->Port = 25; // set the SMTP port for the GMAIL server
$mail->SMTPSecure = 'false'; // Enable encryption, 'ssl' also accepted
$mail->CharSet = 'UTF-8'; // so it interprets foreign characters
$mail->setFrom('***********');
$mail->AddReplyTo('**********');
$mail->Subject = "Contact form submission from ".$_POST['name']." ";
$mail->MsgHTML($message);
$mail->AddAddress($emailaddress);
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Thank you, your message has been sent!";
}
您的條件'if(isset($ _ POST [「Submit」]))''基於一個名爲'Submit'的提交按鈕。如果您的提交按鈕具有'name =「submit」'而不是'name =「Submit」',那麼這將解釋它。如果沒有命名,那麼**做**。這是我能想出的唯一結論。發佈您的HTML表單100%確定。 – 2014-10-06 16:44:46
謝謝!出於某種原因,我認爲按鈕只需要按鈕類型和值=「提交」。一旦我添加了它的名稱屬性的工作。 – user3630457 2014-10-06 17:09:53
除了自動加載器之外,您不需要「需要」 - 這就是它的全部要點! – Synchro 2014-10-06 17:50:07