by

PHP Verifying email address

Verifying email address script including SQL

PHP Verifying email address. When users sign up to join your website you may want to verify their email address by sending confirmation link to their email address. You’ll learn how to do this in this tutorial. 

Overview

In this tutorial create 4 files 2 databases

  • 1. signup.php
  • 2. signup_ac.php
  • 3. confirmation.php
  • 4. config.php

We have to create 2 databases

  • 1. temp_members_db
  • 2. registered_members

What to do

  • 1. When users sign up. Random a set of confirmation code.
  • 2. Keep their informations and confirmation code in table “temp_members_db”. This is temporary table, we have to move this informations to table “registered_members” after email address has been verified.
  • 3. After sucessfully inserted data into table “temp_membes_db”, send confirmation link to email that users used to sign up, if email is invalid they will not receive our email.
  • 4. They have to click on confirmation link to activate their account. (move data from table “temp_member_db” to table “registered_members” and delete data from table “temp_members_db” in this step)

01. Create table “temp_members_db” and table “registered_members”

Table "temp_members_db"
CREATE TABLE `temp_members_db` (
`confirm_code` varchar(65) NOT NULL default '',
`name` varchar(65) NOT NULL default '',
`email` varchar(65) NOT NULL default '',
`password` varchar(15) NOT NULL default '',
`country` varchar(65) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Table "registered_members"
CREATE TABLE `registered_members` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(65) NOT NULL default '',
`email` varchar(65) NOT NULL default '',
`password` varchar(65) NOT NULL default '',
`country` varchar(65) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

02. signup.php – Create sign up form

############### Code
<table width="350" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><form name="form1" method="post" action="signup_ac.php">
<table width="100%" border="0" cellspacing="4" cellpadding="0">
<tr>
<td colspan="3"><strong>Sign up</strong></td>
</tr>
<tr>
<td width="76">Name</td>
<td width="3">:</td>
<td width="305"><input name="name" type="text" id="name" size="30"></td>
</tr>
<tr>
<td>E-mail</td>
<td>:</td>
<td><input name="email" type="text" id="email" size="30"></td>
</tr>
<tr>
<td>password</td>
<td>:</td>
<td><input name="password" type="password" id="password" size="30"></td>
</tr>
<tr>
<td>Country</td>
<td>:</td>
<td><input name="country" type="text" id="country" size="30"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Submit"> &nbsp;
<input type="reset" name="Reset" value="Reset"></td>
</tr>
</table>
</form></td>
</tr>
</table>

03. signup_ac.php – Insert data into database

In this step
  • Random confirmation code
  • Insert data and confirmation code into database
  • Send email to user with confirmation link
############### Code
<?
include('config.php');
// table name
$tbl_name=temp_members_db;

// Random confirmation code
$confirm_code=md5(uniqid(rand()));
// values sent from form
$name=$_POST['name'];
$email=$_POST['email'];
$country=$_POST['country'];
// Insert data into database
$sql="INSERT INTO $tbl_name(confirm_code, name, email, password, country)VALUES('$confirm_code', '$name', '$email', '$password', '$country')";
$result=mysql_query($sql);

// if suceesfully inserted data into database, send confirmation link to email
if($result){
// ---------------- SEND MAIL FORM ----------------
// send e-mail to ...
$to=$email;
// Your subject
$subject="Your confirmation link here";
// From
$header="from: your name <your email>";
// Your message
$message="Your Comfirmation link \r\n";
$message.="Click on this link to activate your account \r\n";
$message.="http://www.yourweb.com/confirmation.php?passkey=$confirm_code";
// send email
$sentmail = mail($to,$subject,$message,$header);
}
// if not found
else {
echo "Not found your email in our database";
}
// if your email succesfully sent
if($sentmail){
echo "Your Confirmation link Has Been Sent To Your Email Address.";
}
else {
echo "Cannot send Confirmation link to your e-mail address";
}
?>

04. confirmation.php

When jack open his email he’ll see this message and link to file “confirmation.php” including passkey in url.

In this step

  1. Check passkey
  2. If found passkey in database, move all data in that row from table “temp_members_db” to table “registered_members”
  3. Delete passkey from table “temp_members_db”
############### Code
<?
include('config.php');
// Passkey that got from link
$passkey=$_GET['passkey'];
$tbl_name1="temp_members_db";
// Retrieve data from table where row that match this passkey
$sql1="SELECT * FROM $tbl_name1 WHERE confirm_code ='$passkey'";
$result1=mysql_query($sql1);
// If successfully queried
if($result1){

// Count how many row has this passkey
$count=mysql_num_rows($result1);
// if found this passkey in our database, retrieve data from table "temp_members_db"
if($count==1){

$rows=mysql_fetch_array($result1);
$name=$rows['name'];
$email=$rows['email'];
$password=$rows['password'];
$country=$rows['country'];
$tbl_name2="registered_members";

// Insert data that retrieves from "temp_members_db" into table "registered_members"
$sql2="INSERT INTO $tbl_name2(name, email, password, country)VALUES('$name', '$email', '$password', '$country')";
$result2=mysql_query($sql2);
}

// if not found passkey, display message "Wrong Confirmation code"
else {
echo "Wrong Confirmation code";
}
// if successfully moved data from table"temp_members_db" to table "registered_members" displays message "Your account has been activated" and don't forget to delete confirmation code from table "temp_members_db"
if($result2){

echo "Your account has been activated";

// Delete information of this user from table "temp_members_db" that has this passkey
$sql3="DELETE FROM $tbl_name1 WHERE confirm_code = '$passkey'";
$result3=mysql_query($sql3);

}

}
?>

05. config.php – config your database

<?
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name


//Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect to server");
mysql_select_db("$db_name")or die("cannot select DB");

?>

Comment

Leave a Reply

Your email address will not be published.

9 comments

  1. Нello аll, guуѕ! Ι know, my meѕsagе maу be too ѕpecіfic,
    But mу sіѕter fоund niсе mаn hеrе and they mаrried, sо how аbout mе?ǃ 🙂
    I аm 23 yeаrs оld, Mаrіа, from Ukraіnе, Ι knоw Еnglіѕh аnd Germаn languаges alѕо
    Αnd… Ι havе spеcіfіc disease, nаmed nymphomаnіа. Whо knоw what iѕ thіѕ, can understand mе (bеtter to sау іt іmmеdіately)
    Ah yeѕ, Ι coоk vеrу tastу! and Ι lоvе not оnly cооk ;))
    Ιm reаl gіrl, nоt proѕtitute, and looking fоr sеriоuѕ and hot rеlаtiоnѕhіp…
    Аnywaу, yоu cаn fіnd mу profіle hеre: http://kpilinfirudifsay.tk/user/13485/

  2. Нellо аll, guуѕ! Ι know, mу mеsѕagе mаy bе too ѕреcіfіс,
    But my ѕіѕtеr found nіce mаn here аnd theу mаrrіеd, sо hоw аbout me?ǃ 🙂
    Ι аm 25 years оld, Αnnа, frоm Ukrainе, I knоw Englіѕh аnd Germаn lаnguаges аlѕo
    Αnd… Ι havе sресifiс diѕеаse, namеd nymphоmаnia. Ԝhо know what iѕ thіѕ, cаn understаnd mе (bеtter to saу іt іmmedіаtely)
    Αh уeѕ, Ι сoоk vеry tasty! аnd Ι lovе not оnly cоok ;))
    Im real gіrl, not prostitute, аnd lоoking fоr serіоuѕ and hot rеlаtionѕhіp…
    Аnуway, уоu саn fіnd my profіlе hеre: http://laoudemcaberp.tk/user/47050/

  3. Скачать Что мне подарила моя девушка, Джарахов, Гусейн и другие на ДЕНЬ РОЖДЕНИЯ!Подписывайтесь на мой РУТУБ канал – https://rutube.ru/channel/24163847/Таймкоды:00:40 – гора подарков с дня рождения 01:55 -… Скачать Как Славу кинул таксист на 30тр ((В этом ролике мы расскажем историю того, как Славу кинул таксист и почему мы не помогаем всем, кто просит…. Скачать Как Славу кинул таксист на 30тр ((В этом ролике мы расскажем историю того, как Славу кинул таксист и почему мы не помогаем всем, кто просит…. Скачать Ситуацию в Каракалпакстане прокомментировали в МВД УзбекистанаО ситуации в Каракалпакстане. Общественный порядок в столице региона восстановлен, попытки массовых беспо… Скачать ПРОСНИСЬ ЧТОБЫ ВЫЖИТЬ ЧЕЛЛЕНДЖ ! 100 СПОСОБОВ ПРОСНУТЬСЯВ этом ролике я буду играть в ОЧЕНЬ ИНТЕРЕСНУЮ ИГРУ ! МНЕ НУЖНО ПРОСНУТЬСЯ ЧТОБЫ ВЫЖИТЬ !! Смотри этот ролик…
    Скачать ???????????????????????????????????????????/P?????/LEON??/?????/RUST?????RUST??????????????/??????https://www.youtube.com/watch?v=kB0_-SoEH2g&t?????https://www.twitch.tv/chihiro2434https://www.youtube.c Скачать ??????????????!???????????????????????????????????!?????????????????????????????… Скачать #2?????????????????????Ikai (??)??2BRO.??Ikai (??)???????https://www.youtube.com/playlist?list=PL1Z1KdfmKuebMFTkSBGlRF0Wm_BvOPWtS[email protected]?https://twitter.com/otojya Скачать ????????????1???????????? -????????KUN?Ў??????????https://www.youtube.com/c/abobotani????????????????50?????https://www.youtube.com/playlist?list=PLl32tGbAYNEqbCbPMm5RsvD Скачать ?????????????????? 20kill 5000dmg?APEX LEGENDS???? http://twitch.tv/nniru20??&4000???? https://youtube.com/playlist?list=PLnz4nYMGRMWwOoRpZvtOBikEOEQu9C2Hgtwitter https://twitter.com/nirunno???????…
    Скачать LOVER : GURI (Official Trailer) Lover Movie in Cinemas Now | Geet MP3Geet MP3 Proudly Presenting Trailer Of GURI’s New Movie “LOVER” Movie Releasing On 1st July 2022 In Theaters.Make Sure You Will Like It And Spread it As Much As You Can. Subscribe To Our… Скачать Stranger Things 4 | Volume 2 Trailer | NetflixIt might not work out for us this time. The epic 2-part season finale of Stranger Things 4 premieres July 1st, only on Netflix. Скачать KHAAO PIYO AISH KARO (Official Trailer) | Tarsem Jassar | Ranjit Bawa | Gurbaaz Singh| 1st July 2022KHAAO PIYO AISH KARO (Official Trailer) | Tarsem Jassar, Ranjit Bawa, Gurbaaz Singh, Jasmin Bajwa, Prabh Grewal, Aditi Aarya, Hardeep Gill | Punjabi Movies | Releasing on 1st July 2022.Harsimran… Скачать BRAHMASTRA OFFICIAL TRAILER | Hindi | Amitabh | Ranbir | Alia | Ayan | In Cinemas 9th SeptemberPresenting the official Trailer of Brahmastra. Get ready to experience a new world of Ancient Indian Astras and the magic of this extraordinary journey.Brahmastra Part One: Shiva. In cinemas…. Скачать Rowdy Rocky ~ ????? ???? | Chintu Pandey | Official Trailer | Mani Bhattacharya | New Bhojpuri Movie??? ?? Bhojpuri Song, Bhojpuri gaana, Bhojpuri video ?? ???? ???? ??? ?? Plz ????? ???? ?? Subscribe ???? Click Here :…
    Скачать Husn Hai Suhana | Coolie No. 1 | Govinda & Karisma Kapoor | Abhijeet & Chandana Dixit | 90’s HitsEnjoy singing along to Govinda & Karisma Kapoor’s iconic dance number ‘Husn Hai Suhana’ from the movie ‘Coolie. No.1’. Sung by Chandana Dixit, Abhijeet, the song is composed by Anand Milind…. Скачать Barsaat Ke Mausam Mein | Kumar Sanu | Roop Kumar Rathod | Naajayaz (1995)Song Credits: Song: Barsaat Ke Mausam MeinMovie: Naajayaz (1995)Singer(s): Kumar Sanu, Roop Kumar RathodMusic Director: Anu MalikLyricist: Sudarshan FaakirMovie Cast & Crew:Producer:… Скачать Tere Saath Hoon Main | Raksha Bandhan | Akshay Kumar, Bhumi P | Nihal T| Himesh Reshammiya, Irshad K???? SUBSCRIBE to Zee Music Company – https://bit.ly/2yPcBkS To Stream & Download Full Song: Spotify – https://spoti.fi/3a17SPPJioSaavnhttps://bit.ly/3Ou4g7PRessohttps://bit.ly/3OUTT Скачать Ami Je Tomar – Kartik x Vidya || Arijit Singh, Shreya Ghoshal || Bhool Bhulaiyaa 1-2 || Bhushan KPresenting the song “Ami Je Tomar” in the melodious voices of Shreya Ghoshal and Arijit Singh from movie #bhoolbhulaiya and #bhoolbhulaiyaa2 Gulshan Kumar & T-Series presents “Bhool Bhulaiyaa… Скачать Call : Nirvair Pannu (Official Video) Jassi X | New Punjabi Song 2022 | Juke DockJUKE DOCK Presents CALL By NIRVAIR PANNUSubscribe To Our Channel For New Songs : http://bit.ly/SubscribeJukeDock??? Click On The Bell + Turn On NotificationsSong : CallSinger/Lyrics/Comp…
    Скачать Эдик и Элина FunTube – ПРИКЛЮЧЕНИЯ ЗОВУТ (Премьера клипа 2020)none Скачать ПОБЕГ ИЗ МАГАЗИНА ИГРУШЕК ? МОНСТР Мистер Фанни в РОБЛОКС!none Скачать Примерка от Юры Подарки из Турции ????none Скачать Ералаш | Кошмары нашего двора (Выпуск №194)none Скачать Люся стала ПУТЕШЕСТВЕННИЦЕЙ! Лавандовые поля, лев Витя и любимый ужин! Путешествуем с Люсей!none Скачать Датчик температуры воздуха в правильном местеnone Скачать ЕСЛИ ТЫ ДУМАЕШЬ ЧТО ЭТО САМЫЙ ПЛОХОЙ ДОМ В МАЙНКРАФТ ТО ТЫ ОШИБАЕШЬСЯ | Компот Minecraftnone Скачать К старосте Барабашу за отработкой. 10. 06. 2022none Скачать Домовой/ 2019/ Фильм HDnone Скачать Катя и Макс построили себе дом по цветам с папойnone

  4. The most challenging part of SEO is making backlinks, and the more hard thing is getting Quality Backlinks. I’m offering competitors down High Domain Authority (DA) backlinks. If your keyword is medium hard, these backlinks will place your website on Google First Page.

    GET This Limited Time Offer: https://mranker.me/u/fvrweb

    Why Should You take this Offering?
    -Improve Your Website Ranking
    -Backlinks from High Authority Website
    -85% Dofollow backlinks for backlink Strategy]
    -135 Article/Contextual Backlink 00% Dofollow]
    -100% 5 Star Reviews Service]
    -Service Provider from Fiverr 00% Safe and Secure Payment]

    Diamond Package
    -All Types Of Backlinks
    -Contextual/Article Backlink: 135
    -Total Backlinks: 1500
    -Referring Domain: 1500
    -Referring IPs: 1470
    -85% Dofollow Backlinks
    -3 URLs & 5 Keywords
    -Details Reports: XLSX,CSV,TEXT,PDF

    Get this Exclusive Backlink Package for only $15
    Get it from FIVERR: https://mranker.me/u/fvrweb
    #1 Freelancing Site, 100% Secure Payment