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

Adnane Kadri

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

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

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

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

    51

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

  1. مشكلتك غير واضحة فهي مشكلة عامة، ولكن يرجح أن الخطأ خاص باستهداف مسار POST باستخدام GET باطار عمل لارافيل. يحدث مثل هذا عادة عند نسيان تصريح الخاصية method بالنسبة لعنصر form معين تحاول تقديمه. فيأخذ ذلك السلوك الافتراضي وهو اعتماد GET كطريقة للطلب. ابحث عن عنصر form المرافق وقم باسناد قيمة POST لهاته الخاصية method: <form method="POST" قد يكون أيضا من الضروري تصريح حقل يحدد نوع الطلبية: طريقة أولى: @method('POST') طريقة ثانية: input type="hidden" name="_method" value="POST"> وطبعا لا تنسى حقل csrf لطلبيات POST: @csrf
  2. باختصار: Auto fill: يُستخدم لوصف تعبئة العناصر أو التوزيع التلقائي للمحتوى في مساحة محددة. بحيث أنه يقوم بتعبئة المساحة المتاحة بالعناصر بشكل تلقائي حتى لا تبقى فراغات فارغة. Auto fit: يُستخدم لوصف ضبط حجم العناصر بشكل تلقائي لملاءمة المساحة المتاحة. بحيث أنه يقوم بضبط حجم العناصر بحيث تناسب المساحة المتاحة بدون تشويه أو تغيير النسب الأصلية للعناصر. على سبيل المثال: إذا كان لديك معرض بشكل شبكة grid لعرض الصور، فيمكنك استخدام "Auto fill" لملء المساحة المتاحة بالصور بتوزيع تلقائي، بينما يمكنك استخدام "Auto fit" لضبط حجم الصور بحيث تتلاءم بشكل تلقائي داخل المساحة دون تشويهها. ويمكننا القول إن "fit" يركز على ضبط حجم المحتوى ليتناسب مع المساحة المتاحة، بينما "fill" يركز على تعبئة المساحة المتاحة بالعناصر. فالأولى تهتم بمحتوى العنصر في حين أن الثانية تهتم بالعنصر نفسه.
  3. هل فكرت في استخراج معرف التشخيص الجديد بعد انشاءه؟ سيمكنك بعد ذلك استعماله في حقن ترقيد admit جديد يخصه: // إدراج البيانات في جدول التشخيص $sql = "INSERT INTO diagnosis (doctor_id, nutrition_id, patient_id, date, diabetess, state, fats_checkup, hypertension, allergy, dia_description, med_description) VALUES ('$doctor_id', '$nut_id', ' $p_id', '$date', '$diabetess', '$states', '$fats_checkup', '$hypertension', '$allergy', '$dia_description', '$med_description')"; $result = mysqli_query($conn, $sql); // إستعلام للحصول على معرف التشخيص الجديد $last_id = $conn->insert_id; // إدراج البيانات في جدول الترقيد $sql2 = "INSERT INTO admit (dia_id, nut_id, dormitory, room) VALUES ('$last_id', '$nut_id', '$dormitory', '$number_room')"; $result2 = mysqli_query($conn, $sql2);
  4. لا. لا يتوفر ذلك بشكل مباشر، ولكن لما لا تقوم باعتماد ملخصات شخصية تكون لك مرجعا وتعينك على استعياب الدروس وفهمها؟ الحظ أن دورات الأكاديمية كلها مقسمة الى مسارات وتبويبات ودروس، سيساعدك هذا كثيرا في ذلك. فيما يلي بعض الخطوات العملية لذلك: حدد الموضوع: يمكن ان يكون عنوان مسار أو باب كامل أو دورة كاملة ان شئت. قم بتجميع المعلومات: وهذا كمرحلة أولية تسبق كل مراحل النمذجة والتنظيم. ولا يكون هذا إلا بالتركيز والتأكد من هضم كل ما يتعرض له المدرب في الفيديو. قم بتنظيم المعلومات: وذلك باعتماد رؤوس أقلام ومعلومات مقتضبة ودالة تذكر وتشير الى مفاهيم اكثر اتساعا. استخدم الرسوم التوضيحية: مثل الدوائر والأسهم وما الى ذلك. استخدم الألوان والتنسيقات: أعط الأبواب لونا معينا والدروس أو الجزئيات ألوان أخرى مثلا. حسن الورقة: اعرض الورقة على مدربين وخذ رأيهم واستمع لتوجيهاتهم واقتراحاتهم في التحسين.
  5. رسالة الخطأ تشرح نفسها، فالمشكلة تبدأ أولا بتنبيه يشير إلى عدم التعرف على متغير باسم nmaes$ ثم مشكلة بخصوص تمرير قيمة NULL كمعامل أول للوظيفة array_pad في حين أن هاته الوظيفة تتوقع استقبال مصفوفة كمعامل أول، الأمر الذي يؤدي الى ظهور هاته المشكلة وتعطل تنفيذ الشيفرة. لحل المشكلة ستحتاج إما: تصريح متغير nmaes$ بشرط أن يكون مصفوفة. تمرير مصفوفة الى الوظيفة array_pad ولذلك فإن كلا الحلين التالين صحيح: 1: $nmaes = ['Lorem', 'Upsum', 'Doler' ,'sit']; echo '<pre>'; print_r(array_pad($nmaes, 5, 'Test')); echo '</pre>'; 2: echo '<pre>'; print_r(array_pad(['Lorem', 'Upsum', 'Doler' ,'sit'], 5, 'Test')); echo '</pre>'; توثيق array_pad()‎ في PHP بحسب ويكي حسوب
  6. يحدث ذلك بسبب عدم دعم ترميز utf8 الذي تندرج تحت رموز الأحرف العربية، جرب القيام بتعيين خاصية charset لـ nodemailer لتصبح utf-8: const mailOptions = { from: 'your-email@example.com', to: 'recipient@example.com', subject: 'عنوان البريد الإلكتروني', text: 'نص البريد الإلكتروني', charset: 'utf-8' // تعيين ترميز النص إلى UTF-8 }; أيضا قد يكون من العملي تحديد نوع المحتوى عن طريق الخاصية conentType: const mailOptions = { from: 'your-email@example.com', to: 'recipient@example.com', subject: 'عنوان البريد الإلكتروني', html: '<p>نص البريد الإلكتروني</p>', contentType: 'text/html; charset=utf-8' // تعيين Content-Type وترميز النص };
  7. تشير المشكلة الى موضع خطأ بخصوص سياق الاستعلام لديك، هذا الخطأ عام ولا يمكن تشخيص المشكلة المتسببة فيه إلا بعد الاطلاع على الاستعلام الذي تقومين به أو كامل نص رسالة الخطأ. ولذلك، تأكدي من استعمال سياق صحيح في توصيف استعلامات الادراج لديك، خصوصا الفواصل والأقواس.
  8. ما تشير إليه يسمى Utility classes وهي كلاسات مساعدة يتم تحديد نطاقها لخاصية CSS واحدة مثل خاصية نمط النص أو خاصية لون الخلفية أو خاصية الهامش أو الحد ما الى ذلك. وبوتسراب بدوره يتوفر على سلسلة منها نعم. فهو بشكل أساسي يتوفر على كلاسات مساعدة في كل من: الحدود Borders / سمك الحدود Border Width / لون الحدود Border Color / نوع الحدود Border Radius كلاسات التعويم Float and Clearfix / Responsive Floats التوسيط Center Align العرض والارتفاع Height and Width كلاسات التباعد Spacing، مثل الهوامش والحواشي Paddings and Margins الضلال Shadows محاذاة العناصر على المحور العمودي Alignment الظهور Visibility الألوان Colors ألوان الخلفيات Background Colors بخصوص كلاسات التباعد، فهي تتوفر على مقاسات من 0 الى 5 ولا يمكن استعمال أكثر من ذلك بصورة مباشرة. ولكن سيمكنك بطبيعة الحال استعمال كلاسات مخصصة تصفها وحدك. على عكس أطر عمل utility-first مثل Tailwindcss الذي يمكن فيه مثل هاته الأمر بصورة عادية جدا.
  9. في جافاسكربت، لا يمكن ذلك بصورة مباشرة إذ أنك ستحتاج إما الاعتماد على عميل البريد الالكتروني في تطبيق العميل لتأكيد الإرسال: let body = document.querySelector('#mailbody').value let subject = document.querySelector('#mailsubject').value window.open(`mailto:test@example.com?subject=${subject}&body=${body}`); وهو حل عملي في أغلب الحالات، أو استعمال طلبية اجاكس لإرسال الطلب الى خادمك للتعامل معه في جهة الخادم. أو استعمال خدمات طرف ثالث تقوم لك بذلك من مثل مكتبة EmailJS.
  10. ليس تماما، بل يمكن اعتبارها توطئة لأي تخصص في تخصصات علوم الحاسب وتطوير البرمجيات بما في ذلك تطوير الألعاب. فهي لا تختص بتطوير الألعاب على وجه الخصوص. أما المسارات العملية التي تعنى بألعاب فهي مسارات تطبيقية تتبع بمسار تعلم سكراتش، ولذلك فهي تطبيقات عملية لمفاهيم البرمجة وعلوم الحاسب من مثل الشروط والكتل البرمجية ومخططات التدفق وما الى ذلك. وهذا كله في المسار الأول فقط. اذ ان المسارات اللاحقة تعنى بالمزيد من الجزئيات والتفرعات في علوم الحاسب هي: أساسيات البرمجة. أنظمة التشغيل ولينكس. قواعد البيانات. عالم الويب. البرمجة كائنية التوجه. الخوارزميات وبنى المعطيات. أنماط التصميم. أساسيات هندسة البرمجيات.
  11. بالمختصر، قواعد البيانات (Databases) تشير إلى مجموعة من البيانات المنظمة والمخزنة بطريقة مرتبة ومترابطة في مستودع (Database) واحد أو أكثر. يتم استخدام قواعد البيانات لتخزين وإدارة البيانات بطريقة منظمة تسمح بإجراء الاستعلامات والتحديثات والعمليات الأخرى على البيانات. تشمل قواعد البيانات أنواعًا مختلفة مثل قواعد البيانات العلائقية (Relational Databases) مثل MySQL وقواعد البيانات غير العلائقية (Non-Relational Databases) مثل MongoDB. أما هياكل البيانات (Data Structures) فهو تفرع يشير إلى طرق تنظيم وتخزين البيانات في الذاكرة أو التخزين. بحيث تساعد هياكل البيانات في تحسين أداء وكفاءة العمليات على البيانات مثل البحث والإدخال والحذف. تشمل هياكل البيانات أشكالًا مختلفة مثل القوائم المتسلسلة (Linked Lists) والأشجار (Trees) والمصفوفات (Arrays) وغيرها. تلخيص: قواعد البيانات تشير إلى نظام لتخزين وإدارة البيانات بينما هياكل البيانات تشير إلى الطرق والترتيبات المستخدمة لتنظيم وتخزين البيانات في الذاكرة أو التخزين. أما قواعد البيانات تستخدم هياكل البيانات كأساس لتنظيم وتخزين البيانات داخلها.
  12. الاختيار بدرجة اولى يعتمد على احتياجاتك وميزانيتك بدرجة ثانية، تتباين الاختيارات عادة بين: استضافة مشتركة (Shared Hosting): تعتبر خيارًا اقتصاديًا حيث يتم استضافة موقعك على خادم مشترك مع مواقع أخرى. تحتاج إلى التأكد من توفر مساحة تخزين كافية وعرض نطاق كافٍ لاستيعاب الزوار المتوقعين وتلبية احتياجاتك. بعض مقدمي الخدمة المشتركة المشهورين هم Bluehost وSiteGround وHostGator. استضافة افتراضية خاصة (VPS Hosting): توفر موارد مخصصة أكثر من الاستضافة المشتركة، حيث يتم تخصيص جزء من الخادم لموقعك. هذا يمنحك سيطرة أكبر على الموارد وأداء أفضل. يمكنك النظر في خيارات مثل DigitalOcean وVultr وLinode. استضافة سحابية (Cloud Hosting): تعتمد على البنية التحتية السحابية لتوفير استضافة موقعك. تتميز بالمرونة والقدرة على التوسع حسب الحاجة. خيارات الاستضافة السحابية المعروفة تشمل Amazon Web Services (AWS) وGoogle Cloud وMicrosoft Azure. استضافة خادم مخصص (Dedicated Server Hosting): تحصل على خادم مخصص بالكامل لموقعك دون مشاركته مع مواقع أخرى. هذا يوفر أعلى مستوى من الأداء والتحكم. يعتبر استضافة الخوادم المخصصة خيارًا متقدمًا ومكلفًا. أما الاختيار الأصوب والمنصوح به دوما هو البدء مع استضافة مشتركة والترقية الى واحدة من الثلاث الأخرى، وهذا لذات الأسباب المشار اليها سابقا، فالاستضافات المشتركة عادة ما تكون ميزانيتها محدودة او اقل من باقي الخطط بميزات عدة.
  13. المستودعات متوفرة كمرجع أثناء وبعد العمل على المشاريع التطبيقية، فقد يحدث أن يكون هنالك جزئية سقطت من الطالب أثناء الممارسة التطبيقية. هنا ستكون له هاته المسارات بمثابة المرجع الذي يقارن فيه شيفرتها مع شيفرته ويشخص أخطاءه. وقد يستعملها المدربون أيضا لإرشاد الطلبة إلى ذلك. قد يوجد أيضا بعض ملفات الأصول مثل المكتبات والصور وملفات الخطوط وغيرها، تلك التي يحتاج الطالب استخراجها أو العمل بها تلافيا لأي مشاكل قد تحدث بسبب استعمال اصدارات أو نسخ أخرى من هاته المكتبات والصور والملفات. هذا بجانب استعمالات غيت هب الاعتياديات من مثل التحكم في الاصدارات، والتراجع واستعادة نسخ معينة، أو تسجيل التطويرات ومتابعتها وما الى ذلك من استعمالات.
  14. من الصعب الإحاطة بكل خطوات العملية في إجابة مقتضبة ولكن فيما يلي بعض الخطوات العامة التي تمكنك من القيام بذلك: قومي بتجهيز نموذج استمارة form به جميع مدخلات الطلب، مثل: اسم الطبيب، اسم الممرض، اسم المريض .. الخ. قوم بإضافة حقل select يحمل فئات المستخدمين. قومي باستعمال جافاسكربت للاستماع لحدث تغيير قيمة حقل select. بحسب قيمة هذا الحقل قومي بتبديل إظهار وإخفاء الحقول الخاصة بكل فئة من المستخدمين، مثال: لما يختار المستخدم فئة طبيب يتم اخفاء جميع الحقول الأخرى واظهار تلك الخاصة بالطبيب فقط. الآن ما عليك إلا تقديم الاستمارة والتعامل مع المدخلات كل بشكل منفصل بحسب نوع الحقل، فإذا كانت فئة المستخدمين هي فئة الأطباء نقوم بفحص المدخلات الخاصة بالأطباء فقط، مثل: اسم الطبيب، تخصصه الدراسي، مدة عمله، المصلحة التي ينشط فيها أو أي حقول أخرى تشتغلين عليها.
  15. نعم، وهو المطلوب، فلن تحتاج في المسار الأول إلا الإلمام بهاته المعارف، أما التطبيق العملي فيكون في المسارات اللاحقة. والدورة لا تؤخذ من مسار او اثنين بطبيعة الحال بل تتكامل مع بعضها مسارا بمسار، ولا يمكن بأي شكل من الأشكال استعجال الأمر أو محاولة التطبيق بعد اكتساب بعض المعارف النظرية فقط. بخصوص المجتمعات البرمجية، يمكنك الاطلاع على مجتمعات حسوب IO. بها الكثير من المتخرجين والطلبة والمدربين.
  16. قم بوضع ملف contact.php وضعه على نفس مستوى هذا الملف، ثم قم بتصريح الخواص action و method لتعريف المسار المستهدف وطريقته: <form action="contact.php" method="POST"> الآن بعد الضغط على زر submit وتقديم النموذج سيتم ارسال الطلب الى صفحة contact.php بطريقة POST بالبيانات التي تدخلها في الحقول داخل form. سيمكنك استقبال هاته البيانات في ملف contact.php والقيام بباقي العملية، لنقل أننا نريد استقبال قيمة email: <?php $email = $_POST['email']; الآن لنقم بإرسالها الى الايميل بوساطة الدالة mail في php: mail("youremail@gmail.co","example", 'الإيميل المدخل هو: ' . $email); طبعا فإن هذا هو منطق العملية بشكل عام ونمذجة بسيطة لها، سيمكنك التوسع فيها بإضفاء المزيد من المتغيرات أو استعمال تفاصيل أكثر. يمكنك الاستزادة بالاطلاع على:
  17. مرحبا وليد، أظنك لا زلت في بداية الدورة مع المسارات النظرية، اذ أن طبيعة المادة العلمية المتعرض لها هكذا اذ لا تشكل طريقة الشرح في البداية فرقا، فالمعارف التي تتعرض لها جديدة وغامضة حد الملل. ومن الطبيعي أن يحس الطالب بمثل هكذا شعور في بداية مسيرته. أما بخصوص الدورة، فكل مسار نظري من أي دورة من دورات الأكاديمية يتبع بسلسلة من المسارات التطبيقية والعملية التي تهتم بممارسة هاته المعارف عمليا والتوسع في استعمالاتها وسياقاتها. وهو ما لا يمكن بطبيعة الحال تقديمه مع الشرح النظري الذي يكون عادة بشكل مقتضب ومختصر حتى لا يتم التشعب في مضمونه. أما بخصوص اللغة الانجليزية في الدورات، فإن اعتماد اللغة العربية هو بدرجة أولى للتبسيط لا للإبهام فالطالب لا يحتاج أن يعرف إلا الحد الذي يكفي من مصطلحات المجال باللغة الإنجليزية من مثل variable أو function أو constant أو غيرها .. وهي مصطلحات تستعمل عادة لعنونة مسارات أو فيديوهات معينة غرض ترسيخ هاته المعلومة .. أما غيرها من المصطلحات فهو غير ضروري في هذا السياق. أحثك على استكمال الدورة والصبر حتى بلوغ المسارات التطبيقية والعملية، فهنالك ستعرف أن التأسيس في المسارات النظرية كان ضروريا وخطوة لا بد منها للمرور إلى التطبيق العملي والممارسة الفعلية.
  18. مرحبا منصور، اعلم أولا أن بـ NextJS سيمكنك إنشاء تطبيقات ويب شاملة لا تحتاج فيها إلى PHP أو Laravel كواجهة خلفية، سوف لن تحتاج إلا التعامل مع نظم قواعد بيانات بشكل مباشر، MongoDB مثلا. وصحيح أن الطلب عليه في الواجهة الخلفية قليل في أوساط العمل البرمجية العربية بشكل عام بجانب قلة في المصادر والمجتمع البرمجي والمكتبات والحزم التي تدعم هذا الشيء. إذ أن أغلب المشاريع التي تتردد تهتم بـ PHP كلغة و Laravel كإطار عمل على هاته اللغة، في حين أن تطبيقات NextJS لا يعتمد عليها عادة في بناء الواجهات البرمجية أو مثل هاته المشاريع. كما أنه لا تعارض في تعلم PHP laravel وممارسة NextJS، سيمكنك الاستمرار في انشاء تطبيقات SPA و تطبيقات SSR بوساطة NextJS والاستفادة من ميزات PHP Laravel في إنشاء واجهات تطبيق برمجية APIs قوية مثلا .. ولذلك، وكنصيحة، استمر في ممارسة NextJS ولا تهملها هي الأخرى فالطلب على تطبيقات SSR يزداد بشكل ملحوظ، ومن جهة أخرى يمكنك استكمال مراجعة PHP والتوجه الى لارافيل كإطار عمل عليها. فبهما، NextJS و Laravel سوف يكون بإمكانك القيام بمشاريع ذات مستوى عال ومتطلبات ضخمة والإشراف عليها.
  19. هل بسبب أن الفرع الرئيسي لديك يتواجد باسم main عوض master؟ جربي تنفيذ الأمر git push -u origin main عوضا عن git push -u origin master
  20. عند تنفيذ امر الدفع git push قومي بإدخال الرمز عند طلب كلمة المرور بدل كتابة كلمة المرور الخاصة بك.
  21. تظهر هاته المشكلة عادة بسبب خطأ في تثبيت حزمة node-gyp ، جرب أولا تنفيذ الأمر مع خيار جبر التثبيت: npm install --force أو قم بحذف ملف package-lock.json ثم نفذ الأمر: npm install --force
  22. رغم أن المرجح هو ما أشار اليه عمر ومصطفى في التعليقات السابقة بخصوص جافاسكربت بدل جافا كفلترة على الواجهة الأمامية، إلا أنك ان كنت تستخدم جافا كلغة واجهة خلفية وتريد التعامل مع عملية الفلترة من المكتبة الخلفية، يمكنك استخدام مكتبة Apache POI للتعامل مع ملفات Excel في Java. هنا هو مثال بسيط لكيفية قراءة ملف Excel وعرض النتيجة باستخدام رقم الجلوس: import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileInputStream; import java.io.IOException; public class ExcelReader { public static void main(String[] args) { String filePath = "path/to/your/excel/file.xlsx"; String searchValue = "12345"; // رقم الجلوس المطلوب البحث عنه try (FileInputStream fileInputStream = new FileInputStream(filePath); Workbook workbook = new XSSFWorkbook(fileInputStream)) { Sheet sheet = workbook.getSheetAt(0); // استخراج ورقة العمل الأولى for (Row row : sheet) { Cell cell = row.getCell(0); // استخراج الخلية الأولى في كل صف (قم بتعديلها حسب هيكل ملف Excel الخاص بك) String value = cell.getStringCellValue(); if (value.equals(searchValue)) { // تم العثور على النتيجة المطلوبة System.out.println("تم العثور على النتيجة!"); // يمكنك عرض البيانات الأخرى في الصف حسب احتياجاتك // مثلاً: Cell otherCell = row.getCell(1); // String otherValue = otherCell.getStringCellValue(); // System.out.println("قيمة أخرى: " + otherValue); break; } } } catch (IOException e) { e.printStackTrace(); } } } قم بوضع رقم الجلوس كقيمة للمتغير searchValue ومسار الملف مكان filePath وشغل البرنامج.
  23. ما المشكلة التي تظهر على وجه التحديد؟ هل يمكنك التقاط صورة لها؟
  24. ان كانت التغييرات تشمل ملفات المكونات والعروض بـ VueJS فهذا في الغالب بسبب أن التعديلات لم يتم تحزيمها ونشرها الى ملفات مبنية بعد، لهذا ستحتاج تنفيذ الأمر: npm run build لإخراج مجلد البناء. أما ان كانت التعديلات تشمل ملفات المتحكمات، المسارات أو غيررها في تطبيق لارافيل فهذا في الغالب بسبب التخزين المؤقت لها، لهذا سنتأكد من تشغيل الأوامر: php artisan cache:clear php artisan route:clear php artisan view:clear وقد يكون كلا الاحتمالين، ولذلك يرجح تنفيذ الأمر الأول ثم الثلاث أوامر الأخرى لذات المشاكل.
  25. الجداول غير واضحة ولا يحمل كل منها مضمونا مستقلا، ولكن لنقم بتنظيمها بحسب سياق الكلام ونماذج البيانات في: الجدول / نموذج البيانات الأول هو جدول الطالب الجدول / نموذج البيانات الثاني هو المدفوعة الجدول / نموذج البيانات الثالث هو الإختبار الجدول / نموذج البيانات الرابع هو الغياب من السابق، يمكن الخروج بالاستنتاجات: الطالب يدفع كل شهر، بمعنى له عدة مدفوعات الطالب يمتحن في اختبارات كثيرة، بمعنى له عدة مدفوعات يتم تسجيل غيابات وحضور الطالب بشكل دائم، بمعنى أن له عدة غيابات وعليه: العلاقة بين جدول الطلبة وجدول المدفوعات هو one to many العلاقة بين جدول الطلبة وجدول الاختبارات هو one to many العلاقة بين جدول الطلبة وجدول الغيابات هو one to many فكل الجداول الثلاث المدفوعات، الاختبارات والغيابات يجب أن تمتلك مفتاحا اجنبيا يميز صفا من جدول الطلبة.
×
×
  • أضف...