BBL‍UE DROIDPLUSS
Jumat, 03 Januari 2014

Membuat Login Verifikasi Email PHP dan MySQL

Pernahkan anda mendaftar pada suatu website yang sebelumnya mengharuskan kita untuk mengisi form isian pada website itu..? dan setelah itu jika kita telah mengisi form tersebut sampai beres maka kita diharuskan untuk membuka email kita untuk melanjutkan pada proses pendaftaran selanjutnya. Pada email kita dapat terlihat ada inbox yang berasal dari website yang kita isikan tadi dan kita diharuskan untuk men-klik link tautan yang menuju pada website itu dan setelah itu pendaftaran berhasil dilakukan.

Sekarang pertama kita buat dahulu database dengan nama sesuai keinginan anda, disini saya membuat dengan nama untuk_blog dan dengan table verifikasi_email dan dapat dilihat pada gambar dibawah ini.
table
table
Langkah selanjutnya adalah membuat form untuk mengisi data member yang akan nanti mendaftar pada aplikasi ini
index.php
</pre>
<div id="konten"><form action="" method="POST">
<fieldset><legend>Form Member</legend>
<label>username</label>
<input type="text" name="username" />
<label>email</label>
<input type="text" name="email" />
<label>password</label>
<input type="password" name="password" />
<input type="submit" name="submit" value="Submit" /></fieldset>
</form></div>
<pre>

Sekarang menambah kan css pada halaman index tadi adapun sintaks nya sebagai berikut
style.css
#konten {
margin: 20px auto;
width: 300px;
font-family: Helvetica;
font-size: 0.8em;
}
#konten form fieldset label, #konten form fieldset input {
width: 100%;
float: left;
margin-top: 5px;
}
#konten form fieldset legend {
padding: 5px;
background-color: #DBEAF9;
font-weight: bold;
}
#konten form fieldset {
background-color: #ECF4FC;
border: 1px solid #DBEAF9;
}
#konten form fieldset input[type=submit] {
width: 30% !important;
margin-top: 20px;
}
Jika sudah langkah diatas sudah selesai maka akan tampil tampilan seperti gambar dibawah ini,
form_member
Jika semuanya telah selesai maka sekarang membuat aksi pada php yang nantinya akan berguna untuk mengirimkan email verifikasi kepada member yang telah mendaftar tadi. Adapun sintaks nya sebagai berikut.
if(isset($_POST['submit'])) {

define('ROOT', 'http://localhost/septian/tes/untuk_blog/v_email/');
$koneksi=mysql_connect('localhost','root','');
mysql_select_db('untuk_blog',$koneksi);

$kode = md5(uniqid(rand()));
$password = md5($_POST['password']);

$query = mysql_query("INSERT INTO verifikasi_email (id, username, password, email, aktif, kode) VALUES ('', '$_POST[username]', '$password', '$_POST[email]','T', '$kode' )") or die (mysql_error());

$to = $_POST['email'];
$judul = "Aktivasi Akun Anda";
$dari = "From: septian@tian.com \n";
$dari .= "Content-type: text/html \r\n";

$pesan = "Klik link berikut untuk mengaktifkan akun: <br />";
$pesan .= "<a href='".ROOT."konfirm.php?email=".$_POST['email']."&kode=$kode&username=".$_POST['username']."'>".ROOT."konfirm.php?email=".$_POST['email']."&kode=$kode</a>";

$kirim = mail($to, $judul, $pesan, $dari);

if($kirim AND $query)
{
echo "<p class=info>Berhasil Dikirim</p>";
}
else
{
echo "<p class=infoGagal>Gagal Dikirim</p>";
}

}
Nah jika file diatas disatukan maka untuk halaman index.php akan berisi sintaks dibawah ini

<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="konten">
<form method="POST" action="">
<fieldset>
<legend>Form Member</legend>
<label>username</label>
<input type="text" name="username" />
<label>email</label>
<input type="text" name="email" />
<label>password</label>
<input type="password" name="password" />
<input type="submit" name="submit" value="Submit" />
</fieldset>
</form>
</div>
</body>
</html>
<?php
if(isset($_POST['submit'])) {

define('ROOT', 'http://localhost/septian/tes/untuk_blog/v_email/');
$koneksi=mysql_connect('localhost','root','');
mysql_select_db('untuk_blog',$koneksi);

$kode = md5(uniqid(rand()));
$password = md5($_POST['password']);

$query = mysql_query("INSERT INTO verifikasi_email (id, username, password, email, aktif, kode) VALUES ('', '$_POST[username]', '$password', '$_POST[email]','T', '$kode' )") or die (mysql_error());

$to = $_POST['email'];
$judul = "Aktivasi Akun Anda";
$dari = "From: septian@tian.com \n";
$dari .= "Content-type: text/html \r\n";

$pesan = "Klik link berikut untuk mengaktifkan akun: <br />";
$pesan .= "<a href='".ROOT."konfirm.php?email=".$_POST['email']."&kode=$kode&username=".$_POST['username']."'>".ROOT."konfirm.php?email=".$_POST['email']."&kode=$kode</a>";

$kirim = mail($to, $judul, $pesan, $dari);

if($kirim AND $query)
{
echo "<p class=info>Berhasil Dikirim</p>";
}
else
{
echo "<p class=infoGagal>Gagal Dikirim</p>";
}

}
?>
Maka jika sudah selesai seharusnya sudah berfungsi untuk mengirimkan email yang berisi kode verifikasi yang dapat dilihat seperti gambar dibawah ini
kirim_email
dapat dilihat bahwa link yang dihasilkan pada sintaks php diatas adalah berupa email dan kode. Oke pada langkah selanjutnya adalah membuat file untuk memproses link diatas untuk memberitahukan kepada sistem bahwa email yang dimasukan adalah valid dan bukan bot. Adapun sintaksnya adalah sebagai berikut…
konfirm.php
<?php
$kode = $_GET['kode'];
$username = $_GET['username'];

$koneksi=mysql_connect('localhost','root','');
mysql_select_db('untuk_blog',$koneksi);

$query = mysql_query("UPDATE verifikasi_email SET aktif = 'Y' WHERE kode = '".$kode."'") or die (mysql_error());

if($query) {
echo "Member dengan username <strong>".$username."</strong> telah diaktifkan";
} else {
echo "Gagal diaktifkan";
}
?>
Nah pada tahap terakhir adalah uji coba terhadap sintaks diatas. Untuk menguji coba nya silahkan klik link yang dikirim pada email tadi. Jika berhasil maka akan tampil seperti pada gambar dibawah ini…

Source : http://hitamcoklat.com/2013/06/23/membuat-login-verifikasi-email-php-dan-mysql/