-
المساهمات
4657 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
30
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو بلال زيادة
-
يجب إضافة method="POST" إلى form فيصبح <form class="post" action="rag.php" method="POST"> فستظهر معك الأخطاء لانه في ملف server.php قمنا بوضع هذا الشرط if(isset($_POST['register'])){ أي أنه يتحقق أنه هناك قيمة تم إرسالها بإستخدام POST.
- 19 اجابة
-
- 1
-
-
يجب تحويل البيانات التي تكون على شكل 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()); } }
-
توفر لارافل 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() { ... });
-
يمكنك تخصيص الرسائل لعمليات التحقق في لارافل بهذا الشكل 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);
-
بالإضافة إلى ما ذكر من قبل المدرب @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
- 2 اجابة
-
- 1
-
-
يمكنك تغيير التحقق ليصبح بهذا الشكل Validator::make($postData, [ 'firstName' => 'string|max:255|nullable', 'lastName' => 'string|max:255|nullable' ]); ليتم قبول القيمة إذا كان لا يوجد في أي حقل نص, لذلك هذه الحالة مفيدة جدا في حالة إضافة ملاحظات أو إزالتها.
-
يمكنك استخدام 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
-
معظم الأخطاء تظهر عند استعمال الجوال الحقيقي غير المحاكي لذلك يجب التأكد من أنه لا يوجد خطأ في عملية إرسال البيانات في المحاكي ثم في الجوال الحقيقي , ايضا تأكد من وضع الصلاحيات المناسبة كالاتصال ببيانات الجهاز أو Wifi. حاول تشغيل المشروع من موجه الأوامر باستخدام flutter run لمعرفة ما إذا كانت هناك أي مشكلة أم لا. يمكنك ايضا من استخدام حزمة flutter_flipperkit من هنا . للتتبع الأخطاء في تطبيقك وعمل تقارير بها. ايضا يمكنك إرفاق ملفات مشروعك هنا لنساعدك في تتبع الأخطاء و حلها معاً.
- 21 اجابة
-
- 1
-
-
هناك العديدمن الأكواد و الأشكال المكتوبة بلغات html, css, js يمكنك تفقد أكثرها من هنا أو من هنا أو يمكنك من إنشاء العداد الخاص بك و من ثم إرفاقه في موقعك من هنا
-
هل ممكن توضيح للمشكلة أكثر , لانه ظاهر انه التحقق يعمل بشكل صحيح , ايضا يمكنك إرفاق ملفات مشروعك لنساعدك في حلها.
- 19 اجابة
-
- 1
-
-
يمكنك استخدام 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 من هنا ,
- 3 اجابة
-
- 1
-
-
يمكنك إرجاع قيمة إذا فشلت عملية إرسال البريد الإلكتروني من خلال استخدام 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(); }
- 2 اجابة
-
- 1
-
-
يسمح لك Forge بنشر وتكوين الخادم الخاص بك, يعتمد تكوين الخادم هذا على Homestead وسيوفر لك بيئة مألوفة لاستضافة تطبيقات Laravel الخاصة بك, بالإضافة إلى أي تطبيقات أخرى قد ترغب في نشرها هناك. إذا كنت تريد تحكمًا إضافيًا في عمليات النشر الخاصة بك, فهذا هو المكان الذي يأتي فيه Envoyer. إنها طبقة SaaS مبنية على أسس خدمة Envoy المتاحة لعمليات النشر المحلية. يوفر لك تحكمًا دقيقًا في أدوات النشر, والمهام الإضافية التي قد ترغب في تشغيلها, بالإضافة إلى القدرة على التراجع بسهولة إلى إصدار سابق في حالة تعرضك لأخطاء.
- 2 اجابة
-
- 1
-
-
يمكنك تغيير السطر التالي بحيث تستطيع وضع المتغير إلى الاستعلام $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE $username"); إلى السطر التالي $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE " . $username . ""); ومن ثم التأكد من الأتصال بقاعدة البيانات , و التأكد من الجدول الذي سيتم إحداث تغييرات بداخله.
-
في ملف livewire.php داخل مجلد config يمكنك تغيير السطر التالي إلى 'rules' => 'file|mimes:png,jpg,pdf|max:102400',
-
لجعل هذه الملفات قابلة للوصول من الويب , يجب عليك إنشاء ارتباط رمزي من public/storage إلى storage/app/public عن طريق الأمر التالي . php artisan storage:link
- 1 جواب
-
- 1
-
-
يمكنك القيام بذلك عن طريق حذف الملفات تلقائيًا في المجلد لكل طلب باستخدام الأوامر التالية php artisan view:clear php artisan optimize:clear أو عن طريق المتصفح يمكنك استخدام Artisan::call('view:clear'); أو يمكنك استخدام Middleware لتنفيذ ذلك بهذا الشكل <?php namespace App\Http\Middleware; use Artisan; use Closure; class ViewCacheClear { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (env('APP_DEBUG') || env('APP_ENV') === 'local') Artisan::call('view:clear'); return $next($request); } }
-
قم بحذف foreign key ثم إضافته مرة أخرى وتشغيل php artisan migrate public function up() { Schema::table('table_one', function (Blueprint $table) { $table->dropForeign(['table_two_id']); $table->foreign('table_two_id') ->references('id') ->on('table_two') ->onDelete('cascade'); }); }
-
يمكنك استخدام ini_set('max_execution_time', '300'); //300 seconds = 5 minutes أو استخدام set_time_limit(300); أو من خلال ملف .htaccess <IfModule mod_php5.c> php_value max_execution_time 259200 php_value max_input_time 259200 php_value session.gc_maxlifetime 1200 </IfModule>
-
يجب إنشاء مفتاح جديد لمشروع لارافل الخاص بك عن طريق الأمر التالي php artisan key:generate أو من خلال المتصفح يجب إنشاء مسار في ملف web.php مثلا Route::get('install, 'InstallController@index); و بداخل المتحكم في دالة index يمكنك استخدام التالي return \Artisan::call('key:generate'); أو بصورة مباشرة Route::get('key',function(){ return Artisan::call('key:generate'); });