در آموزش قبلی ، نحوه ایجاد ثبت نام / ثبت نام کاربر در وب سرویس در PHP را آموختیم. اکنون ، در این آموزش نحوه یادگیری کاربر / ورود به سیستم سرویس وب را می آموزیم.

ساختار جدول MySQL برای جدول ثبت نام (این جدول همچنین در آموزش قبلی استفاده شده است)

CREATE TABLE `signup` (
  `id` int(11) NOT NULL,
  `fullName` varchar(120) DEFAULT NULL,
  `gender` varchar(100) DEFAULT NULL,
  `contactNumber` char(10) DEFAULT NULL,
  `email` varchar(150) DEFAULT NULL,
  `password` varchar(200) DEFAULT NULL,
  `regDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `signup`
  ADD PRIMARY KEY (`id`);

ایجاد یک فایل اتصال پایگاه داده (config.php)

<?php
// DB credentials.
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PASS','');
define('DB_NAME','database Name'); // put you database name here
// Establish database connection.
try
{
$dbh = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME,DB_USER, DB_PASS,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
}
catch (PDOException $e)
{
exit("Error: " . $e->getMessage());
}
?>

یک URL درخواست شده ایجاد کنید (http: //localhost/ws/signin.php)

<?php
include_once("config.php");
$usignin=json_decode(file_get_contents('php://input'),true);
$email=$usignin['email'];
$pass=$usignin['pwd'];
$sql ="SELECT id,fullName FROM signup WHERE  email=:uemal and password=:upass";
$query= $dbh->prepare($sql);
$query->bindParam(':uemal',$email, PDO::PARAM_STR);
$query->bindParam(':upass',$pass, PDO::PARAM_STR);
$query-> execute();
$results= $query -> fetchAll(PDO::FETCH_OBJ);
if($query -> rowCount() > 0)
{
	foreach($results as $reslt){
	$userid=$reslt->id;
	$fname=$reslt->fullName;
	}
$msg['StatusCode']="200";
$msg['StatusDescription']=array("UserId"=>$userid,"FullName"=>$fname);
echo json_encode($msg);
	
}else{
header("HTTP/1.1 400 Bad Request"); 
header('Content-Type: text/plain');
$msg['StatusCode']="300";
$msg['StatusDescription']="Invalid Details";
echo json_encode($msg);
}
?>

هدر (“نوع محتوا: application / JSON ”) عنوان HTTP JSON را به مرورگر می فرستد تا به او اطلاع دهد که چه نوع داده ای را انتظار دارد.
json_decode (file_get_contents (‘php: // input’) ، درست است) داده های ارسال RAW را از طریق جریان php: // input IO دریافت کنید.
ما داده های POST خام را از php: // ورودی جریان
سرتیتر(….) خط پاسخ http را شناسایی کنید.
هدر (“HTTP / 1.1 200 OK”) ؛ // برای تلاش موفق
هدر (“HTTP / 1.1 400 Bad Request”) ؛ // برای درخواست بد
سرصفحه (‘نوع محتوا: متن / ساده’) نشان می دهد که متن ساده است و برای خواندن مطالب نیازی به نرم افزار خاصی نیست.

نحوه تست این سرویس در سیستم محلی شما

  1. برنامه پستچی را از اینجا بارگیری کنید https://www.postman.com/downloads/
  2. برنامه پستچی را اجرا کنید
  3. روش ارسال HTTP را انتخاب کنید
  4. URL درخواستی را وارد کنید (http: //localhost/ws/signin.php)
  5. داده های درخواستی را در قالب JSON ارائه دهید
  6. دکمه ارسال را بزنید

پارامترهای ورودی به این صورت خواهد بود

{
“ایمیل”: “john@anc.com” ،
“pwd”: “نسخه ی نمایشی”
}

خروجی در قالب JSON خواهد بود

برای تلاش موفق

{“StatusCode”: “200 ″ ،” StatusDescription “: {” UserId “:” 1 ″ ، “FullName”: “John Doe”}}

برای تلاش ناموفق

مورد 1
{“StatusCode”: “205 ″ ،” StatusDescription “:” شناسه ایمیل از قبل وجود دارد. لطفا با ایمیل های مختلف امتحان کنید. “}
مورد 2
{“StatusCode”: “400 ″ ،” StatusDescription “:” مشکلی پیش آمد. لطفا دوباره تلاش کنید.}

بارگیری کد منبع (نحوه ایجاد ورود کاربر به سیستم / ورود به سیستم با سرویس وب در PHP)

اندازه: 5 کیلوبایت

نسخه: V 1.0