RSS
 

Member activation via email….

02 Sep

Asslamualaikum semua…

Kali ini saya akan berbagi tutorial tentang bagaimana membuat member activation melalui email… dengan cara mengirimkan link aktivasi ke member baru yang melakukan  registrasi pada website kita…

Langsung saja…

Pertama, buat sebuah database dengan nama member_activation.

Kedua, buat sebuah tabel dengan nama tblmember dengan detail field2 sebagai berikut…

id int
nama varchar(35)
email varchar(125)
url varchar(125)
status varchar(6)
uname varchar(25)
upass varchar(35)
date datetime


Ketiga pada buat sebuah file dengan nama config.php sebagai tempat mengisikan variable koneksi ke database.

<?php
$hostname_db = “localhost”;
$database_db = “member_activation”;
$username_db = “root”;
$password_db = “”;
$con_db = mysql_pconnect($hostname_db, $username_db, $password_db) or trigger_error(mysql_error(),E_USER_ERROR);
?>

Keempat buat  sebuah file dengan nama index.php

<?php
require_once(’config.php’);

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == “form1″)) {
$nama = $_POST['nama'];
$email = $_POST['email'];
$url = $_POST['url'];
$uname = $_POST['uname'];
$upass = $_POST['upass'];
if (($nama == ”) || ($email == ”) || ($url == ”) || ($uname == ”) || ($upass == ”)){
echo “<script>alert(’Tolong lengkapi input form!’);</script>”;
} else {

for ($i = 0; $i < 6 ; $i++){
$key .= rand(0,9);
}

$isi .=”Selamat Bergabung di Website kami.\n”;
$isi .=”Silahkan klik link di bawah ini untuk melakukan Aktivasi.\n”;
$isi .=”http://www.webkami.com/verivikasi.php?username=”.$uname.”&code=”.md5($key).” \n\n”;
$isi .=”Terima Kasih.”;

$to = $email;
$subject = ‘Aktivasi email’;
$header = ‘from : Admin <admin@webkami.com>’;
mail($to, $subject, $isi, $header);

$query = “INSERT INTO tblmember (`nama`, `email`, `url`, `status`, `date`, `uname`, `upass`, `active`, `key`) VALUES (’$nama’, ‘$email’, ‘$url’, ‘member’, ‘”.date(”Y/m/d H:i:s”).”‘, ‘$uname’, ‘”.md5($upass).”‘, ‘N’, ‘$key’)”;

mysql_select_db($database_db, $con_db);
$Result1 = mysql_query($query, $con_db) or die(mysql_error());
}
}
?>
<html>
<head>
<title>Member Registration</title>
</head>
<body>
<form method=”post” name=”form1″ action=”<?php echo $_SERVER['PHP_SELF']; ?>”>
<table align=”center”>
<tr valign=”baseline”>
<td colspan=”2″ align=”right” nowrap><div align=”left”>Member Registration </div></td>
</tr>
<tr valign=”baseline”>
<td nowrap align=”right”><div align=”left”>Nama</div></td>
<td><input name=”nama” type=”text” value=”" size=”32″ maxlength=”35″></td>
</tr>
<tr valign=”baseline”>
<td nowrap align=”right”><div align=”left”>Email</div></td>
<td><input name=”email” type=”text” id=”email” value=”" size=”39″ maxlength=”125″></td>
</tr>
<tr valign=”baseline”>
<td nowrap align=”right”><div align=”left”>Url</div></td>
<td><input name=”url” type=”text” id=”url” value=”" size=”39″ maxlength=”125″></td>
</tr>
<tr valign=”baseline”>
<td nowrap align=”right”><div align=”left”>Username </div></td>
<td><input name=”uname” type=”text” id=”uname” value=”" size=”25″ maxlength=”25″></td>
</tr>
<tr valign=”baseline”>
<td nowrap align=”right”><div align=”left”>Password</div></td>
<td><input name=”upass” type=”text” id=”upass” value=”" size=”25″ maxlength=”25″></td>
</tr>
<tr valign=”baseline”>
<td nowrap align=”right”><div align=”left”></div></td>
<td><input type=”submit” value=”Submit”> <input name=”Reset” type=”reset” value=”Reset” /></td>
</tr>
</table>
<input type=”hidden” name=”id” value=”">
<input type=”hidden” name=”MM_insert” value=”form1″>
</form>
</body>
</html>

Kelima,  buat file dengan nama verivikasi.php untuk proses verivikasi link.

<?php
require_once(’config.php’);
if (isset($_GET['username']))
{
$username = $_GET['username'];
$codeuser = $_GET['code'];

mysql_select_db($database_db, $con_db);
$result = mysql_query(”select `uname`, `key` from tblmember where `uname`=’$username’”, $con_db) or die(mysql_error());
$db_uname = mysql_result($result, 0, ‘uname’);
$db_key = mysql_result($result, 0, ‘key’);
if ((mysql_num_rows($result) > 0) & (md5($db_key) == $codeuser))
{
mysql_query(”update tblmember set active = ‘Y’ where uname = ‘$username’”, $con_db) or die(mysql_error());
echo “<script>alert(\”Proses Verivikasi sukses!\”);</script>”;
echo “Silahkan melakukan Login untuk menggunakan keanggotaan Anda!”;
} else {
echo “<script>alert(\”Proses Verivikasi Gagal!\”);</script>”;
echo “Verivikasi gagal, silahkan Klik pada link Verivikasi yang kami kirimkan pada email anda!”;
}

} else {
echo “<script>alert(\”Username tidak di temukan!\”);</script>”;
}
?>

Pada proses penyimpanan data member baru akan dilakukan proses generate key aktivasi, yang nantinya akan dicocokkan ketika member mengakses link yang dikirimkan ke email dia….

for ($i = 0; $i < 6 ; $i++){
$key .= rand(0,9);
}

Selanjutnya script untuk mengirimkan email pada member…

$isi .=”Selamat Bergabung di Website kami.\n”;
$isi .=”Silahkan klik link di bawah ini untuk melakukan Aktivasi.\n”;
$isi .=”http://www.webkami.com/verivikasi.php?username=”.$uname.”&code=”.md5($key).” \n\n”;
$isi .=”Terima Kasih.”;

$to = $email;
$subject = ‘Aktivasi email’;
$header = ‘from : Admin <admin@webkami.com>’;
mail($to, $subject, $isi, $header);

Dan proses input data ke table…

$query = “INSERT INTO tblmember (`nama`, `email`, `url`, `status`, `date`, `uname`, `upass`, `active`, `key`) VALUES (’$nama’, ‘$email’, ‘$url’, ‘member’, ‘”.date(”Y/m/d H:i:s”).”‘, ‘$uname’, ‘”.md5($upass).”‘, ‘N’, ‘$key’)”;

Pada file verivikasi.php akan dilakukan pencocokan hasil md5 key verivikasi yang ada pada link dengan key yang ada pada table…

$username = $_GET['username'];
$codeuser = $_GET['code'];

mysql_select_db($database_db, $con_db);
$result = mysql_query(”select `uname`, `key` from tblmember where `uname`=’$username’”, $con_db) or die(mysql_error());
$db_uname = mysql_result($result, 0, ‘uname’);
$db_key = mysql_result($result, 0, ‘key’);
if ((mysql_num_rows($result) > 0) & (md5($db_key) == $codeuser))

Selanjutnya dilakukan update table untuk menggnti nilai pada field `active` menjadi ‘Y’ atau  status member sudah aktif….

mysql_query(”update tblmember set active = ‘Y’ where uname = ‘$username’”, $con_db) or die(mysql_error());

Selesai… itu sedikit tutorial singkatnya… kalo pengen dibikin lebih keren tambahkan aja kapca verivication pada input form registrationnya…

Wassalam, sampai ketemu lagi.. :D

 

Leave a Reply

 
 
  1. aan

    February 14, 2010 at 14:28

    mas kok g bisa ya….. kslhan ada di script 28, $isi .=”Selamat Bergabung di Website kami.\n”;
    $isi .=”Silahkan klik link di bawah ini untuk melakukan Aktivasi.\n”;
    $isi .=”http://www.webkami.com/verivikasi.php?username=”.$uname.”&code=”.md5($key).” \n\n”;
    $isi .=”Terima Kasih.”;

    $to = $email;
    $subject = ‘Aktivasi email’;
    $header = ‘from : Admin ’;
    mail($to, $subject, $isi, $header); , tlomg di jelaskan mas trimakasih

     
  2. admin

    February 20, 2010 at 06:48

    hm…. kalau di tes di local bisa jadi ga jalan…. coba tesnya di server….. karena script ini bisa dijalankan dengan syarat terdapat servis smtp di server kita…. begitu loh…. ok