اذهب إلى المحتوى

Marwan800

الأعضاء
  • المساهمات

    69
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Marwan800

  1. مرحبا اخي شاكر لك الغالي ردك وتوضيحك لسبب المشكله فقط لدي استفسار لو تكرمت هل جميع البروسجر الذي كذا تحتاج حتى نعمل لها ايقاف مثل ما ذكرت انت؟ مثل هذا : showAlertDialog(BuildContext context){ AlertDialog alert=AlertDialog( content: new Row( children: [ CircularProgressIndicator(), Container(margin: EdgeInsets.only(left: 5),child:Text("Loading" )), ],), ); showDialog(barrierDismissible: false, context:context, builder:(BuildContext context){ return alert; }, ); } انا وجدت شرح يقول ان طريقة جعله يعمل بسطر التالي : showAlertDialog(context); وايقافه بسطر التالي: Navigator.pop(context); بنسبة الى السطر الاول بعد التطبيق هو فعلا اصبح يعمل ولكن لم استطيع ايقافه من خلال السطر الثاني لا اعلم لماذا تبدو هذا الطريقة ابسط لو كانت تعمل بشكل مثالي
  2. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع اقوم بستعمل Dialog لعرض CircularProgressIndicator في وقت احتياجها وهو كالتالي: مشكلتي كيف اعمل ايقاف له انا اضع دالة التشغيل مثلا في وقت الاستعلام ولكني احتاج ايقافه ايضا لم اجد طريقة لعمل ايقاف له واخفاه Future<Null> _submitDialog(BuildContext context) async { return await showDialog<Null>( context: context, barrierDismissible: false, builder: (BuildContext context) { return SimpleDialog( elevation: 0.0, backgroundColor: Colors.transparent, children: <Widget>[ Center( child: CircularProgressIndicator(), ) ], ); }); }
  3. اهلا بك عزيزي ربي يعطيك الف صحه وعافيه يا غالي ويزيدك من واسع فضله
  4. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع. لدي استفسار لو تكرمتو كيف نستخدم shared Preference مع نمط البيانات int في flutter الشيفرة البرمجية خاصتي: import 'package:shared_preferences/shared_preferences.dart'; class MyPreferences { static const PASSWORD = "passd"; static const PHONENUMBER = "phone"; static final MyPreferences instance = MyPreferences._internal(); static SharedPreferences _sharedPreferences; String passd = ""; String phone = ""; MyPreferences._internal() {} factory MyPreferences() => instance; Future<SharedPreferences> get preferences async { if (_sharedPreferences != null) { return _sharedPreferences; } else { _sharedPreferences = await SharedPreferences.getInstance(); passd = _sharedPreferences.getString(PASSWORD); phone = _sharedPreferences.getString(PHONENUMBER); return _sharedPreferences; } } Future<bool> commit() async { await _sharedPreferences.setString(PASSWORD, passd); await _sharedPreferences.setString(PHONENUMBER, phone); } Future<MyPreferences> init() async { _sharedPreferences = await preferences; return this; } }
  5. ربي يبارك لك في علمك ورزقك وزاردك الله من واسع فضله @محمد وسيم الحبش
  6. مرحبا اخي @محمد وسيم الحبش شكرا لك على ردك في البدايه توجد مشكله اخي الامر شغال نعم ولكن النتيجة كالتالي: {result: Login Matched, user: {id: 169, name: 1, phone: 1, extradata: null, state: 1, Joindate: null}} اما النتيجة المطلوبه كالتالي: {"0":"81","id":"81","1":"9","name":"9","2":"9","phone":"9","3":"9","password":"","4":,"5":"v":"result":"Login Matched"} اذا ممكن تلاحظ النتتيجة التي توجد بها مشكله المشكله هيا انه اعطاني النتيجة ولكن مصفوفة داخل مصفوفة او مصفوفة خارج التي هيا result: Login Matched وبعدها يسحب التفاصيل المتبقيه اما الكود الثاني كل البيانات في مصفوفة واحده مع result: Login Matched لتوضيح اكثر اقصد بكلامي الاقواس { } هذا المشكله تجعل كودي في فلاتر لا يستقبل الاستعلام بشكل الصحيح هل توجد طريقة لدمجهم في مصفوفة واحده مثل السابق حتى تعمل؟
  7. @محمد وسيم الحبشربي يعطيك الف صحه وعافيه اخي الكريم
  8. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع. كنت رابط كود php التالي بصفحة تسجيل دخول flutter <?php include 'connt.php'; $json = file_get_contents('php://input'); $_POST = json_decode($json,true); $phone = '9'; $password ='9'; $loginQuery = "select * from user where phone = '$phone' and password = '$password' "; $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); ?> وكان كل شي شغال 100%100 والنتيجة كالتالي تظهر لدي {"0":"81","id":"81","1":"9","name":"9","2":"9","phone":"9","3":"9","password":"","4":,"5":"v":"result":"Login Matched"} اما كود لفلاتر كالتالي: Future userLogin() async { setState(() { visible = true; }); final phoneController = TextEditingController(); final passwordController = TextEditingController(); String email = phoneController.text; String password = passwordController.text; var url = 'https://00000000000000/login.php'; var data = {'phone': email, 'password': password}; var response = await http.post(url, body: json.encode(data)); Map<String, dynamic> message = jsonDecode(response.body); id = message['id']; if (message['result'] == 'Login Matched') { setState(() { visible = false; }); Navigator.push(context, MaterialPageRoute(builder: (context) => Main()); ], ); }, ); } } ولكن قمت بتخزين الباسورد في قاعدة البيانات بواسطة $hashed_password لذلك كنت مجبر على تغير صفحة تسجيل الدخول اعلاه الى الشكل التالي: <?php include 'connt.php'; $json = file_get_contents('php://input'); $obj = json_decode($json,true); $phone = '1'; $sql = "select * from user where phone =?"; $stmt = $con->prepare($sql); $stmt->bind_param("s", $phone); $stmt->execute(); $result = $stmt->get_result(); $user = $result->fetch_assoc(); if($user){ $password ='1'; if (password_verify($password, $user['password'])) { $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 ; } }else{ echo "0000000"; } mysqli_close($con); ?> بعد التغير النتيجة التي احصل عليها كالتالي: {"result":"Login Matched"} هنا تكمن المشكله طبعا الكود شغال وصار بامكاني قراءة الباسورد المشفر ولكني احتاج الى استدعاء البيانات ايضا الخاصة ب اليوزر الذي قام بتسجيل الدخول كما حدث مع اول مثال حصلت على مصفوفة كامله بالاضافة الى Login Matched انا احتاج الى تلك البيانات في التطبيق حتى استعلام على سبيل المثال عن id حسب ما موضح في كود فلاتر اعلاه. هل يعلم احد طريقة حل هذا المشكلة ؟
  9. اهلا اخي @محمد وسيم الحبش اعلم اخي ولكن كيف ممكن استخرجها ؟الان كودي لا يعرض اي بيانات بعد التحقق من الباسورد هو فقط يتحقق
  10. اسعد الله اوقاتكم بكل خير ربي يعطيكم الف صحه وعافيه يا رب وشكر لكم كثير @محمد وسيم الحبش @أحمد حبنكة قمت بتطبيق ما تم ذكره وقمت باغلاق نقطة الحقن في الملف وتحقق من الرقم السري بالاضافة الى اسم المستخدم او رقم هاتفه المرتبط بحسابه ونتيجة النهائية كانت كالتالي: <?php include 'connt.php'; $json = file_get_contents('php://input'); $obj = json_decode($json,true); //$phone = $obj['phone']; $phone = '99999999'; $sql = "select * from user where phone =?"; $stmt = $con->prepare($sql); $stmt->bind_param("s", $phone); $stmt->execute(); $result = $stmt->get_result(); $user = $result->fetch_assoc(); if($user){ // $password = $obj['password']; $password ='1'; if (password_verify($password, $user['password'])) { $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 ; } }else{ echo ""; } mysqli_close($con); ?> الكود يعمل 100%100 الان ولكن توجد مشكلة بسيطة ظهرت سابقا الكود كان بعد التحقق يجلب لي بيانات المستخدم المحدد كلها المرتبطه به مثل اسم المستخدم رقم هاتفه كلمة السر الدولة وغيرها من بيانات التي توجد في قاعدة البيانات ولكن الان مع الكود اعلاه هذا الامر لا يحدث انا لا احصل على اي بيانات فقط يتم الاتصال او التحقق بنجاح هل يوجد حل لهذه المشكله؟انا احتاج الى بياناته حيث انني اقوم بعد تسجيل دخول المستخدم باخذ بياناته وتسجيلها في SharedPreferences لذلك انا احتاج الى البيانات ايضا هل يوجد حل لذلك؟لو بكلف عليكم اعتذر على ذلك
  11. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع لدي استفسار لو تكرمتو قمت بتخزين باسورد في قاعدة البيانات عن طريق عمل له : $hashed_password=password_hash($password,PASSWORD_DEFAULT); الان الكود يعمل بنجاح والباسورد يتم تخزينه بنجاح بطريقة الصحيحه ولكن اواجه مشكلة حيث انني لا استطيع استعادته بشكل الصحيح من خلال password_verify قمت بعمل محاولات مختلفه ولم ينجح الامر احاول استعادته من خلال الصفحة التالية : <?php include 'connt.php'; $json = file_get_contents('php://input'); $obj = json_decode($json,true); $password = $obj['password']; $loginQuery = "select * from user where password = '$password' "; $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); ?> احد يعرف ماذا ممكن اضيف الى الكود اعلاه حتى يعمل بشكل الصحيح في الاستعلام هذا الكود عباره عن صفحة تسجيل دخول المستخدم
  12. كل الشكر لكم وربي ينور دربكم فعلا المشكلة كلها في القسم الاخير كانت تم حل المشكلة ولله الحمد
  13. نعم لا توجد مشكلة ب هذا النقطه انا اعمل على اكثر من نموذج المشكله في الكود ب النفس اخي
  14. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع. لدي استفسار لو تكرمتو احاول تحويل ملف 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 بشكل التالي: Future CheckName() 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
  15. اهلا اخي الطريقة الاولى بنظري اسهل واسلس بنسبة الى ادارة التطبيق كل الشكر لك ي غالي
  16. اهلا بك اخي شاكر لك افادتك الغالي ربي يعطيك الف صحه وعافيه
  17. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع. استفسار اذا قمت بعمل تطبيق وقمت بعمل صفحات للادارة بمعنى الحذف والتعديل وغيرها من مهام التي تخص الادارين هل يجب ان اقوم بعمل تطبيق منفصل عن التطبيق الاساسي تطبيق خاص بالادارين ؟ او يمكن جعل كل شي في تطبيق واحد مع عمل خصائص مشاهدة وعدم مشاهدة للادارين والمستخدمون؟ وايهم افضل وياليت مع ذكر السبب لو امكن
×
×
  • أضف...