Ter-inspirasi
dari pertanyaan salah satu anggota di group FB PHP Indonesia, saya jadi
kepikiran pengen Nulis tutorial ini. Walaupun sebener nya sudah banyak
blog yang ngebahas tentang ini, disini saya cuman pengen menjelas kan
dengan cara saya sendiri sekalian belajar menulis hehe..
Pertanyaan nya kira-kira begini:
bisa gak sih login ke website kita menggunakan akun website lain.
Saya tertarik dengan jawaban OM cahya nsn, maaf om saya sebut2 nama nya, soal nya saya nge-fan haha…, klo gak salah begini jawaban beliau :
ok biar gak terkesan banyak basa basi mari kita langsung implementasi saja. buat table "user" , sebagai contoh:
selanjut nya kita bikin satu folder lagi dengan nama “System_A” kita asusmsikan ini sebagai Sistem A. buat file dengan nama "formlogin.php" :
NOTE
Contoh di atas blom bisa di sebut API sesui dengan standar. terutama bagian login, pada umumnya login bisa menggunakan Basic Authentication atau OAuth(Oauth 1 dan 2). dan untuk koneksi API pun ada 2 legged dan 3 legged.
temen2 bisa mempelajari REST dll
Selesain. Semoga Bermanfaat :) , tetap sehat tetap semangat biar bisa nulis trus :).
klo tulisan di atas agak susah di baca teman-teman bisa membaca disini
bisa gak sih login ke website kita menggunakan akun website lain.
Saya tertarik dengan jawaban OM cahya nsn, maaf om saya sebut2 nama nya, soal nya saya nge-fan haha…, klo gak salah begini jawaban beliau :
- jika sistem yang satu bisa ngakses database sistem yang satunya lagi.. tinggal di konekin ke database tersebut untuk validasi loginnya
- Jika ingin menggunakan webservice, pastikan di sistem yang buat ngecek login-nya itu nyediain API-nya, kalo nggak ada ya.. gak bisa tho?
ok biar gak terkesan banyak basa basi mari kita langsung implementasi saja. buat table "user" , sebagai contoh:
Contoh Data :
CREATE TABLE
user
(username
varchar(100),password
varchar(200), PRIMARY KEY (
Ket password :
1. INSERT INTO user (email,username,password) VALUES ('faiz.fadly@gmail.com','faiz fadly', '21232f297a57a5a743894a0e4a801fc3'); 2. INSERT INTO user (email,username,password) VALUES ('faiz_fadli@yahoo.com','Adly', ' fe01ce2a7fbac8fafaed7c982a04e229');
- 21232f297a57a5a743894a0e4a801fc3 = admin
- fe01ce2a7fbac8fafaed7c982a04e229 = demo
Respon yang akan di kemnalikan oleh skrip di atas berupa data jSON.
1. <?php 2. //Koneksi 3. mysql_connect("localhost", "root", "") or die(mysql_error()); 4. mysql_select_db("test") or die(mysql_error()); 5. 6. //cek username. 7. $email = $_POST['email']; 8. $password = $_POST['password']; 9. 10. $Q = mysql_query("SELECT * FROM user WHERE email='$email' 11. AND PASSWORD='$password'")or die(mysql_error()); 12. if($Q){ 13. $posts = array(); 14. if(mysql_num_rows($Q)) 15. { 16. while($post = mysql_fetch_assoc($Q)){ 17. $posts[] = $post; 18. } 19. } 20. echo json_encode(array('user'=>$posts)); 21. } 22. ?>
selanjut nya kita bikin satu folder lagi dengan nama “System_A” kita asusmsikan ini sebagai Sistem A. buat file dengan nama "formlogin.php" :
Skrip di bawah ini adalah fungsi Login Untuk Action Form di atas :
1. <form class="form-signin" action="" method="post"> 2. <h2 class="form-signin-heading">Please sign in</h2> 3. <input type="text" class="input-block-level" name="email" placeholder="Email address"> 4. <input type="password" class="input-block-level" name="password" placeholder="Password"> 5. <button class="btn btn-large btn-primary" type="submit">Sign in</button> 6. </form>
Usesage dari fungsi di atas sebagai berikut :
1. <?php 2. function doLogin($url,$email,$password){ 3. 4. $datauser = array( 5. //'API_key' => $key, 6. 'email' => $email, 7. 'password' => $password, 8. ); 9. 10. $postdatauser = ""; 11. foreach($datauser as $k => $v){ 12. $postdatauser .= $k . "=" . $v."&"; 13. } 14. 15. //$postData = http_build_query($user_data); 16. $curlHandle = curl_init(); 17. curl_setopt($curlHandle, CURLOPT_URL, $url); 18. curl_setopt($curlHandle, CURLOPT_POSTFIELDS, $postdatauser); // 19. curl_setopt($curlHandle, CURLOPT_HEADER, 0); 20. curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1); 21. curl_setopt($curlHandle, CURLOPT_TIMEOUT,30); 22. curl_setopt($curlHandle, CURLOPT_POST, 1); 23. $string = curl_exec($curlHandle); 24. curl_close($curlHandle); 25. 26. return $string; 27. }
skrip di atas akan menghasilkan output berupa jSON:
echo doLogin("http://localhost/sistem_A/api.php",$_POST[“email”], $_POST[“password”]);
Selanjut nya kita akan meng-convert String jSON di atas menjadi Array dengan fungsi json_decode()
1. {"user":[ 2. { 3. "email":"faiz.fadly@gmail.com", 4. "username":"faiz fadly", 5. "password":"21232f297a57a5a743894a0e4a801fc3" 6. } 7. ] 8. }
Setelah itu kita akan melakukan pengecekan apakah user ada atau gak :
1. $string = doLogin("http://localhost/sistem_A/api.php",$username,$password); 2. $arr = json_decode($string,true); 3. $email = $arr['user'][0]['email']; 4. $password = $arr['user'][0]['password'];
1. if($email !=''){ 2. session_start(); 3. $_SESSION['email'] = $email; 4. $_SESSION['password'] = $password; 5. header("Location:targethalamansuksess.php");//arahkan ke target halaman suksess 6. }else{ 7. echo "Authentication Failed!"; 8. }
NOTE
Contoh di atas blom bisa di sebut API sesui dengan standar. terutama bagian login, pada umumnya login bisa menggunakan Basic Authentication atau OAuth(Oauth 1 dan 2). dan untuk koneksi API pun ada 2 legged dan 3 legged.
temen2 bisa mempelajari REST dll
Selesain. Semoga Bermanfaat :) , tetap sehat tetap semangat biar bisa nulis trus :).
klo tulisan di atas agak susah di baca teman-teman bisa membaca disini
Tidak ada komentar:
Posting Komentar