در آموزش قبلی ، نحوه ایجاد ثبت نام / ثبت نام کاربر در وب سرویس در 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”) ؛ // برای درخواست بد
سرصفحه (‘نوع محتوا: متن / ساده’) نشان می دهد که متن ساده است و برای خواندن مطالب نیازی به نرم افزار خاصی نیست.
نحوه تست این سرویس در سیستم محلی شما
- برنامه پستچی را از اینجا بارگیری کنید https://www.postman.com/downloads/
- برنامه پستچی را اجرا کنید
- روش ارسال HTTP را انتخاب کنید
- URL درخواستی را وارد کنید (http: //localhost/ws/signin.php)
- داده های درخواستی را در قالب JSON ارائه دهید
- دکمه ارسال را بزنید
پارامترهای ورودی به این صورت خواهد بود
{
“ایمیل”: “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