احاول تحويل ملف php لحمايته الى Prepared statements .
الملف الاصلي كالتالي وهو شغال 100%100 قبل التعديل:
<?php
include 'connt.php';
$json = file_get_contents('php://input');
$obj = json_decode($json,true);
$Name = $obj['Name'];
$loginQuery ="select * from Users where Name = '$Name' ";
$check = mysqli_fetch_array(mysqli_query($con,$loginQuery));if($check){
$check['result']='Login Matched';
$SuccessMSG = json_encode($check);
echo $SuccessMSG ;}else{
$InvalidMSG= array("result"=>"Invalid Username or Password Please Try Again");
$InvalidMSGJSon = json_encode($InvalidMSG);
echo $InvalidMSGJSon ;}
mysqli_close($con);?>
وهو مرتبط ب كود الاستعلام في للغة flutter بشكل التالي:
FutureCheckName() async {
setState((){
visible =true;});// var url = 'https://///////////////.php';
var data ={'Name': nameController.text};
var response = await http.post(url, body: json.encode(data));Map<String, dynamic> message = jsonDecode(response.body);if(message['result']=='Login Matched'){
setState((){
visible =false;});Navigator.push(context,MaterialPageRoute(builder:(context)=>Main()));}else{
setState((){
visible =false;});
_showMyDialog();}}
كما هو واضح في الكود اعلاه الي احاول اعمله هو التحقق في حالة كان الاسم متطبق وصار Login Matched المستخدم سوف ينتقل الى صفحة مختلفة وفي حالة كانت توجد مشكلة رح يشاهد رسالة منبثقة
الان بعد تعديل الكود بشكل التالي :
<?php
include 'connt.php';
$json = file_get_contents('php://input');
$obj = json_decode($json,true);
$Name = $obj['Name'];
$sql ="SELECT * FROM Users WHERE Name=?";// SQL with parameters
$stmt = $con->prepare($sql);
$stmt->bind_param("s", $Name);
$stmt->execute();
$result = $stmt->get_result();// get the mysqli result
$user = $result->fetch_assoc();// fetch data if($result){
$check['result']='Login Matched';
$SuccessMSG = json_encode($check);
echo $SuccessMSG ;}else{
$InvalidMSG= array("result"=>"Invalid Username or Password Please Try Again");
$InvalidMSGJSon = json_encode($InvalidMSG);
echo $InvalidMSGJSon ;}
mysqli_close($con);?>
اصبح ينتقل في كل الحالات يعني دائما يصير له Login Matched حتى ولو الاسم غلط
احد يعرف حل هذا المشكله لو تكرمتو احاول تحويل الملف الاول الى Prepared statements
السؤال
Marwan800
السلام عليكم ورحمة الله وبركاته
تحيه طيبه للجميع.
لدي استفسار لو تكرمتو
احاول تحويل ملف php لحمايته الى Prepared statements .
الملف الاصلي كالتالي وهو شغال 100%100 قبل التعديل:
وهو مرتبط ب كود الاستعلام في للغة flutter بشكل التالي:
كما هو واضح في الكود اعلاه الي احاول اعمله هو التحقق في حالة كان الاسم متطبق وصار Login Matched المستخدم سوف ينتقل الى صفحة مختلفة وفي حالة كانت توجد مشكلة رح يشاهد رسالة منبثقة
الان بعد تعديل الكود بشكل التالي :
اصبح ينتقل في كل الحالات يعني دائما يصير له Login Matched حتى ولو الاسم غلط
احد يعرف حل هذا المشكله لو تكرمتو احاول تحويل الملف الاول الى Prepared statements
تم التعديل في بواسطة Marwan8005 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.