Membuat Web Services Sederhana Menggunakan PHP

Posted on 15/12/2012 by azuharu

Web services memungkinkan dua buah aplikasi untuk saling berkomunikasi meskipun aplikasi tersebut berbeda platform. Dengan menggunakan web services, aplikasi berplatform Java dapat saling berkomunikasi dengan aplikasi berplatform PHP.

Lebih konkrit lagi, contoh web services dapat anda lihat ketika mengakses sebuah website tertentu yang memiliki fasilitas komentar menggunakan facebook. Anda tidak pernah memberikan akun facebook anda di website tersebut, tetapi secara otomatis anda dapat memberikan komentar tanpa harus login ke facebook lagi. Kok bisa?

Ya, karena website tersebut menggunakan web service dari facebook. Post berikut ini membahas mengenai cara membuat web service menggunakan PHP. Tutorial membuat web service Java dapat anda lihat di sini.

Membuat Web Services Menggunakan PHP

Bagi anda yang sedang belajar web services, berikut ini saya menuliskan bagaimana cara untuk membuat web service secara sederhana menggunakan PHP. Selain itu, anda dapat melihat index tutorial untuk membuat web services.

Dengan mengikuti tutorial di bawah ini, saya yakin anda dapat dengan mudah memahami bagaimana konsep dari web service.

Langsung saja, ceritanya saya memiliki dua buah aplikasi, yaitu sistem1 dan sistem2. Sistem2 akan melakukan login dengan menggunakan sistem1, sehingga sistem1 harus menyediakan service yang dapat memenuhi kebutuhan sistem2 untuk melakukan login.

Coding saya lakukan dengan menggunakan Netbeans, servernya saya tempatkan di localhost menggunakan XAMPP.

Di dalam Netbeans, saya membuat dua buah project yaitu sistem1 dan sistem2, sistem1 terdapat sebuah file yaitu services.php dan sistem2 terdapat dua file yaitu index.php dan ceklogin.php

Untuk database dari sistem1, saya beri nama sistem1 berisi sebuah tabel: user, dengan dua field yaitu username dan password. Untuk tutorial cara membuat database dapat dilihat di tutorial membuat database dengan mysql.

Berikut adalah source dari kedua project tersebut:

Sistem1, services.php

services.php
<?php
 
//koneksi database sistem1
mysql_connect("localhost", "root", "");
mysql_select_db("sistem1");
 
//membaca username dan password dari GET request
$user = $_GET['username'];
$pass = $_GET['password'];
 
//membaca data user dan password dari database
$query = "SELECT * FROM user WHERE username = '$user'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
$password = $data['password'];
 
//mencocokkan password di sistem1 dengan password yang diinput user
if($pass == $password)
{
    $response = "TRUE";
}
 else
{
     $response = "FALSE";
}
 
//membuat header dokumen XML
header('Content-Type: text/xml');
echo "<?xml version='1.0' ?>";
//membuat tag data respon pada dokoumen XML
echo "<data>";
echo "<response>".$response."</response>";
echo "</data>";
 
//cek browser
//http://localhost/sistem1/services.php?username=user1&password=password1
 
?> 

Untuk mengecek apakah service sudah benar, silakan buka browser dan cek URL berikut,

http://localhost/sistem1/services.php?username=user1&password=password1

Sistem2, index.php

index.php
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Service  Login</title>
    </head>
    <body>
        <form method="post" action="cek_login.php">
            <table>
                <tr>
                    <td>Username</td>
                    <td><input type="text" name="username" id="username"/></td>
                </tr>
                <tr>
                    <td>Password</td>
                    <td><input type="password" name="password" id="password"/></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" name="submit" value="Login"></td>
                </tr>
            </table>
 
        </form>
    </body>
</html>

dan cek_login.php

cek_login.php
<?php
//membaca username dan password dari form login
$username =  $_POST['username'];
$password = $_POST['password'];
 
//membuat URL GET request ke sistem1
$url = "http://localhost/sistem1/services.php?username=".$username."&password=".$password;
 
//mengirim GET request ke sistem1 dan membaca respon XML-nya
$xml_response = simplexml_load_file($url);
 
//membaca XML dari sistem1
foreach($xml_response->response as $response)
{
    if($response == "TRUE")
    {
    echo "Login Sukses";
    }
    else if($response == "FALSE")
    {
       echo "Login Gagal";
    }
}
 
?>

Silakan jalankan di browser file index.php dari sistem2.

Selamat mencoba!

Sumber : http://azuharu.net/php/membuat-web-services-menggunakan-php/