我有一个让我的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