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

بلال زيادة

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

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

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

  • عدد الأيام التي تصدر بها

    30

كل منشورات العضو بلال زيادة

  1. حاول طباعة قيمة mysqli_num_rows($ask) و معرفة ماذا ترجع لك , لأنه يبدو أنه ترجع رقم 0 فلذلك ينفذ الشرط , يجب أن يكون لا يساوي صفر الشرط , بسبب أنه يوجد سجل.
  2. إذا كان يوجد سجلات لها نفس قيمة order_id فيمكنك حذف السجل ثم يمكنك استخدام استعلام ORDER BY DESC LIMIT 1 ليتم فحص آخر سجل هل يساوي id قيمة order_id و بالتالي الاستعلام التالي يكون $ask = $conn->query("select * from order_collars WHERE order_id='$id' ORDER BY order_id DESC LIMIT 1"); و بناء عليه يتم تعديل حقل collar أو لا , هل يمكنك تجربة ذلك وأخباري بالنتيجة.
  3. صحيح , يجب تحويله إلى utf8mb4_general_ci.
  4. توفر أكاديمية حسوب عدة دورات يتم شرح فيها كيفية إنشاء تطبيقات للموبايل باستخدام لغات معينة , فلنبدأ بدورة تطوير التطبيقات باستخدام JavaScript و يمكنك زيارة رابط الدورة من هنا , حيث ستتعلم في هذه الدورة إنشاء تطبيقات للموبايل عديدة باستخدام react native و من هذه التطبيقات: تطوير تطبيق جوال باستخدام React Native , حيث ستتعلم تطوير تطبيق جوال عبر مكتبة React Native باستخدام Expo. تطوير تطبيق محادثة شبيه بتطبيق WhatsApp, حيث ستتعلم تطوير تطبيق تفاعلي يتيح التخاطب بين المتصفح والخادم في الوقت الحقيقي. تطوير تطبيق أسئلة وأجوبة باستخدام Next.js, حيث ستتعلم تطوير تطبيق أسئلة وأجوبة ونقاشات باستخدام Next.js مع واجهات Material-UI. ايضا هناك دورة أخرى و هي دورة تطوير تطبيقات الجوال باستخدام تقنيات الويب يمكنك زيارة رابط الدورة من هنا , حيث ستتعلم في هذه الدورة ايضا إنشاء تطبيقات للموبايل باستخدام HTML, CSS , JavaScript , ومن هذه التطبيقات: تطبيق مشاركة وصفات الطعام وهو تطبيق تواصل لمشاركة الأطعمة ومكوناتها وطريقة تحضيرها وصور عنها. تطوير تطبيق لمطعم وهو تطبيق لمطعم باستخدام إطار العمل Ionic 4. تطوير تطبيق لطلاب المدارس وهو تطبيق لتسهيل التواصل بين المدرسة وطلابها عبر Ionic 4 ومكتبة React.js. بناء تطبيق لموقع ووردبريس وهو تطبيق لموقع خبري من البداية إلى النهاية خطوة بخطوة. تطوير تطبيق قائمة مهام وهو تطبيق قائمة مهام من البداية إلى النهاية خطوة بخطوة.
  5. صحيح , يمكنك فعله و لكن كلما زاددت الأعداد التي تريد جلب أكبر قيمة منها يكون الأمر معقد و ما دام هناك دالة تتكفل بهذا الأمر لابد من استخدامها حتى لا نقع بمشاكل, ويمكنك تمرير أكثر من رقمين إلى دالة Math.max .
  6. يمكنك استخدام Math.max لتقوم بجلب أكبر عدد من مجموعة الأعداد التي يتم تمريرها إلى دالة Math.max و تكون تركيب الدالة بهذا الشكل Math.max(value, value1, value2); و في حالة الكود الخاص بك يجب إدخال كود جلب قيمة الحقل بداخل دالة typeWord لتصبح الدالة بهذا الشكل function typeWord(){ var x = document.getElementById('num1'); var b = document.getElementById('num2'); var a = Math.max(x.value, b.value); document.getElementById('demo').innerHTML= a } لاحظ أنه قمنا بإنشاء متغير a ليقوم بتخزين أكبر قيمة عن طريق استخدام Math.max و تمرير متغير a إلى العنصر الذي قيمة id الخاصة به هي demo ليتم طباعتها. var a = Math.max(x.value, b.value); document.getElementById('demo').innerHTML= a
  7. هل يمكنك إرفاق الكود الخاص بك لأنظر إلى أي جزئية وصلت ؟
  8. صحيح , يمكنك الاعتماد على هذه الدالة .
  9. هذا الكود جزء من ألية كاملة لجلب ip زائر الموقع , لذلك يمكنك إنشاء دالة لتقوم بجلب ip الزائر باستخدام مصفوفة $_SERVER فيمكنك إنشاء دالة باسم getClientIP بهذا الشكل function getClientIP( ) { } ثم بداخل الدالة نقوم بإنشاء متغير وليكن باسم ip function getClientIP( ) { $ip = ""; } ثم نقوم باستخدام دالة if لتحقق من ip الزائر بهذا الشكل function getClientIP( ) { $ip = ""; if ( isset( $_SERVER['REMOTE_ADDR'] ) ) { $ip = $_SERVER['REMOTE_ADDR']; } else if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else if ( isset( $_SERVER['HTTP_CLIENT_IP'] ) ) { $ip = $_SERVER['HTTP_CLIENT_IP']; } echo $ip; } لاحظ أن المصفوفة $_SERVER لديها ثلاث قيم لجلب ip الزائر $_SERVER['REMOTE_ADDR']; $_SERVER['HTTP_X_FORWARDED_FOR']; $_SERVER['HTTP_CLIENT_IP']; فقمنا بعمل دالة شرطية للتحقق من هذه القيم الثلاث لنتمكن من جلب ip ثم نقوم بتخزين هذه القيم بداخل متغير ip ثم نستخدم echo لطباعة المتغير ip و يمكنك استخدام هذه الدالة بهذه الطريقة <?php echo getClientIP( ); ?>
  10. يمكنك استخدام ListView ثم بداخل Listview يمكنك استخدام Column فيكون ترتيب Widgets بهذا الشكل import 'package:flutter/material.dart'; class DashboardPage extends StatefulWidget { final CategoryModel? category; const DashboardPage({Key? key, this.category}) : super(key: key); @override _DashboardPageState createState() => _DashboardPageState(); } class _DashboardPageState extends State<DashboardPage> { @override void initState() { super.initState(); } final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>(); @override Widget build(BuildContext context) { return Scaffold( key: _scaffoldKey, appBar: AppBar( title: Text(S.of(context).appName), centerTitle: true, backgroundColor: Colors.white, ), body: RefreshIndicator( child: ListView( shrinkWrap: true, scrollDirection: Axis.vertical, children: [ Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( height: 150, child: Container(), ), SizedBox( child: Container(), ), ), ], ), ], ), onRefresh: _refreshhandle, ), ); } Future<Null> _refreshhandle() async { return null; } } مما يسمح لك بعمل سكرول للصفحة مع إمكانية تثبيت عناصر معينة في الأعلى و جعل باقي العناصر عليها تأثير سكرول
  11. هل لديك الكود الخاص بك ؟ سوف تستخدم مع الجافاسكريبت لغة PHP حيث يمكنك استخدام جافاسكريبت لتحقق من الحقول المدخلة و PHP لتقوم بتخزين بيانات هذه الحقول بداخل قاعدة البيانات. فكل ما عليك هو إنشاء جدول بقاعدة البيانات CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, PRIMARY KEY (`id`) ); و من ثم يمكنك إنشاء فورم إدخال البيانات و يكون بلغة HTML <form action="index.php" method="POST"> <input type="text" name="name" /> <input type="email" name="email" /> <input type="password" name="password" /> <input type="submit" name="submit" /> </form> ومن ثم عند الضغط على الزر سوف يقوم بإرسال هذه البيانات إلى الملف الذي يوجد بداخل خاصية action في form <form action="index.php" method="POST"> ثم سوف نستخدم المصفوفة $_POST لإستقبال البيانات من الفورم $name = $_POST['name']; $email = $_POST['email']; $password = md5($_POST['password']); ثم ننشأ اتصال بقاعدة البيانات $connection = mysqli_connect("localhost", "username", "password", "database"); ثم ندخل البيانات إلى قاعدة البيانات عن طريق الاستعلام insert بهذا الشكل $sql = "INSERT INTO users (`id`, `name`, `email`, `password`) VALUES ('', '$name' ,'$email' ,'$password')"; $query = mysqli_query($connection, $sql); فيكون كامل كود PHP هو <?php if(isset($_POST['submit'])){ $connection = mysqli_connect("localhost", "username", "password", "database"); $name = $_POST['name']; $email = $_POST['email']; $password = md5($_POST['password']); $sql = "INSERT INTO users (`id`, `name`, `email`, `password`) VALUES ('', '$name' ,'$email' ,'$password')"; $query = mysqli_query($connection, $sql); } ?>
  12. هل يمكنك إرفاق ملفات مشروعك بشكلٍ مضغوط لأنه لن استطيع تفقد المشكلة من خلال الأكواد أو الصور.
  13. يبدو أنكِ لم تثبتين المكتبة المناسبة لذلك حاول رجاء تثبيت المكتبة التالية من خلال الأمر التالي npm install -g sass ثم تقومين بإغلاق CMD و من ثم فتحه مرة أخرى و من ثم تقومين بكتابة الكود الخاص بتحويل Scss إلى css.
  14. هل يمكنك وضع صورة لكيف تقومين بتنفيذ الأوامر
  15. يمكنك تشغيل cmd كمسؤول من خلال الضغط على أبدأ ثم تكتبي cmd ثم تضغطي على تشغيل كمسؤول.
  16. يمكنك تثبيت الحزمة التالية من خلال الأمر التالي npm install -g node-sass ثم يمكنك إعادة تشغيل المشروع من خلال الأمر التالي npm run build ايضا يمكنك محاولة حذف الكاش من خلال الأمر التالي npm cache clean --force ثم تجربة تنفيذ الأمر السابق في الأول لتقوم بتثبيت الحزمة من جديد.
  17. يمكنك مراسلة الدعم الفني من هنا و يمكنك وضع أي سؤال يجول في خاطرك بخصوص الدورات و سقوم الدعم الفني بالرد عليك و الإجابة على جميع أسئلتك.
  18. يمكنك صنع دالة للتحقق من شهادة ssl فحيث يمكنك إنشاء الدالة بهذا الشكل function isSSL( ) { } ومن ثم يمكنك استخدام مصفوفة $_SERVER لجلب قيمة HTTPS بهذا الشكل $_SERVER['HTTPS'] حيث ايضا يمكنك استخدام دالة preg_match لتقوم بتطبيق تعبيراً نمطياً على سلسلة نصية وتركيب هذه الدالة هو int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int$offset = 0 ]]] ) بحيث أن pattern هو النص المراد البحث عنه, كسلسة نصية, subject السلسلة النصية المُدخلة , matches إذا ضُبِطَت قيمة المعامل matches، فستُملأ تلك المصفوفة بنتائج البحث. إذ ستحتوي ‎‎‎‎$matches[0]‎ على النص الذي يطابق النمط الكامل، وستحتوي ‎‎‎‎$matches[1]‎ على النص الذي يطابق أول نمط فرعي محاط بالأقواس، وعند تطبيق preg_match( "/^(|off|false|disabled)\$/i", $_SERVER['HTTPS'] ) سوف تعيد لنا الدالة 1 إذا كانت الشهادة مفعلة و صفر إذا كانت غير مفعلة function isSSL( ) { return !( !isset( $_SERVER['HTTPS'] ) || preg_match( "/^(|off|false|disabled)\$/i", $_SERVER['HTTPS'] ) ); } ومن ثم يمكنك استخدام هذه الدالة بداخل دالة getBaseUrl بهذا الشكل function getBaseUrl( ) { return ( isssl( ) ? "https://" : "http://" ).$_SERVER['HTTP_HOST'].strrev( strstr( strrev( $_SERVER['PHP_SELF'] ), "/" ) ); } بحيث تضع بجانب الرابط https:// إذا كانت الشهادة مفعلة و تضع http:// إذا كانت الشهادة غير مفعلة .
  19. يمكنك استخدام trigger لمحو البيانات من الفورم في حالة نجاح المهمة أو فشلها , في حالة نجاح المهمة تكون بهذه الطريقة success: function(response) { $('form').trigger("reset"); } و في حالة فشل المهمة error:function(response){ $('form').trigger("reset"); } فيكون كامل الكود بهذا الشكل <script> $(document).ready(function(e) { $("#messages").on('submit', function(e) { e.preventDefault(); $.ajax ({ type: 'POST', url: 'send.php', data: new FormData(this), dataType: 'json', contentType: false, cache: false, processData:false, success: function(response) { $('form').trigger("reset"); }, error:function(response){ console.log("DD"); $('form').trigger("reset"); } }); }); }); </script>
  20. يبدو أنكِ لم تقومي بتعريف bottomsheet عند الضغط على الزر , فيمكنك وضع bottomsheet عند النقر على الزر بهذه الطريقة onPressed: () { showModalBottomSheet( context: context, builder: (context) { return Column( mainAxisSize: MainAxisSize.min, children: <Widget>[ ListTile( leading: new Icon(Icons.photo), title: new Text('Photo'), onTap: () { Navigator.pop(context); }, ), ListTile( leading: new Icon(Icons.music_note), title: new Text('Music'), onTap: () { Navigator.pop(context); }, ), ListTile( leading: new Icon(Icons.videocam), title: new Text('Video'), onTap: () { Navigator.pop(context); }, ), ListTile( leading: new Icon(Icons.share), title: new Text('Share'), onTap: () { Navigator.pop(context); }, ), ], ); }); }
  21. صحيح دالة mail تستخدم لأرسال بريد إلكتروني على البريد الإلكتروني الذي تود إرسال له هذا البريد, في البداية حتى تستطيع ارسال بريد إلكتروني من خلال أي صفحة بالموقع يجب أن نعرف دالة تكون قابلة للاستخدام بأي وقت و من أي صفحة فمثلاً يمكننا إنشاء دالة باسم sendMail بهذا الشكل function sendMail( ) { } ثم نمرر لها المتغيرات التالية function sendMail( $to, $from, $subject, $message ) { } حيث أن المتغير $to هو البريد الإلكتروني الذي نود إرسال بريد إليه. و متغير $from هو البريد لصاحب الموقع أو للشخص الذي قام بإرسال هذا البريد. و $subject هو عنوان البريد المرسل و $message هو نص الرسالة التي تم إرسالها بالبريد ثم بداخل الدالة نقوم بوضع ترميز utf-8 لعنوان الرسالة كما في الكود التالي $subject = sprintf( "=?utf-8?B?".base64_encode( $subject )."?=" ); ثم قمنا بإرسال headers الازمة عن طريق متغير $headers $headers = sprintf( "To: %s <%s>\nFrom: %s\nMIME-Version: 1.0\nContent-type: text/html; charset=utf-8", $to, $to, $from ); ثم قمنا بتمرير المتغيرات إلى دالة mail كما في الكود التالي return mail( $to, $subject, $message, $headers ); فتكون كامل الدالة function sendMail( $to, $from, $subject, $message ) { $subject = sprintf( "=?utf-8?B?".base64_encode( $subject )."?=" ); $headers = sprintf( "To: %s <%s>\nFrom: %s\nMIME-Version: 1.0\nContent-type: text/html; charset=utf-8", $to, $to, $from); return mail( $to, $subject, $message, $headers ); } ويمكن استخدام الدالة بهذه الطريقة <?php $to = "البريد المرسل إليه"; $from = "بريد المرسل"; $subject = "عنوان البريد"; $message = "نص البريد"; sendMail($to,$from,$subject,$message);
  22. تبحث الدالة strpos()‎ عن أول ظهور لمحارف معينة في سلسلة نصية ثم تعيد ترتيب موقعها في تلك السلسلة. و تركيب هذه الدالة int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) حيث المتغير $haystack هي السلسلة النصية التي ستبحث عنها. و المتغير $needle مجموعة المحارف التي ستبحث الدالة عنها. إن لم تكن تلك المحارف سلسلة نصية، فستحول إلى عدد صحيح وتعامل على أنها قيمة ترتيبية للمحارف. و متغير $offset معامل اختياري وهو قيمة إزاحة المؤشر من بداية السلسلة النصية والذي يبدأ عنده البحث. إن كانت قيمة هذا المعامل سالبة، فسيبدأ البحث بعد إزاحة المؤشر من نهاية السلسلة النصية والذي سيبدأ عند البحث. ومن الأمثلة على هذه الدالة <?php $mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme); // لاحظ أنَّنا استعملنا المعامل ===. لن يجدي استعمال المعامل == نفعًا إذ لن يعمل كما //.هو الأول أي 0 'a' هو متوقع له لأنَّ موقع المحرف الذي نبحث عنه if ($pos === false) { echo "The string '$findme' was not found in the string '$mystring'"; } else { echo "The string '$findme' was found in the string '$mystring'"; echo " and exists at position $pos"; } ?> حيث يمكنك الرجوع إلى شرح هذه الدالة على موقع ويكي حسوب من هنا .
  23. الأمر طبيعي , وسوف يستغرق وقت في الظهور ولا توجد مشكلة محددة في هذا الأمر
  24. لاحظ أنه لم تقم بحفظ الملف , ولو أردت التأكد من ذلك سوف تلاحظ أنه يوجد نقطة بيضاء بجانب اسم الملف و هو page.html فعليك حفظ الملف بعد الأنتهاء من كتابة الأكواد عن طريق الضغط على قائمة file ثم save أو بالضغط على لوحة المفاتيح على الزرين ctrl + s او من خلال فائمة file يمكنك تعليم خيار auto save , هل لو سمحت قمت بحفظ الملف و تجربة فتحه مرة أخرى و أخباري بالنتيجة.
  25. هل يمكنك إرفاق الكود الذي كتبته , ايضا يفضل لو أنت مسجل في الدورة ان تقوم بكتابة التعليق أسفل الفيديو الذي تشاهده , كي يتم الرد عليك و حل مشكلتك بأسرع وقت , يمكنك الأطلاع على هذا الرابط لكي تعرف كيف تقوم بطرح الأسئلة أسفل كل فيديو من هنا .
×
×
  • أضف...