Web Service – SOAP – Cara Membuat Login

By , May 16, 2017,
Web Service - SOAP - Cara Membuat Login

Web Service – SOAP – Cara Membuat Login

Web Service – SOAP – Cara Membuat Login – Pengembangan aplikasi sistem menggunakan konsep web service menurut saya sangat unik. Selain dapat di kembangkan menjadi aplikasi yang lebih kompleks, misalkan aplikasi client server dengan kombinasi aplikasi dekstop dan juga web, web service juga dapat di aplikasikan kedalam pengembangan aplikasi mobile dengan web service.

Login, merupakan fitur autorisasi untuk masuk kedalam sebuah aplikasi. Pada web service khususnya SOAP dengan menggunakan library nusoap. Akses login, menggunakan data yang berada pada server. Untuk cara dan alur prosesnya yaitu, user memasukkan username dan password, kemudian data tersebut di baca dan di masukkan sebagai paramater untuk memanggil data lainya pada tabel database server, dan apabila data tersebut benar, maka akan di request kembali data respon yang di berikan oleh server.

Maka dengan respon tersebutlah dapat kita gunakan untuk mengautorisasi pada aplikasi client. Untuk membaca artikel tentang tutorial web service sudah saya kumpulkan pada kategori tutorial web service, Supaya kamu tahu, bagaimana konsep web service dengan begitu, untuk mengimplementasikan login dengan web service ini mudah di pahami, silahkan di baca.

Cara Membuat Login

Oke langsung saja, Untuk login ini sama dengan konsep tutorial yang saya berikan sebelumnya pada kategori tutorial web service. yang terpenting adalah meregister fungsi dan memberikan fungsi untuk membaca data login, namun pada data login ini, tabel database yang digunakan berbeda yaitu menggunakan tabel user:

Buat folder WS kemudian buat lagi folder di dalamnya “server” untuk meletakkan server.

1. Database “UKM“, tabel “user


-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: May 17, 2017 at 03:14 AM
-- Server version: 10.1.10-MariaDB
-- PHP Version: 5.6.19

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `ukm`
--

-- --------------------------------------------------------

--
-- Table structure for table `user`
--

CREATE TABLE `user` (
 `idUser` int(11) NOT NULL,
 `namaUser` varchar(150) NOT NULL,
 `telpUser` varchar(13) NOT NULL,
 `alamatUser` text NOT NULL,
 `username` varchar(50) NOT NULL,
 `password` varchar(50) NOT NULL,
 `foto` varchar(250) NOT NULL,
 `level` int(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `user`
--

INSERT INTO `user` (`idUser`, `namaUser`, `telpUser`, `alamatUser`, `username`, `password`, `foto`, `level`) VALUES
(2, 'Ibu Cynthia Dayan', '081959109190', 'Jl.Pepaya no.23, Pekanbaru', 'dayan', 'dayan', 'Islamic_Wallpaper_Mosque_004-1440x900.jpg', 4),
(4, 'Administrator', '081959109190', 'Jl.Subrantas no.13', 'admin', 'admin', '264428cee54fa195f80aecd98a18a903.jpg', 1),
(8, 'Ibu Mega', '081959109190', 'Jl.Pepaya no.23, Pekanbaru', 'mega', 'mega', 'Islamic_Wallpaper_Quran_004-1600x1050.jpg', 4),
(9, 'Dina Oktavia S', '081959109190', 'Jl.Pepaya no.23, Pekanbaru', 'dina', 'dina', 'Islamic_Wallpaper_Mosque_001-1366x768.jpg', 4),
(10, 'Petugas Pemasar', '-', '-', 'pemasar', 'pemasar', 'admin.jpg', 3),
(11, 'Petugas Pabrik', '081959109190', 'Jl.Cendana no.1, Pekanbaru', 'pabrikan', 'pabrikan', 'Capture.PNG', 2);

--
-- Indexes for dumped tables
--

--
-- Indexes for table `user`
--
ALTER TABLE `user`
 ADD PRIMARY KEY (`idUser`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `user`
--
ALTER TABLE `user`
 MODIFY `idUser` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

2. koneksi.php


$server = "localhost";
$username = "root" ;
$password = "" ;
$database = "ukm";

$con = new mysqli($server,$username,$password,$database);
if($con->connect_error){
 die("Koneksi gagal: ".$con->connect_error);
}

3. server.php

Berikut script untuk server, letakkan di dalam folder server


<?php
require_once('lib/nusoap.php');
include 'koneksi.php';
$ns = "http://".$_SERVER['HTTP_HOST']."/ws/server/server.php";//setting namespace
$server = new soap_server();
$server->configureWSDL('SERVER SOAP UKM', 'urn:ukmServerWSDL'); // configure WSDL file
$server->wsdl->schemaTargetNamespace = $ns; // server namespace
########################Data User##############################################################
 // Complex Array Keys and Types Data User
 $server->wsdl->addComplexType("userData","complexType","struct","all","",
 array(
 "idUser"=>array("name"=>"idUser","type"=>"xsd:int"),
 "namaUser"=>array("name"=>"namaUser","type"=>"xsd:string"),
 "telpUser"=>array("name"=>"telpUser","type"=>"xsd:string"),
 "alamatUser"=>array("name"=>"alamatUser","type"=>"xsd:string"),
 "username"=>array("name"=>"username","type"=>"xsd:string"),
 "password"=>array("name"=>"password","type"=>"xsd:string"),
 "foto"=>array("name"=>"foto","type"=>"xsd:string"),
 "level"=>array("name"=>"level","type"=>"xsd:string")
 )
 );
 // Complex Array Data User
 $server->wsdl->addComplexType("userArray","complexType","array","","SOAP-ENC:Array",
 array(),
 array(
 array(
 "ref"=>"SOAP-ENC:arrayType",
 "wsdl:arrayType"=>"tns:userData[]"
 )
 ),
 "userData"
 );
 // End Complex Type User
########################/Data User##############################################################
////////////////////////Register//////////////////////////////////////////////////////

//Ambil data login user
 $server->register('loginUser', // method name
 array('input' => 'xsd:Array'), // input parameters
 array('output' => 'xsd:Array'), // output parameters
 $ns, // namespace
 "urn:".$ns."/loginUser", // soapaction
 "rpc", // style
 "encoded", // use
 "Mengambil Data login User"); // documentation
//Ambil data profil user

////////////////////////Register//////////////////////////////////////////////////////
#++++++++++++++++++++++++++++++++++ Function +++++++++++++++++++++++++++++++++++++++#

//login
function loginUser($param) {
 global $con;
 global $host;
 $r = $con->query("SELECT * FROM user WHERE username = '$param[user]' AND password = '$param[pass]' AND level IN ('2','3')");
 while($value= $r->fetch_assoc()){
 $return_value[] = array(
 'idUser'=> $value['idUser'],
 'namaUser'=> $value['namaUser'],
 'telpUser'=> $value['telpUser'],
 'alamatUser'=> $value['alamatUser'],
 'username'=> $value['username'],
 'password'=> $value['password'],
 'foto'=> $value['foto'],
 'level'=> $value['level'],
 'hostServer'=> $host
 );
 }
 return $return_value;
}

#++++++++++++++++++++++++++++++++++ Function +++++++++++++++++++++++++++++++++++++++#

&nbsp;

&nbsp;
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>

4. client.php

Beriktu script untuk client yang menampilkan form login:


<?php
require_once('lib/nusoap.php');
$client = new nusoap_client('http://127.0.0.1/ukm/server/config/server.php?wsdl', true);
$err = $client->getError();
if ($err) {
 echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
if(isset($_POST['submit'])){
$user = $_POST['us'];
 $pass = $_POST['pw'];
 $param = array('user'=>$user,'pass'=>$pass);
 $result = $client->call('loginUser',array($param));
 // Apabila username dan password ditemukan
 //print_r($result);exit;
 if (!empty($result)) {
 foreach ($result as $u) {
 $_SESSION['username'] = $u[username];
 $_SESSION['password'] = $u[password];
 $_SESSION['nama'] = $u[namaUser];
 $_SESSION['telp'] = $u[telpUser];
 $_SESSION['alamat'] = $u[alamatUser];
 $_SESSION['foto'] = $u[foto];
 $_SESSION['level'] = $u[level];
 $_SESSION['id'] = $u[idUser];
 $_SESSION['hostServer'] = $u[hostServer];
 echo "<script>window.location = '".$host."'; </script>";
 }
 }else{
 echo "<script> alert('Username atau Password salah !');window.location = '".$host."'; </script>";
 }
}
?>
<div class="form-box" id="login-box">
 <div class="header">LOGN CLIENT SOAP</div>
 <form action="" method="post">
 <div class="body bg-gray">
 <div class="form-group">
 <input type="text" name="us" class="form-control" placeholder="Username" required/>
 </div>
 <div class="form-group">
 <input type="password" name="pw" class="form-control" placeholder="Password" required/>
 </div>
 </div>
 <div class="footer">
 <button type="submit" class="btn bg-olive btn-block">LOGIN</button>
 </div>
 </form>
 </div>

Demikian cara Cara Membuat Login web service semoga bermanfaat. Jika ada yang ditanyakan silahkan berikan komentar di bawah ini:

Leave a Reply

Your email address will not be published. Required fields are marked *