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

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

  1. Emad Saif

    Emad Saif

    الأعضاء


    • نقاط

      3

    • المساهمات

      205


  2. Adnane Kadri

    Adnane Kadri

    الأعضاء


    • نقاط

      3

    • المساهمات

      5196


  3. Wael Aljamal

    Wael Aljamal

    الأعضاء


    • نقاط

      3

    • المساهمات

      6975


  4. Ahmed Abu Hatab

    Ahmed Abu Hatab

    الأعضاء


    • نقاط

      2

    • المساهمات

      28


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

المحتوى الأعلى تقييمًا في 04/11/22 في كل الموقع

  1. أحب تعريف بيانات المشرف وادراجها بقواعد البيانات في ملف تهجير جدول المشرفين بشكل مرافق، يكون هذا عمليا في الحالات التي نقوم بها بتنفيذ أمر التهجير php artisan migrate في الانتاج، وكذلك بعد تصدير قواعد البيانات على الخادم المحلي وتضمينها في قواعد البيانات خادم الاستضافة لديك. يمكنك تعريف التابع التالي بملف التهجير المرافق: /** * Run the migrations. * * @return void */ public function up() { Schema::create('admins', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); $this->createDefaultAdmin(); } /** * Creates the deafult admin for app * * @return void */ private function createDefaultAdmin() { App\Models\Admin::create([ 'name' => 'admin admin', 'email' => 'admin@admin.co', 'password' => Illuminate\Support\Facades\Hash::make('@password'), ]); } وسيتم انشاءه كل مرة تقوم فيها بتهجير قواعد البيانات.
    2 نقاط
  2. السلام عليكم انا شريك فى شركة مكونة من خمس شركاء و اريد ان اعرف كيف احسب نسبتى الجديدة اذا اضفت مبلغ لرأس المال مع اعتبار ان النسب بيننا متفاوتة
    1 نقطة
  3. انا عامل حقل من نوع textformfield TextFormField( validator: (value) { if (value.isEmpty) { return 'cannot be empty'.tr(); } return null; }, keyboardType: TextInputType.number, decoration: InputDecoration( border: OutlineInputBorder(), labelText: 'Phone_number'.tr(), filled: true, hintText: ''), controller: Controllerphone, ), طبعا المستخدم من المفترض ان يكون قادر على ادخال رقم هاتفه في هذا الحقل / المشكلة انني قمت بربط هذا الحقل مع قاعدة البيانات من خلال controller: Controllerphone, بمعنى لو كانت هنالك بيانات يتم جلبها مع بداية تشغيل الصفحة هذا واذا لم تكن هنالك بيانات سيكون الحقل فارغ هذا الامر سبب لدي مشكلة الان لو كانت هنالك بيانات ورقم هاتف مع بداية تشغيل الصفحة سوف يتم جلبهم ولكن المستخدم لو قام بضغط على الحقل مؤشر الماوس بشكل تلقائي ينتقل الى بداية النص في حقل textformfield بمعنى يصبح موقعه قبل النص الذي تم جلبه. ولو حاول الان استعمال الأرقام والقيام بإضافة رقم لن يستطيع الكتابة الا في حالة قام بضغط مره أخرى وتغير موقع مؤشر الماوس لبداية النص او موقع مختلف في حقل textformfield بمعنى وكانه سوف يكمل البيانات الموجودة / قمت بتأكد بالنسبة إلى كتابة النصوص هيا تعمل ولا توجد مشكلة في موقع مؤشر الماوس لا اعلم لماذا تحدث فقط مع الأرقام. أيضا لو قمت بكتابة نص في البداية ثم حذفه ومحاولة كتابة رقم بعد ذلك الامر يعمل بشكل طبيعي والمشكلة تختفي مع ان موقع المؤشر لا يزال في بداية الكلام وقبل النص الموجود. أيضا لو قمت بحذف هذا السطر المشكلة يتم حلها ولكني لن احصل على الرقم لو كان موجود في قاعدة البيانات controller: Controllerphone, هل يوجد تفسير لهذا المشكلة وحل لها؟ ياليت اذا احد لديه فكره عن الامر او حل لتغير موقع المؤشر في البداية
    1 نقطة
  4. أنا أقوم بإنشاء تطبيق باستخدام لارافيل Laravel عبارة عن مدونة بسيطة. وعند إنشاء منشور جديد، تكون قيم الأعمدة "created_at" و "updated_at" كما يلي: 2022-04-10 14:04:11 ولكن كيف أقوم بتغير شكل هذه القيم بحيث تحتوي على تاريخ اليوم فقط: 2022-04-10 هل يمكن عمل هذا الأمر في لارافيل Laravel أم علي أن أقوم بإنشاء حقل جديد مخصص لهذا الأمر؟
    1 نقطة
  5. يمكننا إضافة الدوال accessor methods للنموذج لديك وهو post لتعديل قيم الخواص من النموذج قبل قراءتهم وكتابتهم get - set. حيث نعتمد على الدالة formate لتطبيق تنسيق الوقت المطلوب public function getCreatedAtAttribute($date) { return Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $date)->format('Y-m-d'); } public function getUpdatedAtAttribute($date) { return Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $date)->format('Y-m-d'); } سيظهر التاريخ بالشكل التالي: $post = Post::find(1); echo $post->created_at; // only Y-m-d مع الانتباه أنه عند تعريف الجداول في ملفات التهجير نستخدم الصنف date $table->date('created_at'); $table->date('updated_at'); إن اقتصر استخدامك للتحويل (صيغة التاريخ) في مكان محدد ضمن ملف العرض يمكن استخدام الدالة مباشرة باستدعاء الدالة format('Y-m-d') {{ $post->created_at->format('Y-m-d') }} كما يمكننا استخدام القصر cast في ملف النموذج protected $casts = [ 'created_at' => "datetime:Y-m-d\TH:iPZ", ];
    1 نقطة
  6. في مشروع أعمل عليه يُسمح للمستخدم أن يقوم بكتابة وصف مختصر عن نفسه Bio من خلال الكتابة في عنصر Textarea، المشكلة الآن أي شخص يمكنه أنه يقوم بكتابة عناصر HTML (بما في ذلك سكريبتات JavaScript) وسوف يتم تنفيذها في المتصفح عند زيارة صفحته الشخصية. كيف أمنع هذا الأمر بحيث يتم عرض النص كما كتبه المستخدم تمام بحيث لا يقوم المتصفح بتنفيذ هذه الأكواد عند زيارة الصفحة؟
    1 نقطة
  7. يبدو أنها عبارة عن خطأ أو سهوة برمجية في المكتبة Big بسيطة. سوف نحاول نقل مؤشر الكتابة عن طريق الكود التالي: بعد إسناد النص في شيفرة المتحكم نقوم بنقل مؤشر الكتابة لنهاية النص fromPosition تحدد بداية النص مكان الكتابة تم تحديد طول النص من خلال controller.text.length يمكنك وضعه بأي قيمة مثلاً من طول السلسة التي تستخدمها controller.text = '...'; النص controller.selection = TextSelection.fromPosition(TextPosition(offset: controller.text.length));
    1 نقطة
  8. أرجو وضع الشيفرة كنص ضمن التعليق وليس كصورة و يمكنك استخدام محرر الأكواد <> لتنسيقها. لحل المشكلة عليك الاحتفاظ بقيمة أكبر تكرار موجود ضمن السلسلة و قيمة العنصر الموافقة له و لكل تكرار في الحلقة نقارن، هل تكرار هذا العدد اكبر من اكبر تكرار؟ فنقوم بتعديل اكبر تكرار و قيمة العدد الموافقة له. يمكنك إضافة متغيرين mostFrequent نحفظ فيه أكبر تكرار لقيمة. و القيمة mostFrequentValue و حاول عمل البرنامج بهذه الطريقة List = [2, 1, 2, 2, 1, 3] counter = 0 # نفرض أكبر تكرار بقيمة 0 num = List[0] # نفرض أن العدد الأول له أكبر تكرار أو قيمة افتراضية للمسألة for i in List: curr_frequency = List.count(i) # حساب التكرار للعنصر الحالي if(curr_frequency> counter): # هل تكرار العنصر الحالي هو أكبر من جميع العناصر السابقة counter = curr_frequency # تعديل أكبر تكرار num = i # تعديل الرقم ذو صاحب أكبر تكرار print(num)
    1 نقطة
  9. أنا أعمل في مشروع بنظام مصادقة Authentication. وأحتاج إلى إضافة مستخدم في جدول المستخدمين عند رفع المشروع على خادم Server. حيث أن موقع يجب أن يحتوي على مدير admin واحد في بداية الأمر على الأقل، فكرت في عمل دالة في المتحكم AuthController تقوم بإضافة هذا المستخدم ولكن أعتقد أنه ليس من الجيد عمل مسار Route لإضافة مستخدمين بصلاحيات المدير Admin في قاعدة البيانات، هل توجد طريقة أفضل أقوم من خلال بإضافة مستخدم جديد عند رفع المشروع على خادم ما؟
    1 نقطة
  10. أظنك قد تحتاج وصول SSH لتنفيذ مثل هكذا أمر. قد يمكنك تنفيذ أمر تشغيل السكربت المستهدف عن طريق الأمر: php scriptname.php يمكنك استعمال الوظيفة exec لهذا الأمر. كالتالي: exec('php scriptname.php') ان كنت قد تحتاج ايضا التعامل مع خرج هذا السكربت على نحو معين، يمكنك الاستفادة من هاته الاجابة لسؤال سابق لك:
    1 نقطة
  11. حالياً لا يوجد حقل في جانغو يُمَكّننا من حفظ مجموعة من الصور معاً. بدلاً من ذلك يُمكنك إنشاء نموذج تحفظ فيه الصور وتقوم بربطه بالمُنتج عن طريق علاقة واحد إلى مُتعدد على الشكل التالي: # نموذج المنتج class Product(models.Model): """ """ #نموذج صور المُنتج class ProductImage(models.Model): image = models.ImageField(upload_to="products/") # نقوم بربط الصورة بالمُنتج عن طريق علاقة واحد إلى كثير product = models.ForeignKey("Product", on_delete=models.CASCADE, related_name="images") للحصول على صُور منتج ما نقوم ب: >>> product1 = Product.objects.get(id=1) # للحصول على كل صور المنتج نقوم ب >>> product1.images.all()
    1 نقطة
  12. يمكن الاستفادة من Seeders لملئ قاعدة البيانات بالبيانات الأولية اللازمة لتشغيل المشروع كالمستخدم المسؤول الأول، يمكنك التعديل على ملف Seeder الافتراضي database/seeders/DatabaseSeeder.php وإضافة عملية إنشاء المستخدم المسؤول لقاعدة البيانات ضمن التابع run مع ملئ البيانات الضرورية مثل كلمة السر: class DatabaseSeeder extends Seeder { public function run() { DB::table('users')->insert([ 'name' => 'اسم المستخدم', 'email' => 'admin@company.com', 'password' => Hash::make('كلمة السر'), ]); } } لاحظ أننا استخدمنا Hash::make لكتابة كلمة السر الأولية للمستخدم يدويًا بحيث نتمكن من الدخول لحساب المستخدم باستخدام كلمة السر تلك بعد ذلك يمكنك ضمن الخادم تنفيذ الأمر التالي لتنفيذ عملية Seeding لقاعدة البيانات وملؤها بالبيانات الأولية: php artisan db:seed يمكنك الاستفادة من قراءة قسم "بذر قاعدة البيانات" ضمن المقال التالي:
    1 نقطة
  13. يمكنك إنشاء سكريبت مخصص لنقل ذلك المجلد وتنفيذه كإجرائية منفصلة ضمن الإجرائية الرئيسية لديك ليعمل ضمن الخلفية، التابع التالي يفيد في تنفيذ أوامر الصدفة بحسب نظام التشغيل (لينكس أو ويندوز) function backgroundProcess($cmd) { // ويندوز if (substr(php_uname(), 0, 7) == "Windows"){ pclose(popen("start /B ". $cmd, "r")); // لينكس } else { exec($cmd . " > /dev/null &"); } } ويمكن استخدامه لتنفيذ ملف PHP مع تمرير معاملات للملف كما لو أننا ننفذ الملف من سطر الأوامر بشكل اعتيادي كالتالي: backgroundProcess("php /path/to/copy_folder.php folder /path/to/destination")
    1 نقطة
  14. لحل هذا السؤال تحتاجين الى متغير لتخزين أسم المستخدم ، هذا في حال لم تستخدمي mysql لتخزين بيانات المستخدم . كما ذكرت نقوم بتخزين أسم المستخدم في متغير ، وعند زيارة الرابط أو الموقع نقوم بطباعة رسالة ترحيبية تحتوي على قيمة هذا المتغير ( أسم المستخدم ) . والمتغير يمرر كمعامل لهذا Function ، وعند استدعاء ال Function ، نعطي قيمة للمتغير .
    1 نقطة
  15. يمكنك من خلال ال Jquery فحص ما اذا تم الاختيار أم لا بواسطة Selected وكذلك عند إرسال القيمة من خلال Post ، تفحص على أسم ال input نفسه ، مثلا لو كان لديك أسم الحقل هو agree_terms <input type="checkbox" name="agree_terms"> من خلال ملف php يمكنك فحصه كالتالي if ($_POST['agree_terms']) { echo 'Selected' }else{ echo 'There Is No Selected Options' }
    1 نقطة
  16. عند تحديد الحقل سوف يتم ارسال قيمة الحقل الى الخادم وبالتالي يمكننا فحص اذا كانت قيمة الحقل موجودة أم لا كالتالي if (isset($_POST['agree_mail'])) { // Checkbox is selected } else { // Checkbox is not selected } اذا كان الحقل محدد فإن الشرط سوف يتحقق, أما اذا كان غير محدد فلن يتحقق الشرط
    1 نقطة
×
×
  • أضف...