Not reloading page after php form submit
Posted on
16th Feb 2014 07:03 pm by
admin
Hello helpful souls out there. You guys have come through for me in the recent past and I'm hoping someone out there can either help me or point me in the right direction.
I have the following site, www.chrismdesign.com/test/index.php. I am waiting to launch the site until I get a few more bugs fixed. The problem I am facing is that the site is all contained on one page and each section is hidden in an accordion type thing. When a visitor opens the contact section and decides to send me an email through my contact form there is a small problem. When the user clicks submit, the page reloads, therefore sending the page back to the default open accordion section (which isn't the contact section). So, when the the form dsplays the success or error message, the user might not even see it unless they reopen the contact accordion section.
My question to you all is... Can I control my form to where the page doesn't reload when the form is submitted? That was the same accordion section will remain open and not risk the chance of confusing my viewers. I dont really have any code to post, you can find it on my site. I guess I can post my php form.
<?php
if (isset($_POST['Name'])){
$emailTo = 'cm@chrismdesign.com';
$emailName = $_POST['Name'];
$emailFrom = $_POST['Email'];
$emailSubject = $_POST['Subject'];
$emailMessage = "---- Message ----n" . $_POST['Message'];
$emailMessage .= "nnn---- Sender's Name ----n" . $_POST['Name'];
$emailMessage .= "nn---- Email Address ----n" . $_POST['Email'];
$emailMessage .= "nn---- Survey Answer ----n" . $_POST['Survey'];
if (!preg_match('/^([A-Z0-9.-_]+)@([A-Z0-9.-_]+)?([.]{1})([A-Z]{2,6})$/i', $emailFrom) || empty($emailFrom)) {
print '<div class="email-err"><h3>Error!</h3><p class="err">Please enter a valid email address.</p></div>';
} elseif (empty($emailName)) {
echo '<div class="email-err"><h3>Error!</h3><p class="err">Please enter your name.</p></div>';
} elseif (empty($emailSubject)) {
echo '<div class="email-err"><h3>Error!</h3><p class="err">Please enter a subject.</p></div>';
} elseif (empty($_POST['Message'])) {
echo '<div class="email-err"><h3>Error!</h3><p class="err">Please enter a message.</p></div>';
} else {
if (!empty($emailFrom)) {
$emailHeaders = 'FROM: <cm@chrismdesign.com>';
}
/* Send Email */
if (mail($emailTo, $emailSubject, $emailMessage, $emailHeaders)) {
echo '<div class="email-suc"><h4>Thanks!</h4><p class="err">Your message has been sent!</p></div>';
} else {
echo '<div class="email-err"><h3>Error</h3><p class="err">There was an internal error while sending your email.</p><p>Please try again.</p></div>';
}
}
}
?>
<div id="form-area">
<form method="post" action="index.php">
<h1>Send Me An Email</h1>
<p>Name:<br />
<input type="text" name="Name"></p>
<p>Email Address:<br />
<input type="text" name="Email"></p>
<p>Subject:<br />
<input type="text" name="Subject"></p>
<p>How did you find my site? <em>(optional)</em><br />
<textarea name="Survey" cols="30" rows="2"></textarea></p>
<p>Message:<br />
<textarea name="Message" cols="30" rows="5"></textarea></p>
<p><input id="button" type="submit" name="submit" value="Send Email"></p>
</form>
</div><!-- End div#form-area -->
Your Answer:
Login to answer
202
6
Other forums
Not adding to db
Hi, I can't figure out why it won't add the record to the database. It's just a simple form to get
Help? Need help on project with templates involving mysql and php.
I'm having a hard time explaining what I want but basically here is what I have in place:
-Da
Hyperlink is adding an extra gap to variable
Hi, here's my problem..
I have a php generated page with a hyperlink which opens in a new win
dropdown box help - open php files to textarea
Hi, I am using tinymce to edit content located in several php files. The code I attached works but i
please help me in this update statment
hi every one
if I have table and this data in it
id name
10
MySQL-PHP Query Results Help
Hello all. I'm hoping to be able to get some help in solving a problem with query/rowcount output. I
Problem with a select distinct
I have a problema with a select distinct, I have the next sql:
select distinct a,b,c,d fr
PHP and Javascript
Hi Guys,
Im trying to load the contents of an html file into a text area for editing, this is
How to disable direct access to a file
Suppose I've 2 Files. 1.php & 2.php
I don't want anybody to access 2.php directly fr
gettext translates ALWAYS?
I'm using gettext with the new version of XAMPP (5.3.0) on Windows Seven RTM (build 7600)
gettext