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

بلال زيادة

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

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

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

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

    30

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

  1. يجب استخدام real website لا يعمل السيرفر الشخصي على الموبايل لذلك يظهر الخطأ.
  2. يمكنك تغيير api الى 10.0.2.2:8000 وتجربة ذلك
  3. العفو, يمكنك وضع أي سؤال هنا و سنسعد بمساعدتك.
  4. نفس الملفات المرفقة أخر شيء
  5. أنه يعمل لدي بشكل ممتاز.
  6. يبدو انك اخطأت في عمل النطاق الخاص بك على الخادم, ما هو البرنامج الذي تستخدمه.
  7. يجب أن يظهر ولقد ظهر معي في الملفات التي قمت بتحميلها مسبقاً, هل تقومي بتحديث الصفحة عن طريق ctrl + f5 ثم تخبريني بالنتيجة , إذا لم ينجح أرفقي الملفات مرة أخرى.
  8. ممكن تضعي كيف وضعتي الكلاس و التنسيقات.
  9. يمكنك في ملف rag.php تغيير الأسطر التالية <div class="input-group"> <label>Password</label> <input type="Password" name="Password_1"> </div> <div class="input-group"> <label>Confirm Password</label> <input type="Password" name="Password_2"> </div> إلى <div class="input-group"> <label>Password</label> <input type="password" name="password_1"> </div> <div class="input-group"> <label>Confirm Password</label> <input type="password" name="password_2"> </div>
  10. هكذا يتم وضع الشيفرة $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']); لأن mysqli_real_escape_string تأخذ متغيرين أو متغير هو متغير الأتصال و الثاني القيمة الممررة.
  11. يجب تغييرها إلى mysqli_real_escape_string()
  12. يجب إضافة method="POST" إلى form فيصبح <form class="post" action="rag.php" method="POST"> فستظهر معك الأخطاء لانه في ملف server.php قمنا بوضع هذا الشرط if(isset($_POST['register'])){ أي أنه يتحقق أنه هناك قيمة تم إرسالها بإستخدام POST.
  13. يجب تحويل البيانات التي تكون على شكل json إلى متغيرات PHP باستخدام json_decode ,وهذه الدالة تقوم بأخذ سلسلة JSON المشفرة وتحويلها إلى متغير PHP. فيمكننا التحقق من بيانات json في المتحكم بهذه الطريقة use Validator; public function store(Request $request) { $data = json_decode($request->payload, true); $rules = [ 'name' => 'digits:8', 'age' => 'digits:8' ]; $validator = Validator::make($data, $rules); if ($validator->passes()) { // ... } else { // ... dd($validator->errors()->all()); } }
  14. توفر لارافل Middlewars لتعطيك قابلية تحكم أكثر في مشروعك فيمكنك من خلال Middlewase تحديد صلاحيات و أدوار الأعضاء و السماح بالتحكم في الصفحات من خلال المشاهدة والتحكم و الحذف والتعديل, فيمكنك إنشاء Middleware باستخدام الأمر التالي php artisan make:middleware IsAdmin فستلاحظ أنه تم إنشاء هذا الملف في المسار التالي app\Http\Middleware\IsAdmin.php فيتم وضع التالي if (Auth::user() && Auth::user()->type !== "admin") { return redirect('home')->with('error','You have not admin access'); } return $next($request); بداخل الملف في دالة handle فيصبح الملف كاملاً بهذا الشكل <?php namespace App\Http\Middleware; use Closure; use Auth; class IsAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (Auth::user() && Auth::user()->type !== "admin") { return redirect('home')->with('error','You have not admin access'); } return $next($request); } } وفي المسار التالي لملف Kernel.php app\Http\Kernel.php يمكنك في المصفوفة $routeMiddleware وضع مسار ملف Middleware الذي تم إنشاءه بهذه الطريقة 'admin' => \App\Http\Middleware\IsAdmin::class, ويمكنك تحديد المسارات لمسؤولين الموقع وهم Admins عن طريق استخدام هذا Middleware Route::group(['middleware' => ['auth', 'admin']], function() { ... });
  15. يمكنك تخصيص الرسائل لعمليات التحقق في لارافل بهذا الشكل request()->validate([ 'file' => 'required', 'type' => 'required' ], [ 'file.required' => 'You have to choose the file!', 'type.required' => 'You have to choose type of the file!' ]); $rules = array( 'URL' => 'required|url' ); $messages = array( 'URL.required' => 'URL is required.' ); $validator = Validator::make( $request->all(), $rules, $messages ); if ( $validator->fails() ) { return [ 'success' => 0, 'message' => $validator->errors()->first() ]; } يمكنك ايضا استخدام trans إذا كنت تستخدم الموقع بعدة لغات مثل ['name.required'=> trans('user.your first name is required'], $rules = [ 'username' => 'required,unique:users,username', 'password' => 'required', 'email' => 'required,unique:users,email' ]; $messages = [ 'required' => 'The :attribute field is required.', 'unique' => ':attribute is already used' ]; $request->validate($rules,$messages);
  16. بالإضافة إلى ما ذكر من قبل المدرب @Alfakiat , و لمزيد من التخصيص في كيفية الحصول على الاستعلامات , ضع في اعتبارك اختراق المصدر وإنشاء الأمر المخصص الخاص بك, إليك بعض التعليمات البرمجية السريعة للحصول على جميع عمليات الترحيل $migrator = app('migrator'); $db = $migrator->resolveConnection(null); $migrations = $migrator->getMigrationFiles('database/migrations'); $queries = []; foreach($migrations as $migration) { $migration_name = $migration; $migration = $migrator->resolve($migration); $queries[] = [ 'name' => $migration_name, 'queries' => array_column($db->pretend(function() use ($migration) { $migration->up(); }), 'query'), ]; } dd($queries); والنتيجة تكون array:2 [ 0 => array:2 [ "name" => "2014_10_12_000000_create_users_table" "queries" => array:2 [ 0 => "create table "users" ("id" integer not null primary key autoincrement, "name" varchar not null, "email" varchar not null, "password" varchar not null, "remember_token" varchar null, "created_at" datetime not null, "updated_at" datetime not null)" 1 => "create unique index users_email_unique on "users" ("email")" ] ] 1 => array:2 [ "name" => "2014_10_12_100000_create_password_resets_table" "queries" => array:3 [ 0 => "create table "password_resets" ("email" varchar not null, "token" varchar not null, "created_at" datetime not null)" 1 => "create index password_resets_email_index on "password_resets" ("email")" 2 => "create index password_resets_token_index on "password_resets" ("token")" ] ] ] سيشمل هذا الكود على جميع عمليات الترحيل, لمعرفة كيفية الحصول على ما لم يتم ترحيله بالفعل , ألق نظرة على دالة run في المسار التالي vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php
  17. يمكنك تغيير التحقق ليصبح بهذا الشكل Validator::make($postData, [ 'firstName' => 'string|max:255|nullable', 'lastName' => 'string|max:255|nullable' ]); ليتم قبول القيمة إذا كان لا يوجد في أي حقل نص, لذلك هذه الحالة مفيدة جدا في حالة إضافة ملاحظات أو إزالتها.
  18. يمكنك استخدام first() بهذا الشكل $about = Page::where('page', 'about-me')->first(); ويمكنك جلب البيانات بالأسلوب الذي تتبعه مثل {{ $about->title }} إذا كنت لا تريد تغيير get إلى first فيمكنك جلب البيانات في view بهذه الطريقة {{ $about[0]->title }} او بإستخدام foreach loop مثل @foreach ($about as $ab) {{ $ab->title }} @endforeach
  19. معظم الأخطاء تظهر عند استعمال الجوال الحقيقي غير المحاكي لذلك يجب التأكد من أنه لا يوجد خطأ في عملية إرسال البيانات في المحاكي ثم في الجوال الحقيقي , ايضا تأكد من وضع الصلاحيات المناسبة كالاتصال ببيانات الجهاز أو Wifi. حاول تشغيل المشروع من موجه الأوامر باستخدام flutter run لمعرفة ما إذا كانت هناك أي مشكلة أم لا. يمكنك ايضا من استخدام حزمة flutter_flipperkit من هنا . للتتبع الأخطاء في تطبيقك وعمل تقارير بها. ايضا يمكنك إرفاق ملفات مشروعك هنا لنساعدك في تتبع الأخطاء و حلها معاً.
  20. مرحبا ممكن تحدد أي مشكلة , لأنه مش مفهوم أي مشكلة من الصورة ؟
  21. هناك العديدمن الأكواد و الأشكال المكتوبة بلغات html, css, js يمكنك تفقد أكثرها من هنا أو من هنا أو يمكنك من إنشاء العداد الخاص بك و من ثم إرفاقه في موقعك من هنا
  22. هل ممكن توضيح للمشكلة أكثر , لانه ظاهر انه التحقق يعمل بشكل صحيح , ايضا يمكنك إرفاق ملفات مشروعك لنساعدك في حلها.
  23. يمكنك استخدام node.js أو javascript للتعامل مع zoom api بحيث إذا أردت برمجة نظام مصادقة يمكنك استخدام الكود var request = require("request"); var options = { method: 'POST', url: 'https://zoom.us/oauth/token', qs: { grant_type: 'authorization_code', //The code below is a sample authorization code. Replace it with your actual authorization code while making requests. code: 'B1234558uQ', //The uri below is a sample redirect_uri. Replace it with your actual redirect_uri while making requests. redirect_uri: 'https://abcd.ngrok.io' }, headers: { /**The credential below is a sample base64 encoded credential. Replace it with "Authorization: 'Basic ' + Buffer.from(your_app_client_id + ':' + your_app_client_secret).toString('base64')" **/ Authorization: 'Basic abcdsdkjfesjfg' } }; request(options, function(error, response, body) { if (error) throw new Error(error); console.log(body); }); ايضا يمكنك استخدام jwt من هنا ,
  24. يمكنك إرجاع قيمة إذا فشلت عملية إرسال البريد الإلكتروني من خلال استخدام Mail::failures بهذا الشكل Mail::send(...) if( count(Mail::failures()) > 0 ) { echo "هناك عدة أخطاء في عملية إرسال البريد الإلكتروني: <br />"; foreach(Mail::failures() as $email_address) { echo " - $email_address <br />"; } } else { echo "تم إرسال البريد الإلكتروني"; } يمكنك أيضًا استخدام "Swift_TransportException" لتحديد أي أخطاء. try{ //هنا كود إرسال الأيميل }catch(\Swift_TransportException $transportExp){ //$transportExp->getMessage(); }
  25. يسمح لك Forge بنشر وتكوين الخادم الخاص بك, يعتمد تكوين الخادم هذا على Homestead وسيوفر لك بيئة مألوفة لاستضافة تطبيقات Laravel الخاصة بك, بالإضافة إلى أي تطبيقات أخرى قد ترغب في نشرها هناك. إذا كنت تريد تحكمًا إضافيًا في عمليات النشر الخاصة بك, فهذا هو المكان الذي يأتي فيه Envoyer. إنها طبقة SaaS مبنية على أسس خدمة Envoy المتاحة لعمليات النشر المحلية. يوفر لك تحكمًا دقيقًا في أدوات النشر, والمهام الإضافية التي قد ترغب في تشغيلها, بالإضافة إلى القدرة على التراجع بسهولة إلى إصدار سابق في حالة تعرضك لأخطاء.
×
×
  • أضف...