Jump to content

TecNik

New Members
  • Posts

    3
  • Joined

  • Last visited

Profile Information

  • Gender
    Not Telling

TecNik's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. Hi Guys, Thanks for the help with the query, it was a big help. I managed to get the implode error handling working, really liked the method, just had trouble getting the mailing of the form data working. In the end I changed the code as per SocialCloud's suggestion and that solved it. Thanks once again to both of you for taking the time to help out.
  2. Thanks for the reply. As for the clarification... When the validation of the form data takes place the code below... else if(trim($spamcheck) == '') { $error = '<div class="errormsg">Please enter the number for Spam Check!</div>'; } else if(trim($spamcheck) != '5') { $error = '<div class="errormsg">Spam Check: The number you entered is not correct! 2 + 3 = ???</div>'; } takes precedence over this... if(trim($name) == '') { $error = '<div class="errormsg">Please enter your name!</div>'; } else if(trim($email) == '') { $error = '<div class="errormsg">Please enter your email address!</div>'; } else if(!isEmail($email)) { $error = '<div class="errormsg">You have enter an invalid e-mail address. Please, try again!</div>'; } if(trim($subject) == '') { $error = '<div class="errormsg">Please enter a subject!</div>'; } else if(trim($message) == '') { $error = '<div class="errormsg">Please enter your message!</div>'; } If there a way to stop this happening? I'd like the validation to take place as per the order of the form fields i.e. name, email, subject message, spam check. At present it's executing in this order - spam check, name, email, subject, message Thanks again, Nick
  3. Hi there, I'm a newbie to PHP but am gradually implementing it more into sites and learning as I go. I recently found an article regarding PHP contact forms, the code for this is below. So far so good, I've managed to get the example to work. Please can someone explain why it is that the Spam check validation seems to take place before everything else? If the field is left blank or the total is wrong the error message seems to take priority even though one of the other fields before it is blank? Is it something to do with this being numerical? Thanks in advance. Nick <div id="contentForm" align="center"> <!-- The contact form starts from here--> <?php $error = ''; // error message $name = ''; // sender's name $email = ''; // sender's email address $subject = ''; // subject $message = ''; // the message itself $spamcheck = ''; // Spam check if(isset($_POST['send'])) { $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST['subject']; $message = $_POST['message']; $spamcheck = $_POST['spamcheck']; if(trim($name) == '') { $error = '<div class="errormsg">Please enter your name!</div>'; } else if(trim($email) == '') { $error = '<div class="errormsg">Please enter your email address!</div>'; } else if(!isEmail($email)) { $error = '<div class="errormsg">You have enter an invalid e-mail address. Please, try again!</div>'; } if(trim($subject) == '') { $error = '<div class="errormsg">Please enter a subject!</div>'; } else if(trim($message) == '') { $error = '<div class="errormsg">Please enter your message!</div>'; } else if(trim($spamcheck) == '') { $error = '<div class="errormsg">Please enter the number for Spam Check!</div>'; } else if(trim($spamcheck) != '5') { $error = '<div class="errormsg">Spam Check: The number you entered is not correct! 2 + 3 = ???</div>'; } if($error == '') { if(get_magic_quotes_gpc()) { $message = stripslashes($message); } // the email will be sent here // make sure to change this to be your e-mail $to = "this@emailaddress.co.uk"; // the email subject // '[Contact Form] :' will appear automatically in the subject. // You can change it as you want $subject = '[Website Contact Form] : ' . $subject; // the mail message ( add any additional information if you want ) $msg = "From : $name \r\ne-Mail : $email \r\nSubject : $subject \r\n\n" . "Message : \r\n$message"; mail($to, $subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n"); ?> <!-- Message sent! (change the text below as you wish)--> <div style="text-align:center;"> <p class="grey">Thank you for your enquiry.<br><br> Your message has been sent. </p> </div> <!--End Message Sent--> <?php } } if(!isset($_POST['send']) || $error != '') { ?> <!--Error Message--> <?=$error;?> <form method="post" name="contactform" id="contactform" class="rounded" action=""> <div class="field"> <label for="name"><span class="required">*</span> Full Name:</label> <input name="name" type="text" class="input" id="name" value="<?=$name;?>" /> </div> <div class="field"> <label for="email"><span class="required">*</span> Email: </label> <input name="email" type="text" class="input" id="email" value="<?=$email;?>" /> </div> <div class="field"> <label for="subject"><span class="required">*</span> Subject: </label> <input name="subject" type="text" class="input" id="subject" value="<?=$subject;?>" /> </div> <div class="field"> <label><span class="required">*</span> Message: </label> <textarea name="message" class="input textarea" id="message"><?=$message;?></textarea> </div> <div class="field"> <label><span class="required">*</span> Spam Check: <b>2+3=</b></label> <input name="spamcheck" type="text" class="input" id="spamcheck" size="4" value="<?=$spamcheck;?>" /><br /><br /> </div> <!-- Submit Button--> <input name="send" type="submit" class="button" id="send" value="Submit" /> </form> <!-- E-mail verification. Do not edit --> <?php } function isEmail($email) { return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i" ,$email)); } ?> <!--End of Contact Form--> </div>
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.