Need Confirmation Message to Remain on Page |
Need Confirmation Message to Remain on Page |
chome4 |
Aug 22 2019, 09:03 AM
Post
#1
|
Newbie Group: Members Posts: 19 Joined: 6-April 16 Member No.: 24,129 |
I have a working php contact form:
<?php $msg = ""; use PHPMailer\PHPMailer\PHPMailer; include_once "PHPMailer/PHPMailer.php"; include_once "PHPMailer/Exception.php"; include_once "PHPMailer/SMTP.php"; if (isset($_POST['submit'])) { $subject = $_POST['subject']; $email = $_POST['email']; $message = $_POST['message']; $mail = new PHPMailer(); //if we want to send via SMTP $mail->Host = "smtp.34sp.com"; //$mail->isSMTP(); $mail->SMTPAuth = true; $mail->Username = "email"; $mail->Password = "password"; $mail->SMTPSecure = "ssl"; //TLS $mail->Port = 465; //587 $mail->addAddress('email'); $mail->setFrom($email); $mail->Subject = $subject; $mail->isHTML(true); $mail->Body = $message; //$mail->addAttachment($file); if ($mail->send()) echo "<h1>Sent Successfully! Thank you"." ".$name.", We will contact you shortly!</h1></br> Use the 'back' arrow to go back to the main page..."; else echo "Something went wrong!"; } ?> The confirmation message is echoed out to a new, white page. Still getting to grips with php, but I cannot work out how to get the confirmation message to appear above the form instead of appearing on a new page. This is the form's code <form method="post" action="contact.php" enctype="multipart/form-data"> <input name="subject" placeholder="Subject..."><br> <input name="email" type="email" placeholder="Email..."><br> <textarea placeholder="Message..." name="message"></textarea><br> <input name="submit" type="submit" value="Send Email"> </form> Any ideas? Hope someone can help. |
CharlesEF |
Aug 27 2019, 11:51 AM
Post
#2
|
Programming Fanatic Group: Members Posts: 1,981 Joined: 27-April 13 From: Edinburg, Texas Member No.: 19,088 |
The logic error was because I used an 'else' in the 2nd validation 'if' test. Instead of the 'else' I should have used the 'if(!count($errors))'. Left as it was the validation would fail if you typed in a message but left the e-mail blank. The correction will prevent this from happening.
Yes, after a submit the new page (or same page) will load at the top. And yes, AJAX can bypass this. |
Lo-Fi Version | Time is now: 31st May 2024 - 11:36 PM |