HomePHP Page 2 - Email Validation PHP Script with JavaScript and User Verification
HTML Form code, continued - PHP
There is a need to have an email validation system using JavaScript and PHP that will comply with RFC standards. There are lots of email validation scripts on the Internet, but many of them reject valid email addresses, or they are otherwise not accurate enough. This tutorial will cover the most recent email validation technology available in late 2010 that will comply with RFC email standards.
Insert email,active status and activation code to MySQL database Insert data into database table If you have not create database table, you need to enter this query into your database:
CREATE TABLE `registered_email` ( `id` int(4) NOT NULL auto_increment, `email` varchar(65) NOT NULL default '', `activationcode` varchar(65) NOT NULL default '', `active` int(1) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1
Your message: $message="Your Confirmation link rn"; $message.="Click on this link to activate your account rn"; $message.="http://www.php-developer.org/rfccompliantemailvalidator/confirmation.php?passkey=$activationcode";
Send email using php mail function $sentmail = mail($to,$subject,$message,$from); }
If your email sending has been successful
if($sentmail){
echo "Your Confirmation link Has Been Sent To Your Email Address. Please check your email and click the activation link to completely validate your email.";
} else { echo "Cannot send Confirmation link to your e-mail address"; } } else {
Confirmation.php file: Verifying user ownership of email address
<?php This script will GET the passkey values from the URL and validate after the user clicks on the email verification link.Connect to MySQL database first:
include('databaseconnect.php');
Get the passkey from email confirmation
$passkey=$_GET['passkey']; if (!(empty($passkey))) {
Passkey is NOT empty, sanitize before MySQL query $passkey= mysql_real_escape_string($passkey);
Query the email address verified using the passkey in the MySQL database
$sql1="SELECT email FROM registered_email WHERE activationcode ='$passkey'"; $result1=mysql_query($sql1); $row = mysql_fetch_array($result1); $emailaddressverified = $row['email'];
If successfully queried:
if (($result1 == TRUE) && (!(empty($emailaddressverified)))){
echo "Congratulations, the email address: $emailaddressverified has been successfully verified and it shows you are not a bot but a gentle human. Thank you for using this email validator.<br>";
More details about confirmation.php here: http://phpeasystep.com/phptu/24.html Of course this script can be further improved to detect duplicate email entries in the database as well as other useful features.
?>
Databaseconnect.php file (Connection strings to MySQL database)
<?php
Protect direct file access
if ('databaseconnect.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('<h2>Unauthorized file access</h2>'); } else { $host="Your MySQL database hostname"; // Host name $username="Your MySQL database username"; // Mysql username $password="Your MySQL database password"; // Mysql password $db_name="Your MySQL database name"; // Database name
Connect to server and select database:
mysql_connect("$host", "$username", "$password")or die("cannot connect to server");