2016-07-04 36 views
-1

我做了一个接触的形式将信息发送给我的电子邮件,每当我提交表单,我重定向到我的PHP文件(mywebsite.com/contact.php)和我所示的内部服务器错误(500种)。我做错了什么?难道是因为我有我的HTML和PHP代码在不同的文件?我也包括我的联系表格以防万一它是相关的。为什么我的联系表单使用PHPMailer不工作?

<?php 
 

 
if(isset($_POST['submit'])) 
 
{ 
 

 
$message= 
 
'Full Name: '.$_POST['name'].'<br/> 
 
Comments: '.$_POST['comments'].'<br/> 
 
Email:  '.$_POST['email'].' 
 
'; 
 

 
require 'phpmailer/PHPMailerAutoload.php'; 
 

 
$mail = new PHPMailer; 
 

 
//$mail->SMTPDebug = 3;        // Enable verbose debug output 
 

 
$mail->isSMTP();          // Set mailer to use SMTP 
 
$mail->Host = 'smtp.mail.yahoo.com'; // Specify main and backup SMTP servers 
 
$mail->SMTPAuth = true;        // Enable SMTP authentication 
 
$mail->Username = '[email protected]';     // SMTP username 
 
$mail->Password = 'letmejusteditthisout';       // SMTP password 
 
$mail->SMTPSecure = 'tls';       // Enable TLS encryption, `ssl` also accepted 
 
$mail->Port = 465;         // TCP port to connect to 
 

 
$mail->setFrom($_POST['email'], $_POST['name']); 
 
$mail->addReplyTo($_POST['email'], $_POST['name']); 
 

 
$mail->addAddress('[email protected]');  // Add a recipient 
 
$result = $mail->Send(); 
 
$message = $result ? 'Successfully sent!' : 'Sending Failed!'; 
 
unset($mail); 
 

 
$mail->Subject = "New Form Submission"; 
 
$mail->MsgHTML($message); 
 

 

 
?>

<!-- Container (Contact Section) --> 
 
<form action="newcontact.php" method="POST" name='contactform' id='contactform' enctype="text/plain"> 
 
<div id="contact" class="container-fluid bg-grey"> 
 
    <h2 class="text-center">CONTACT</h2> 
 
    <div class="row"> 
 
    <div class="col-sm-5"> 
 
     <p>Contact us and we'll get back to you within 24 hours. </p> 
 
     <p><span class="glyphicon glyphicon-map-marker"></span> Burlington, ON</p> 
 
     <p><span class="glyphicon glyphicon-phone"></span> 289-230-4510</p> 
 
     <p><span class="glyphicon glyphicon-envelope"></span> [email protected]</p> 
 
    </div> 
 
    <div class="col-sm-7 slideanim"> 
 
     <div class="row"> 
 
     <div class="col-sm-6 form-group"> 
 
      <input class="form-control" id="name" name="name" placeholder="Name" type="text" required> 
 
     </div> 
 
     <div class="col-sm-6 form-group"> 
 
      <input class="form-control" id="email" name="email" placeholder="Email" type="email" required> 
 
     </div> 
 
     </div> 
 
     <textarea class="form-control" id="comments" name="comments" placeholder="Comment (not required)" rows="3"></textarea><br> 
 
     <div class="row"> 
 
     <div class="col-sm-12 form-group"> 
 
      <input type="submit" name="submit" value="Submit" /> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div>

+1

是什么在你的web服务器错误日志?它看起来不像你关闭你的'if'语句。 –

回答

0

你缺少你的PHP-文件一}。 (在if-之后打开{,但从不关闭它。)

有500个错误,它通常有助于检查服务器的错误日志。

0

$mail->Send();和关闭}之前分配您的信息和主题。 试试这个代码。

if(isset($_POST['submit'])) 
{ 

$message= 
'Full Name: '.$_POST['name'].'<br/> 
Comments: '.$_POST['comments'].'<br/> 
Email:  '.$_POST['email'].' 
'; 

require 'phpmailer/PHPMailerAutoload.php'; 

$mail = new PHPMailer; 

//$mail->SMTPDebug = 3;        // Enable verbose debug output 

$mail->isSMTP();          // Set mailer to use SMTP 
$mail->Host = 'smtp.mail.yahoo.com'; // Specify main and backup SMTP servers 
$mail->SMTPAuth = true;        // Enable SMTP authentication 
$mail->Username = '[email protected]';     // SMTP username 
$mail->Password = 'letmejusteditthisout';       // SMTP password 
$mail->SMTPSecure = 'tls';       // Enable TLS encryption, `ssl` also accepted 
$mail->Port = 465;         // TCP port to connect to 

$mail->setFrom($_POST['email'], $_POST['name']); 
$mail->addReplyTo($_POST['email'], $_POST['name']); 

$mail->addAddress('[email protected]');  // Add a recipient 

$mail->Subject = "New Form Submission"; 
$mail->MsgHTML($message); 
$result = $mail->Send(); 
$message = $result ? 'Successfully sent!' : 'Sending Failed!'; 
unset($mail); 
} 

我希望这将是有益的

+0

谢谢您的评论。我做了你所说的,现在我的表单只是指向mywebsite.com/newcontact.php(这就是它的URL),这是一个完全空白的页面,甚至没有显示“成功发送”或“发送失败” 。有没有一个网站可以去检查PHP代码是否正确?我可以在哪里进行一些故障排除? – Feinmann

相关问题