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

Adnane Kadri

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

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

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

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

    51

كل منشورات العضو Adnane Kadri

  1. يبدوا انك تستعمل git bash. حاول ادخال معلومات الاستيثاق الخاصة بحسابك على الغيتهب وفق الامرين المشار اليهما: git config --global user.email "YOUR_EMAIL_HERE" git config --global user.name "YOUR_NAME" بعد ذلك، حاول اعادة ايداع الملفات. في حالة التعذر، حاول تنفيذ الامرين عن طريق طرفية ويندوز عادية cmd
  2. أولا، لا أرى أنك تقوم باضافة العمود المعني في جدول المستخدمين او في ملف تهجيره. تأكد من ذلك أولا: $table->string('job_title')->default(1) ثانيا، الدالة المساعدة request تقوم باعادة سلسلة نصية تعبر عن قيمة المعامل الممرر عبرها. في حين ان التابع update يقبل مصفوفة ترابطية المفاتيح فيها هي اسماء الاعمدة والقيم فيها هي قيم هاته الاعمدة. بمعنى أنك لا زلت تحتاج الاشارة الى password في التابع update كـ: ->update(['password' => request('password')]) او مباشرة: ->update(request()->only('password')) يفترض ان يحل هذا المشكلة لديك. اعرف أكثر عن Eloquent من خلال مقدمة إلى رابط الكائنات بالعلاقات Eloquent
  3. يمكنك كفكرة تحضير مصفوفة للعناصر الفريدة ومن ثم المرور على كامل العناصر المراد تفحصها، والقيام بالتالي: التحقق من ما ان كان محتوى العنصر الذي يتم المرور عليه موجودا في مصفوفة العناصر الفريدة في حالة كان ذلك يتم حذف العنصر او اخفاءه في حالة لم يكن ذلك يتم اضافة محتوى العنصر الى مصفوفة العناصر الفريدة مثال: <div class="num">1</div> <div class="num">2</div> <div class="num">2</div> <div class="num">3</div> const nums = document.querySelectorAll('.num') var exists = []; Array.from(nums).map(num => { if(exists.includes(num.innerHTML)){ num.style.display = 'none' return; } exists.push(num.innerHTML) }) انتبه الى انه لم يتم استعمال ذات المعرف id لكامل العناصر، لأن هذا الاخير يفترض ان يكون فريدا مميزا لعنصر واحد. ايضا الى استعمال Array.from لتمكين المرور على nums كمصفوفة واستعمال توابع المصفوفات للتعامل معها. توثيق Array.prototype.map()‎ حسب ويكي حسوب
  4. ليس المطلوب اي تعديل بعد، ملف laravel.log سيحتوي آخر رسالة خطأ تم توليدها. معرفة مضمون رسالة الخطأ سيساعد في فهم المشكلة التي تواجهها وبالتالي حلها.
  5. تكملة لما أشار اليه المدرب @Kais Hasan يمكنك عمل escape للرمز المستهدف في SQL عن طريق العبارة ESCAPE مرفقة بالرمز: SELECT * FROM my_table WHERE my_column LIKE '%&|&%' ESCAPE '|'; سيتم التعامل مع اي ما يلحق بالرمز كمحرف عادي literal characters بدل رموز خاصة special characters
  6. بدون تشخيص كامل للخطأ، لن يمكن الحسم في موضوع حله بطبيعة الحال. جرب افتح الصفحة عن طريق متصفح آخر او عن طريق جهاز حاسوب. او قم مثلا بتنزيل محتوى الملف وفتحه عن طريق محرر اكواد.
  7. الفكرة ليست في الاستضافة، فرسالة الخطأ هنا تنتجها احد ملفات الخادم او واجهته الخلفية. وستستمر نفس الرسالة بالظهور رغم نقل الاستضافة في حالة عدم حل هاته المشكلة. هل يمكنك التقاط صورة لما يحدث عند محاولتك فتح ملف laravel.log؟
  8. هل تواجه مشكلة بفتح الملف الكائن بالمسار المشار اليه؟ storage/logs/laravel.log
  9. هل تستخدم FTP لادارة الملفات على الخادم ام مستعرض الملفات في الاستضافة؟
  10. هل تمتلك وصول ssh الى الخادم الخاص بك؟ قد يحدث هذا بسبب احتفاظ التخزين المؤقت بملف الاعداد env. وعدم التقاطه اي تحديثات تمت به. في مثل هاته الحالة ستحتاج محو التخزين المؤقت لملف الاعداد، قد يكون وصول ssh ضروريا لتنفيذ الامر: php artisan cache:clear على كل، يحتفظ لارافيل بنسخة من رسالة الخطأ في ملف laravel.log الكائن بالمسار: storage/logs يمكنك استعراض رسالة الخطأ دون تفعيل وضع التصحيح عن طريق المشار اليه سابقا.
  11. لا يمكن تشخيص المشكلة الا بعد تمكين وضع التصحيح Debug mode لفهم المشكلة ومن ثم العمل على حلها. فالخطأ 500 يعني مشكلة بالخادم وفقط. بدون أي تفاصيل اضافية. اظن ان التطبيق مبني على لارافيل، يمكنك تمكين هذا الوضع عن طريق: فتح ملف env. الكائن بمجلد المشروع على الاستضافة. البحث عن السطر APP_DEBUG=false تعديله ليصبح APP_DEBUG=true حفظ الملف واعادة تحديث الصفحة على المتصفح ستظهر الآن رسالة خطأ مرفقة بتفاصيل المشكلة. يمكن انطلاقا من عليها العمل على حل المشكلة، في حالة التعذر يرجى ارفاقها للنظر فيها.
  12. نعم بالتأكيد، او قم باتخاذ المنحى الثاني، وهو حقن قيمة name في متغير جافاسكربت عام. او كفكرة عملية اخرى، قم بحقن القيمة في وسم meta داخل عنصر head بدل وسم عادي. فهاته البيانات في الأخير هي بيانات وصفية.
  13. حاول حقن قيمة auth()->user()->name في متغير عام او في وسم ثم قم عن طريق React بقراءته واسناده للحقل المعني، <div id="user-name">{{ auth()->user()->name }}</div> <div id="profile"></div> let userName = document.querySelector('#user-name').textContent const Profile = ()=> ( <form action="/home" method="POST"> @csrf <input type="text" value="{userName}" /> <button type="submit">save</button> </form> ) نفس الشيء بالنسبة لحقل csrf، لن يعمل. حاول مقاربة نفس الطريقة في انشاء الحقل csrf.
  14. من غير المقترح ان يتم حفظ صورة او ملف الى قاعدة البيانات بشكل مباشر، فهاته الملفات هي متواجدة بصيغة ثنائية binary، يجب اعتبار هاته النقطة في تخزينها، مثال: الحقل الموافق يجب ان يكون BLOB او LONGBLOB ليمكنه تخزين ذلك. الأصح هو ان يتم تخزين هاته الصور والملفات الى قرص التخزين الخاص بخادمك وحفظ مسارات هاته الملفات الى قواعد البيانات، او كفكرة اخرى، تشفير هاته الملفات بصيغة base64 وخزنها في قاعدة البيانات كسلسلة نصية. ما تقوم به في الشيفرة المرفقة غير واضح جيدا، لا يبدوا منطقيا المرور على كامل معاملات POST وارفاقها الى السلسلة data مثلا: foreach($_POST as $k =>$v){ if(!in_array($k,array('id')) && !is_array($_POST[$k])){ if(!is_numeric($v)) $v = $this->conn->real_escape_string($v); if(!empty($data)) $data .=","; $data .= " `{$k}`='{$v}' "; } } هذا بجانب ان الكثير من الاكواد تحتاج الاختصار والتبسيط اكثر.
  15. هل رسالة الخطأ التي تظهر هي رسالة مخصصة أم انه يتم رمي PHP exception عند محاولتك حفظ ملف او صورة؟
  16. تقريبا نعم، فالدورة تأسيسية وتأهيلية للعمل في أي وظيفة تختص بعلوم الحاسب بمجمله: محلل أمن معلومات أو مسؤول قاعدة بيانات، محلل نظم او مهندس شبكات. مطور برامج او مطور ويب او ايا كان. كل هاته الوظائف تندرج تحت علوم الحاسب، فهي توظف مفاهيم هذا العلم وتحتاج لأسسه بشكل أو بآخر. وكذلك العاملين في المجال. ستجد بنهاية الدورة ان لديك معرفة تأسيسية بمختلف المجالات، أظن انه يمكنك مع القليل من التخصصية او الاطلاع على مجال العمل الذي تريد ان تنشط فيه ان تكون مؤهلا للانطلاق في العمل.
  17. أظن أن هذا السؤال يحتاج أن يتقسم الى أسئلة اخرى أدق للاجابة عليه بشكل تفصيلي، فعلى سبيل المثال: ما الذي تريد أن تعمله بشكل أساسي؟ ما مدى معرفتك المسبقة بمجال العمل الذي تريد أن تنشط فيه؟ وما الى ذلك، الدورة بشكل عام تحتوي المسارات التالية: مدخل الى علوم الحاسوب أساسيات البرمجة، بلغة جافاسكربت كمثال أنظمة التشغيل ونظام لينكس قواعد البيانات عالم الويب البرمجة كائنية التوجه، بلغة بايثون كمثال الخوارزميات وبنى المعطيات أنماط التصميم أساسيات هندسة البرمجيات هاته المواضيع تكتسبك مجموعة من المعارف المتقدمة بخصوص علوم الحاسوب بالمجمل، والتي يستعملها ويحتاجها كل من ينشط في مجال تطوير البرمجيات وعلوم الحاسب. فهي تغطي مجموعة من المعارف التي يمكنك الاستعانة بها في العمل في مجالات مختلف. فهي حجر الأساس للمجال ككل. أما ان كنت تريد التخصص في مجال معين على وجه التحديد فيمكنك الاختيار بين مختلف الدورات المتخصصة الأخرى: دورة تطوير واجهات المستخدم للتخرج والعمل كمطور واجهات استخدام دورة تطوير التطبيقات بلغة بايثون للتخرج والعمل كمطور بايثون دورة تطوير التطبيقات باستخدام لغة جافاسكربت للتخرج والعمل كمطور جافاسكربت دورة تطوير التطبيقات باستخدام لغة PHP للتخرج والعمل كمطور نظم خلفية باستخدام لغة PHP دورة تطوير التطبيقات باستخدام Ruby للتخرج والعمل كمطور نظم خلفية باستخدام لغة Ruby
  18. مضمون الدورة هو هذا الموضوع أساسا، فهي تنطلق بك من أساسيات لغة PHP وقواعد البيانات في MySQL الى أساسيات اطار عمل Laravel والذي يتبع بسلسلة من المسارات التطبيقية التي تتناول هذا المفهوم بشكل أساسي. تمكنك هاته الدورة من ان تصبح مطور نظم خلفية بلغة PHP. سيمكنك بعد ذلك تجهيز موقعك المكتوب بلغات الواجهة الأمامية وبناء واجهته الخلفية بلغة PHP. اعرف أكثر عن الدورة من هنا.
  19. استعمل العبارة LIMIT مع ترتيب النتائج بشكل تنازلي بحسب المعرف ID: SELECT * FROM users ORDER BY id DESC LIMIT 5; مجموعة مقالات SQL دليل SQL بحسب توثيق حسوب
  20. يبدوا أن ملف app.py لديك محتوى في مجلد Taskaty آخر هو غير المجلد الحاوي للمشروع. جرب تنفيذ الامر: python Taskaty/app.py أو: cd Taskaty python app.py الحظ المسار الذي تحاول فيه تنفيذ الامر: يجب أن يوافق هذا وجهة الملف المستهدف:
  21. يمكنك ايضا الاستعانة بالتابع push لذات الغرض: this.props.history.push("/"); فيكون بعد التأكد من نجاح تسجيل الدخول مثلا كالتالي: .then(response => response.json()) .then(data => { if(data.status == 200){ this.props.history.push("/"); } })
  22. ما المشكلة التي تواجهها تحديدا؟ حاول نشر سؤال في قسم الأسئلة والأجوبة > أسئلة البرمجة وسيحاول المدربون والمشرفون على الأكاديمية مساعدتك.
  23. يوافق هذا الاختصار المرافق لاضافة سطر تعليق في VS code وهو Add line comment. قم بالضغط على ايقونة الاعدادات في الشريط الجانبي واضغط keyboard shortcuts من القائمة التي تظهر، ابحث عن Add line comment، الاختصار الظاهر هو المقصود. وهو في الغالب ctrl + k ctrl + c : قم اولا بتحديد الأسطر المراد تعليقها. ثم قم بالضغط تباعا على CTRL + k و CTRL + c. بالطبع يمكنك تخيصيص هذا الاختصار في VS code ايضا، من ذات القائمة السابقة قم بالضغط على رمز التعديل واضف الاختصار الذي يناسبك.
  24. يمكنك الغاء تفعيل وضع التصحيح debug mode من اعدادات PHP. من ملف الاعداد php.ini قم بتعديل الاسطر المعنية لتصبح كـ: display_startup_errors = Off display_errors = Off html_errors = Off أو قم بذلك عن طريق الاستعانة الوظيفة display_errors: display_errors(false);
×
×
  • أضف...