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

لوحة المتصدرين

  1. سمير عبود

    سمير عبود

    الأعضاء


    • نقاط

      4

    • المساهمات

      3492


  2. Abdulraheem Barghouthi

    Abdulraheem Barghouthi

    الأعضاء


    • نقاط

      2

    • المساهمات

      182


  3. Talaat Magdy

    Talaat Magdy

    الأعضاء


    • نقاط

      1

    • المساهمات

      181


  4. Yomna Raouf

    Yomna Raouf

    الأعضاء


    • نقاط

      1

    • المساهمات

      2193


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 02/17/21 in أجوبة

  1. يمكنك إسكات تحذيرات وإلغاء تفعيل SSL عن طريق تعديل الـurl الخاصة بقاعدة البيانات وإضافة useSSL=false و autoReconnect=true حيث ستكون الـurl كالتالي: jdbc:mysql://localhost:2000?autoReconnect=true&useSSL=false
    2 نقاط
  2. يُمكن ذلك بإضافة حقل جديد لجدول المُستخدم banned_until و إستخدام middleware تعمل على منع المُستخدم من تسجيل الدخول إذا كان في فترة توقيف حسابه إضافة الحقل banned_until إلى جدول المستخدمين: php artisan make:migration add_banned_until_to_users_table هذا الأمر سيُنشئ ملف تهجير يُمكننا من إضافة حقل جديد لجدول المستخدمين. class AddBannedUntilToUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('users', function (Blueprint $table) { $table->timestamp('banned_until')->nullable(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('users', function (Blueprint $table) { $table->dropColumn('banned_until'); }); } } بعد ذلك نقوم بتنفيذ أمر التهجير: php artisan migrate هذا يعني أن المُستخدم إن كانت banned_until فارغة أي null فإن الحساب نشيط، اما إن كان بالحقل تاريخ مُستقبلي فإن الحساب قد تم إيقافه. نضيف الحقل إلى مصفوفة fillable و مصفوفة dates في النموذج User و ذلك حتى نستطيع مُعاملة الحقل على أنه تاريخ: class User extends Authenticatable { protected $fillable = [ 'name', 'email', 'password', 'banned_until' ]; protected $dates = [ 'banned_until' ]; } نقوم بإنشاء middleware نُسميها CheckBanned بهذا الأمر: php artisan make:middleware CheckBanned سيتم إنشاء الmiddleware في المسار التالي app/Http/Middleware نقوم بفتح الملف و نُعدل على الدالة handle بالشكل التالي: <?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; use Illuminate\Support\Str; class CheckBanned { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle(Request $request, Closure $next) { if (auth()->check() && auth()->user()->banned_until && now()->lessThan(auth()->user()->banned_until)) { $banned_days = now()->diffInDays(auth()->user()->banned_until); auth()->logout(); $message = 'Your account has been suspended for '.$banned_days.' '.Str::plural('day', $banned_days).'. Please contact administrator.'; return redirect()->route('login')->withMessage($message); } return $next($request); } } تعمل الmiddleware على التحقق من أن المُصادقة تمت أي أن المستخدم أدخل بيانات صحيحة، و أن الحقل banned_until لهذا المُستخدم ليس فارغ و أن الحقل به تاريخ مُستقبلي: إذا تحققت هذه الشروط تقوم بحساب فارق الأيام بين التاريخ الحالي و تاريخ الإيقاف و تقوم بتسجيل خروج للمُستخدم و إعادة توجيهه إلى صفحة تسجيل الخروج مع تمرير الرسالة. يُمكن تمرير رسالة مُختلفة بحسب عدد الأيام كأن نتحقق إن كان عدد الأيام أقل من 20 نعرض عدد الأيام و إذا كان عدد الأيام اكبر لا نعرض عدد الأيام. فقط نقول أن الحساب تم إيقافه و لا نذكر المدة. الأمر راجع لك في هذه النقطة. يتبقى تسجيل هذه الmiddleware و يتم ذلك على مستوى الملف app/Http/Kernel.php في المصفوفة middlewareGroups داخل المصفوفة ذات المفتاح web: protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, // ... other middleware classes \App\Http\Middleware\CheckBanned::class, ], الآن نقوم بعرض الرسالة في حالة كانت موجودة على مستوى صفحة العرض login.blade.php: <div class="card-body"> @if (session('message')) <div class="alert alert-danger">{{ session('message') }}</div> @endif <form method="POST" action="{{ route('login') }}"> ... و هذه النتيجة:
    2 نقاط
  3. بإمكانك إستخدام أمر إنشاء ملف تهجير فملفات التهجير ليست مُخصصة فقط لإنشاء الجداول و إنما تُمكنك أيضاً من إضافة عمود جديد لجدول بيانات أيضاً. لنفترض أننا نريد إضافة عمود age للجدول users فيتم ذلك عن طريق الأمر التالي: php artisan make:migration add_age_to_users_table هذا الأمر سيُنشئ لنا ملف migration جديد و سيحتوي على الصنف التالي: class AddAgeToUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('users', function (Blueprint $table) { }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('users', function (Blueprint $table) { }); } } الآن نقوم بإضافة العمود في الدالة up و من خلال الدالة down نقوم بحذفه كما هو موضح أدناه: <?php public function up() { Schema::table('users', function (Blueprint $table) { $table->unsignedTinyInteger('age')->nullable()->after('username'); }); } و هذا يعني أننا نريد إضافة العمود age على أنه unsignedTinyInteger إضافة الى أنه سيكون فارغ إفتراضياً و سيُضاف بعد العمود username. أما الدالة down ستكون بهذا الشكل: <?php public function down() { Schema::table('users', function (Blueprint $table) { $table->dropColumn('age'); }); } و بالتالي كل ما عليك الآن هو تنفيذ امر التهجير: php artisan migrate هذا الأمر سيُنفذ الدالة up و يُضيف العمود الجديد. أما الدالة down يتم تنفيذها عند تنفيذ أمر rollback الذي سيحذف العمود age.
    2 نقاط
  4. السلام عليكم هل يوجد طريقة اعرض صور في موقعي الشخصي عن طريقة استرجاع صور مضافة من my sql في لغة php؟
    1 نقطة
  5. لدي البيانات التالية كـJSON: [ { "id": 1, "name": "Leanne Graham", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kulas Light", "suite": "Apt. 556", "city": "Gwenborough", "zipcode": "92998-3874", "geo": { "lat": "-37.3159", "lng": "81.1496" } }, "phone": "1-770-736-8031 x56442", "website": "hildegard.org", "company": { "name": "Romaguera-Crona", "catchPhrase": "Multi-layered client-server neural-net", "bs": "harness real-time e-markets" } }, { "id": 2, "name": "Ervin Howell", "username": "Antonette", "email": "Shanna@melissa.tv", "address": { "street": "Victor Plains", "suite": "Suite 879", "city": "Wisokyburgh", "zipcode": "90566-7771", "geo": { "lat": "-43.9509", "lng": "-34.4618" } }, "phone": "010-692-6593 x09125", "website": "anastasia.net", "company": { "name": "Deckow-Crist", "catchPhrase": "Proactive didactic contingency", "bs": "synergize scalable supply-chains" } }, { "id": 3, "name": "Clementine Bauch", "username": "Samantha", "email": "Nathan@yesenia.net", "address": { "street": "Douglas Extension", "suite": "Suite 847", "city": "McKenziehaven", "zipcode": "59590-4157", "geo": { "lat": "-68.6102", "lng": "-47.0653" } }, "phone": "1-463-123-4447", "website": "ramiro.info", "company": { "name": "Romaguera-Jacobson", "catchPhrase": "Face to face bifurcated interface", "bs": "e-enable strategic applications" } } ] كيف احول هذا البيانات إلى Object ؟
    1 نقطة
  6. مرحبا @كمال محمودي يمكنك اضافة column جديد لجدول الخاص ب Users وليكن block_date كتابة هذا اﻷمر في terminal php artisan make:migration add_block_date_to_users_table --table=users public function up() { Schema::table('users', function($table) { $table->date('block_date')->nullable()); // dateTime also // nullable قيم سابقة لابد ان تكون null }); } and don't forget to add the rollback option: public function down() { Schema::table('users', function($table) { $table->dropColumn('block_date'); }); } ثم عمل condition بسيط لو user له block_date و لا تساوي null تقوم بإظهار الرسالة له . يمكنك استخدم القيمة المخزنة في block_date لكي تنبه مستخدم أن تم منعه لمدة معينة باستخدام block_date
    1 نقطة
  7. يوجد الكثير من المواقع التي يمكننا الحصول منها على صور للتصاميم، مثل: unsplash pexels istock shutterstock burst و غيرها الكثير. للحصول على أيقونات و رسومات توضيحية يمكنك استخدام: flaticon undraw craftwork و غيرها. للحصول على مصادر إلهام لتصميماتك يمكنك استخدام: dribbble behance Pinterest land-book و غيرها الكثير و لكن ما ذكرته لك هو الأهر. يمكنك الوصول لهذه المواقع بسهولة عن طريق البحث عنها على google و البدأ باستخدامها في تصميماتك و أخذ الالهام منها
    1 نقطة
×
×
  • أضف...