Это обновление.Форма не отправляет электронное письмо после отправки данных. phpmailer
На моем веб-сайте у меня есть форма для отправки данных в базу данных mysql. Но я хотел бы знать, как я могу получить электронное письмо, когда кто-то подает что-то новое.
Я пытался найти решение, но мне нужна помощь.
У меня другая форма контакта, где я использую phpmailer, поэтому я знаю, что это работает.
Он отправляет данные в базу данных mysql, но не отправляет мне электронное письмо.
HTML:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="t3.js"></script>
<form action='t2.php' method='post' id="form1">
<div id = "container">
<h3>Basic Information</h3><br>
<div id="main">
<p><small>Name:</small><input type='text' id="name" name='name' /><br><br><br>
<p><small>Email:</small><input type='text' id="email" name='email' /><br><br><br>
<p><small>Comments:</small><textarea id='comments' name='comments' rows="5" cols="40" placeholder="Comments"></textarea> <br><br><br>
<input type='hidden' name='action' value='create' />
<p><input type="submit" name="submit" id="submit" value="Email Us!" /></p>
<input type="reset" name='reset' value="Reset" class="reset-org"/>
<ul id="response" />
</div>
</form>
Javascript t3.js:
$(function() {
// These first three lines of code compensate for Javascript being turned on and off.
// It simply changes the submit input field from a type of "submit" to a type of "button".
var paraTag = $('input#submit').parent('p');
$(paraTag).children('input').remove();
$(paraTag).append('<input type="button" name="submit" id="submit" value="Email Us Now!" />');
$('#main input#submit').click(function() {
$('#main').append('<img src="img/ajax/contact/ajax-loader.gif" class="loaderIcon" alt="Loading..." />');
var name = $('input#name').val();
var email = $('input#email').val();
var comments = $('textarea#comments').val();
$.ajax({
url: 't2.php',
type: 'POST',
data: $('#form1').serialize(),
success: function(results) {
$('#main img.loaderIcon').fadeOut(1000);
$('ul#response').html(results);
}
});
});
})
Php: t2.php
<?php
$name =$_POST['name'];
$email =$_POST['email'];
$comments =$_POST['comments'];
$action = isset($_POST['action']) ? $_POST['action'] : "";
if($action=='create'){ //the the user submitted the form
$query = "insert into testdb
set
name = '".$mysqli->real_escape_string($_POST['name'])."',
email = '".$mysqli->real_escape_string($_POST['email'])."',
comments = '".$mysqli->real_escape_string($_POST['comments'])."'";
if($mysqli ->query($query)) {
//if saving success
echo "User was created.";
require 'PHPMailer/PHPMailerAutoload.php'; //replace with path to PHPMailerAutoload.php
$mail = new PHPMailer;
$mail->IsSMTP(); // Set mailer to use SMTP
$mail->Host = '****'; // Specify main and backup server
$mail->Port = ***; // set the SMTP port for the GMAIL server
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '*****'; // SMTP username
$mail->Password = '*****!'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
$mail->From = $email;
$mail->FromName = $name;
$mail->AddAddress('****, 'Info'); // Add a recipient
$mail->AddReplyTo($email, $name);
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->Send();
}
else{
//if unable to create new record
echo "Database Error: Unable to create record.";
}
//close database connection
$mysqli->close();
}
?>
Эта строка 'set name = '". $ Mysqli-> real_escape_string ($ _ POST [' name ']). «',' Требуется двойная кавычка и точка с запятой в конце, а не запятая. Плюс, я сомневаюсь, что вы можете использовать 'SET' с' INSERT', однако я могу ошибаться. Но синтаксис завершения запроса неверен. –
@ Fred -ii- Сам код работает. Люди могут отправлять туда данные, и они отображаются в моей таблице mysql. Мне нужно только знать, как я могу отправить данные в базу данных и отправить электронное письмо с помощью phpmailer. –
Даже при использовании этого '($ _POST ['name']).", 'С запятой в конце? –