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

بلال زيادة

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

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

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

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

    30

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

  1. سهل التعامل مع المكتبة يوجد بالتوثيق الخاص بها شرح مفصل يمكنك استخدامها بكل سهولة, إذا أردت يمكنك إرفاق ملفات مشروعك و سأساعدك في ذلك.
  2. يمكنك التحويل بتغيير دوال الأستعلامات بكل ما يساويه في Prepared Statement Bind Param فعملية الأتصال بقاعدة البيانات تكون بهذا الشكل $mysqli = new mysqli( 'hostname', 'username', 'password', 'database' ); و في عملية جلب البيانات تكون $stmt = $mysqli -> prepare('SELECT * FROM users WHERE id = ?'); $userId = 2; $stmt -> bind_param('i', $userId); $stmt = $mysqli -> prepare('SELECT name, email FROM users WHERE id = ?'); $userId = 1; $stmt -> bind_param('i', $userId); $stmt -> execute(); $stmt -> store_result(); $stmt -> bind_result($name, $email); $stmt -> fetch(); echo $name; echo $email; ولجلب أكثر من سجل نستخدم $stmt = $mysqli -> prepare('SELECT name, email FROM users'); $stmt -> execute(); $stmt -> store_result(); $stmt -> bind_result($name, $email); while ($stmt -> fetch()) { echo $name; echo $email; } و في حالة الكود الخاص بك <?php $mysqli = new mysqli( 'hostname', 'username', 'password', 'database' ); if (!isset($_SESSION['loggedin'])) { $session = session_id(); } else { $session = $_SESSION['id']; } $time = time(); $time_check = $time-10; //We Have Set Time 5 Minutes //$sql = "SELECT * FROM online_users WHERE session='$session'"; //$result = mysqli_query($db, $sql); $stmt = $mysqli->prepare("SELECT * FROM online_users WHERE session=?"); $stmt->bind_param('i', $session); $stmt->execute(); //$count = mysqli_num_rows($result); $count = $stmt->num_rows; //If count is 0 , then enter the values if ($count == "0") { //$sql1 = "INSERT INTO online_users(session, time)VALUES('$session', '$time')"; ///$result1 = mysqli_query($db, $sql1); $stmt = $mysqli->prepare("INSERT INTO online_users(session, time)VALUES(?,?)"); $stmt->bind_param('ss', $session, $time); $stmt->execute(); } else { //$sql2 = "UPDATE online_users SET time='$time' WHERE session = '$session'"; //$result2 = mysqli_query($db, $sql2); $stmt = $mysqli -> prepare('UPDATE online_users SET time=? WHERE session = ?'); $stmt -> bind_param('si', $time, $session); $stmt -> execute(); } //$sql3 = "SELECT * FROM online_users"; //$result3 = mysqli_query($db, $sql3); $stmt = $mysqli->prepare("SELECT * FROM online_users"); $stmt->execute(); ////$count_user_online = mysqli_num_rows($result3); $count_user_online = $stmt->num_rows; echo 'online now : '.$count_user_online.' visitor '; //$sql4 = "DELETE FROM online_users WHERE time<$time_check"; //$result4 = mysqli_query($db, $sql4); $stmt = $mysqli -> prepare('DELETE FROM online_users WHERE time<?'); $stmt -> bind_param('i', $time_check); $stmt -> execute(); // number of deleted rows echo $stmt->affected_rows; ?>
  3. ممكن ترفق الكود كاملاً هنا أشوف طريقة استخدامك. عبارة عن كلاس.
  4. ممكن تستخدم datatable لجعل الأمر يبدو وكأنه realtime يمكنك القراءة أكثر عن datatable من هنا ايضا يمكنك استخدام ajax في فعل ذلك, يمكنك إرفاق الملفات كاملا لنساعدك في هذا الأمر.
  5. العفو , أي سؤال يمكنك طرحه هنا لنتمكن من مساعدتك في حله. ممكن تظهر اله شريط بحث ويقوم بالبحث ثم تحديد مكانه. ثم ممكن تحفظ بيانات موقعه باستخدام sharedPrefrences ثم ترسله في api لينحفظ بداخل قاعدة البيانات. أي طريقة جيدة ولكن المتبع هو اول ما يفتح الخريطة تقوم بإظهار أخر موقع له تم حفظه.
  6. العلامة لها خاصية onDragEnd. يعطي استخدام خاصية onDragEnd خط عرض وخط طول جديدين. Marker( onTap: () { print('Tapped'); }, draggable: true, markerId: MarkerId('Marker'), position: LatLng(value.latitude, value.longitude), onDragEnd: ((newPosition) { print(newPosition.latitude); print(newPosition.longitude); })) ثم يمكنك استخدام newPosition.latitude newPosition.longitude لتخزينهم في قاعدة البيانات.
  7. الخطأ التالي require(D:\xampp\htdocs\app\vendor\composer/../../app/Helpers/Dashbaord/profitCalculation.php): failed to open stream: No such file or directory أنه لا يستطيع فتح الملف في المسار المذكور لذلك يجب التأكد من اسم الملف أو المسار في ملف composer.json ثم قم بتنفيذ الأمر التالي composer dump-autoload
  8. أولاً: يمكنك استخدام وسم <style> p{ color: red; } </style> ثانيا: يمكنك استخدام خاصية style. <p style="color: red;">Hello</p> ثالثاً: يمكنك تضمين ملف خارجي بهذا الشكل <link rel="stylesheet" href="style.css" /> يمكنك وضع الوسم قبل وسم إغلاق </head> و style.css هو ملف التنسيقات التي توضع فيه جميع تنسيقات العناصر.
  9. أولاً: فلاتر هي Framework مبرمج باستخدام dart. بخصوص إيهما أفضل كاستخدام من ناحية الباك اند, هذا الأمر يحدده الشخص المبرمج, إذا كان يريد استخدام firebase أو nodejs أو حتى php أو أي لغة أخرى, طبيعة مشروعك هي التي تحدد أي باك أند تريد استخدامه. هناك أمور يجب الأخذ بها مثل التكلفة مقارنة باستخدام nodejs ب firebase, السرعة من حيث تنفيذ الاستعلامات. ولكن لا يوجد لغة تستخدم في الباك اند أفضل من أي لغة أخرى, يمكنك استخدام ما تريده و تستطيع إكمال مشروعك به.
  10. يمكنك الإطلاع دائما إلى ملفات logs حتى تعرف ما هي الأخطاء و تقوم بحلها ستجد ملف logs في المسار التالي root_project/storage/logs ثم في ملف laravel.log ستجد الأخطاء, ويمكنك العمل على حلها. جميع الأخطاء تخزن في هذا الملف يمكنك الرجوع إليه في حالة عدم معرفة ما سبب المشكلة.
  11. يمكنك عن طريق التوثيق الخاص بالحزمة متابعة تنزيلها, ويمكنك باستخدام composer من تثبيت الحزمة عن طريق الأمر التالي composer require laravel/horizon أو يمكنك في ملف composer.json وضع التالي في require "laravel/horizon": "^0.1.0", // هنا الأصدار الذي تريده ثم قم بتنفيذ الأمر التالي composer install أو composer update ثم بعد التثبيت يتم نشر الأصول الخاصة بالحزمة من خلال الأمر التالي php artisan horizon:install بعدما يتم نشر الأطول ستجد ملف horizon.php داخل مجلد config. ثم يمكنك الرجوع إلى مستودع الحزمة على github فستجد كافة الإعدادات التي تريدها.
  12. php artisan schedule:run يقوم أمر التشغيل بتشغيل الأوامر الأخرى التي تكون جاهزة للتشغيل في وقت تنفيذها. لذا فهذا يعني أنه في ذلك الوقت المحدد الذي قمت بتشغيله فيه, لم يكن هناك أمر يجب أن يبدأ. يمكنك استخدام هذه الطريقة * * * * * php /var/www/html/myprojectname/artisan schedule:run >> /dev/null 2>&1
  13. هناك مجموعة من محددات الأصناف الزائفة وهي : :link :visited :active :hover :focus :first-child :last-child :nth-child :nth-last-child :nth-of-type :first-of-type :last-of-type :empty :target :checked :enabled :disabled ثم لإضافة أي تنسيق للعنصر يمكنك استخدام nth-child بهذا الشكل li:nth-child(1){ } li:nth-child(2){ } li:nth-child(3){ } أو يمكنك أختيار الأعداد الفردية من خلال li:nth-child(odd) { color: green; } و الأعداد الزوجية من خلال li:nth-child(even) { color: green; }
  14. يمكنك من خلال الأمر التالي إضافة إي حقل لجدول تم زرعه بقاعدة البيانات php artisan migrate:make add_paid_to_posts في لارافل 5+ يمكنك استخدام الأمر التالي php artisan make:migration add_paid_to_posts_table --table=posts في ملف قاعدة البيانات في مجلد databases/migrations يمكنك التعديل على الملف ليصبح بهذا الشكل public function up() { Schema::table('posts', function($table) { $table->integer('paid'); }); } و لا تنسى إضافة rollback public function down() { Schema::table('posts', function($table) { $table->dropColumn('paid'); }); } ثم تنفيذ الأمر التالي php artisan migrate
  15. يمكنك المشاركة على الواتس أب بهذه الطريقة <a href="whatsapp://send?text=The text to share!" data-action="share/whatsapp/share">Share via Whatsapp</a> فقمنا باستخدام whatsapp://send?text ومن ثم قمنا بوضع النص الذي نود مشاركته.
  16. هل ممكن ترفق الملفات بصيغة مضغوطة, لنساعدك في حل المشكلة؟
  17. هل ممكن ترفق الملفات بصيغة مضغوطة, لنساعدك في حل المشكلة؟ ايضا تأكد من اسم الصورة وامتدادها.
  18. يمكنك استخدام مكتبة sweet alert من هنا , يمكنك تخصيص أي شكل تريدين أن يظهر في صفحاتك.
  19. فحصت الملفات ولكن لم أجد أنك قمتي بتعديلهن هذا ملف server.php بعد التعديل <?php session_start(); $username=""; $email= ""; $errors=array(); $db = mysqli_connect('localhost','root','','registration') ; if(isset($_POST["register"])){ $username= mysqli_real_escape_string($db, $_POST['username']); $email= mysqli_real_escape_string($db, $_POST['email']); $password_1= mysqli_real_escape_string($db, $_POST['password_1']); $password_2= mysqli_real_escape_string($db, $_POST['password_2']); //-------------------------------------------------- if(empty($username)){ array_push($errors,"Username is required"); //add error to errors array } if(empty($email)){ array_push($errors,"Email is required");} if(empty($password_1)){ array_push($errors,"Password is required");} if($password_1 != $password_2){ array_push($errors, "The two password do not match ");} //---------------------------------------------- if(count($errors) == 0){ $password= md5($password_1); // encrypt password befor string i database (security) $sql= "INSERT INTO users (username, email , password) VALUES ( '$username ', '$email' , '$password') "; mysqli_query($db , $sql); $_SESSION['username']=$username; $_SESSION['succcess']="You are now logged in"; header('location:index1.php'); } } //log user in from login page if (isset($_POST["login"])) { $username= mysqli_real_escape_string($db, $_POST['username']); $password= mysqli_real_escape_string($db, $_POST['password_1']); //-- if(empty($username)){ array_push($errors,"username is required");} if(empty($password)){ array_push($errors,"Password is required");} if(count($errors) == 0){ $password = md5($password); $query="SELECT * FROM users WHERE username='$username' AND password='$password'"; $result=mysqli_query($db , $query); if(mtsqli_num_rows($result)==1){ $_SESSION['username']=$username; $_SESSION['succcess']="You are now logged in"; header('location:index1.php'); } else{ array_push($errors,"worng username/password combination"); } } } //-----------logout if (isset($_GET['logout'])) { session_destroy(); unset($_SESSION['username']); header('location: login.php'); } ?>
  20. لديكي مشكلة وهي الخطأ في كتابة اسم حقل كلمة المرور فيمكنك تغيير التالي $password= mysqli_real_escape_string($db, $_POST['password']); إلى السطر التالي $password= mysqli_real_escape_string($db, $_POST['password_1']);
  21. يمكنك تغيير السطر التالي <input type="Password" name="Password_1"> بالسطر التالي <input type="password" name="password_1"> في الملفات المرفقة في السؤال الذي قبل هذا.
  22. يمكنك الضغط أعلى يمين الصفحة على كلمة Settings في cpanel وتحديد Show hidden files ثم save فسيظهر الملف .htaccess و يمكنك التعديل عليه او تغييره.
×
×
  • أضف...