Lanjut ke pembuatan file “daftar.php” yang akan memproses, request dari ajax pada tutorial sebelumnya.
berikut codenya.
<?php session_start(); include "koneksi.php"; $nick=trim($_POST['nick']); $email=trim($_POST['email']); $pass=md5($_POST['pass']); $periksadulu=$koneksi->prepare("select * from user where nick=:nick || email=:email"); $periksadulu->BindParam(":nick",$nick); $periksadulu->BindParam(":email",$email); $periksadulu->execute(); if($periksadulu->rowCount()>=1){ echo "ada"; } else { $daftarkan=$koneksi->prepare("insert into user (nick,email,pass) values (:nick,:email,:pass)"); $daftarkan->BindParam(":nick",$nick); $daftarkan->BindParam(":email",$email); $daftarkan->BindParam(":pass",$pass); $daftarkan->execute(); if($daftarkan->rowCount()==1) { $waktu=date("h:m:s"); $online=$koneksi->prepare("insert into online (nick,waktu) values (:nick,:waktu)"); $online->BindParam(":nick",$nick); $online->BindParam(":waktu",$waktu); $online->execute(); $_SESSION['nick']=$nick; echo "yes"; } else { echo "no"; } } ?>
Penjelasan :
apabila kembaliannya berupa text "ada", maka ajax akan memberikan pemberitahuan error user telah terdaftar, jika kembaliannya "yes" berarti user sukses mendaftar, dan jika "no" maka pendaftaran gagal dilakukan.
coba jalankan dan daftar sebagai user. Jika code anda baik-baik saja dan jika pendaftaran berhasil maka kita akan dialihkan pada halaman chatroom seperti dibawah ini.
Pada tahap ini kita sudah berhasil membuat tampilannya beserta proses pendaftarannya. Selanjutnya kita akan memfungsikan tombol logout diatas, tombol diatas mengarah ke file “logout.php”
<a href="logout.php" class="btn btn-danger" type="button" ><i class="icon-off icon-white"></i> Keluar </a>
Langsung saja buat file “logout.php”-nya.
<?php session_start(); include "koneksi.php"; if(isset($_SESSION['nick'])) { $nick=$_SESSION['nick']; $hapus=$koneksi->prepare("delete from online where nick=:nick"); $hapus->BindParam(":nick",$nick); $hapus->execute(); unset($_SESSION['nick']); if(isset($_COOKIE['nick'])) { setcookie("nick","",time()-3600); } header("location:index.php"); }
Penjelasan.
Code diatas memeriksa apakah terdapat session nick, jika ada maka akan dihapus dari table online, kemudian session dan cookienya juga dihapus, dan akan mereload ke halaman login.
proses daftar dan logout sudah selesai. skarang kita akan lanjut ke pembuatan ajax untuk proses login
Buka kembali file “ajaxku.js”.
Kemudian tambahkan code berikut.
// ajax login $("#formmasuk").submit(function() { var unick=$.trim($("#nick").val()); var upass=$.trim($("#pass").val()); if($("#cokie").is(':checked')) { var cokie=$("#cokie").val(); } $.ajax({ url : 'login.php', data : 'nick='+unick+'&pass='+upass+'&cokie='+cokie, type : 'POST', success : function(hasil){ if(hasil=="ok") { document.location="index.php"; } else { $("#notif").html('<div class="alert alert-error"><button type="button" class="close" data-dismiss="alert">×</button>Nickname atau Password Salah ! </div>'); return false; } }, }); return false; });
Penjelasan code diatas sama seperti pada penjelasan proses daftar pada tutorial sebelumnya.
ajaxnya sudah kita buat, selanjutnya membuat file PHP untuk memproses ajax diatas,
buat file "login.php" kemudian.
<?php session_start(); include "koneksi.php"; $nick=trim($_POST['nick']); $pass=md5(trim($_POST['pass'])); $cari=$koneksi->prepare("select * from user where nick=:nick and pass=:pass "); $cari->BindParam(":nick",$nick); $cari->BindParam(":pass",$pass); $cari->execute(); if($cari->rowCount()==0) { echo "failed"; } else { $_SESSION['nick']=$nick; $waktu=date("h:m:s"); $online=$koneksi->prepare("insert into online (nick,waktu) values (:nick,:waktu)"); $online->BindParam(":nick",$nick); $online->BindParam(":waktu",$waktu); $online->execute(); if(isset($_POST['cokie'])) { if($_POST['cokie']=="ingataku") { setcookie("nick",$nick, time()+3600); } } echo "ok"; } ?>
Code diatas adalah script php untuk melakukan pengecekan kedalam database, apabila data tidak ditemukan, atau “failed” atau bukan “ok” maka login gagal.
pada tutorial selanjutnya kita kebagian inti, yaitu pembuatan mesin chatting.