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

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

  1. محمود سعداوي2

    محمود سعداوي2

    الأعضاء


    • نقاط

      4

    • المساهمات

      604


  2. حسناء ربيع

    حسناء ربيع

    الأعضاء


    • نقاط

      2

    • المساهمات

      3


  3. عمر قره محمد

    عمر قره محمد

    الأعضاء


    • نقاط

      2

    • المساهمات

      4096


  4. معاذ قره محمد

    معاذ قره محمد

    الأعضاء


    • نقاط

      1

    • المساهمات

      364


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

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

  1. السلام عليكم. في الكود التالي في صورة عدم تطابق البيانات لاتظهر رسالة الخطأ إلا في الخانة الأولى و لا يقع ظهور رسالة الخطأ إلا عند إصلاح التي قبلها. في الصورة الإيميل غير مطابق و لاتظهر رسالة الخطأ إلا بعد أصلاح username و كذلك كلمة المرور غير مطابقة و لا تظهر رسالة الخطأ إلا بعد إصلاح الإيميل. و هكذا دواليك. الكود: // register-username-register-email-register-password-register-btn let form = document.querySelector('form') let username = document.querySelector(".register-username") let email = document.querySelector(".register-email") let password = document.querySelector(".register-password") let confirmPassword = document.querySelector('.register-confirm-password') let registerBtn = document.querySelector(".register-btn") // show input error message function showError(input,message) { const formControl = input.parentElement formControl.classList = "form-control error" const small = formControl.querySelector('small') small.innerText = message } // show success outline function showSuccess(input) { const formControl = input.parentElement formControl.classList = "form-control success" } // check email is valid function checkEmail(input) { const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (re.test(input.value.trim())) { showSuccess(input) return true } else { showError(input, 'Email is not valid') return false } } // check passwords much function checkPassword(input1, input2) { if (input1.value != input2.value) { showError(input2, 'Passwords do not much') return false } else { return true } } // check required fields function checkRequired(inputArr) { let result = true; inputArr.forEach(function (input) { if (input.value.trim() === '') { showError(input, `${getFieldName(input)} is required`) result = false } else { showSuccess(input) } }) return result; } // check input length function checkLength(input, min, max) { if (input.value.length < min) { showError(input, `${getFieldName(input)} must be at least ${min}`) return false } else if (input.value.length > max) { showError(input, `${getFieldName(input)} must be less than ${max}`) return false } else { showSuccess(input) return true } } // get field name function getFieldName(input) { return input.id.charAt(0).toUpperCase() + input.id.slice(1) } // event listeners form.addEventListener('submit', function (e) { e.preventDefault() if (checkRequired([username, email, password, confirmPassword]) && checkLength(username, 4, 15) && checkLength(password, 6, 20) && checkEmail(email)) { localStorage.setItem("register-username", username.value) localStorage.setItem("register-email", email.value) localStorage.setItem("register-password", password.value) setTimeout(() => { window.location = "./login.html" }, 1000) } }) الرجاء التوضيح و شكرا.
    2 نقاط
  2. لو سمحت يعني اي لازم اكون مكمل اربعة مسارات تعليمية يقصد بيها لازم اكمل اربعه دورات حتي لو انا هختار دوره واجهات الويب ؟؟
    2 نقاط
  3. هل يمكن تطبيق async على دوال Django وكيف ذلك
    1 نقطة
  4. بعد أن قمت بالعديد من الإصلاحات أرجو رأيكم في الموقع التالي: https://my-free-ecommerce.netlify.app/ شكرا.
    1 نقطة
  5. الموقع جيد وفيه خصائص تصميمية جميلة جداً. ويبدو أنه لا يوجد صورة Favicon للموقع لاحظ : وهذه الـ Favicon تضيفها كالتالي : <link rel="icon" type="image/x-icon" href="مسار/الصورة"> ثانياً لاحظت بعض المشاكل : 1- لا يوجد إشارة ☝ pointer عند عمل hover على زر عربة الشراء أو زر القلب. والنصيحة ان تضيف الخاصية pointer لكل من الزرين : cursor: pointer; 2- عندما اقوم بعمل اعجاب على عنصر فإنه لا يحدث أي تغيير بزر الاعجاب الذي ضغطت عليه وهذا سيء لتجربة المستخدم (حيث انني ظننت ان الزر لا يعمل عند اول تجربة) ولكن التغيير الوحيد الذي يحدث هو إضافة 1 إلى زر القلب وعند النقر على زر القلب يظهر المنتجات التي اعجبتني ولكن عند الغاء الاعجاب يبقى العدد 1 يظهر على زر القلب. والنصيحة هي تغيير زر الأعجبني الموجود في كل بطاقة عند النقر عليه بحيث يظهر للمستخدم ان الزر يعمل و تعديل الرقم الذي يظهر فوق زر القلب بحيث يتغير عند عمل الغاء الاعجاب. 3- لا يمكنك حذف المنتج من السلة إلا عند فتح صفحة السلة. والنصيحة هي ان تضيف زر الحذف والزر الخاص بإضافة المزيد من ذات المنتج إلى السلة الموجودة في الصفحة الرئيسية أيضاُ. 4- في حال قمت بإضافة اكثر من منتج من ذات النوع في صفحة السلة ومن ثم قمت بإعادة التحميل فإن المنتجات التي اضفتها لا تحفظ. 5- يفضل أن تقوم بإضافة اشعار بسيط عندما ينقر المستخدم على زر الإضافة إلى العربة وذلك لأن التغيير الوحيد الذي يحدث هو تغيير الرقم الصغير الموجود على السلة ويصعب الانتباه له. 6- احببت ان اجد صفحة تفاصيل المنتج وكذلك تفاصيل عن الشركة (صفحة من نحن) و صفحة تواصل معنا وكذلك صفحة سياسة الخصوصية والاستخدام والـ footer الخاص بالموقع. 7- النصيحة الاخيرة هي الاطلاع على موقع ecommerce شهير ومحاولة معرفة النقاط الاساسية فيه وتطبيقها في موقعك بطريقتك المميزة.
    1 نقطة
  6. السلام عليكم انا عندي مشكلة في الكمبوزر في 81 اضافة مش بتضاف ممكن حل للمشكلة ده
    1 نقطة
  7. لا توجد أي مشكلة في الحقيقة، الرسالة "X packages you're using are looking for funding" تشير الى أنك تقوم باستعمال كذا حزمة تحتاج الى الدعم أو منح هبات donations مقابل الخدمات التي تعرضها بشكل مجاني. أو حتى أن بعض الحزم تستخدم هاته الميزة لدعوة المستخدمين الى الاستفادة من جزئيات أو ميزات اضافية بمقابل مادي. غالبا ما تظهر هاته الرسالة بعد نجاح تثبيت حزمة أو تحديثات اعتماديات composer في مشروع ما. لاحظ أنه يتم الاشارة الى تنفيذ الامر composer fund، وعندما يتم تنفيذه ستظهر قائمة بالحزم المثبتة مرفق بها روابط دعم بيبال أو دعم غيتهب أو مواقعها الرسمية. يمكنك اختبار الأمر وتجربة الوصول الى أحدها.
    1 نقطة
  8. أنت لم تشارك كود HTML وبالتالي تبقى الإجابة في إطار التكهن. ويبدو لي أن المشكلة تكمن في جزئين أولهما تركيب HTML والثاني الدالة showError . فإذا كان كل input مرتبط به small خاص به فعليك الوصول الى الأخير من خلال input أو من خلال المعرف id وليس من form كما تفعل, حتى تتمكن من تعديل النص في العنصر الصحيح, وإلا فمن الكود في الدالة showError نفهم أن لديك tag واحد من النوع small وأن النص فيه سيتم تعديله في كل مرة تستدعي فيها validation معين وينتهي الأمر برسالة الخطأ لأخر validation يتم تشغيله. إذا لم تعرف كيف تسقط هذا الحل على مشكلتك بتصرف, يرجى مشاركة كود HTML كاملاً مع JavaScript حتى نعطيك الحل بدقة أكبر.
    1 نقطة
  9. السبب في ذلك أنّك تنفّذ كلّ طرق الـ check ضمن الجملة الشرطية، والجملة الشرطية عند أول خطأ تراه تقوم بإرساله والخروج فوراً. حاول التعديل على الكود ليصبح: form.addEventListener('submit', function (e) { e.preventDefault() let check1 = checkRequired([username, email, password, confirmPassword]); let check2 = checkLength(username, 4, 15); let check3 = checkLength(password, 6, 20); let check4 = checkEmail(email); if (check1 && check2 && check3 && check4) { localStorage.setItem("register-username", username.value) localStorage.setItem("register-email", email.value) localStorage.setItem("register-password", password.value) setTimeout(() => { window.location = "./login.html" }, 1000) } }) بحيث تقوم بتنفيذ جميع طرق التفحّص وإرسال جميع الأخطاء.
    1 نقطة
  10. السلام عليكم. في الكود التالي: // register-username-register-email-register-password-register-btn let form = document.querySelector('form') let username = document.querySelector(".register-username") let email = document.querySelector(".register-email") let password = document.querySelector(".register-password") let confirmPassword = document.querySelector('.register-confirm-password') let registerBtn = document.querySelector(".register-btn") // show input error message function showError(input,message) { const formControl = input.parentElement formControl.classList = "form-control error" const small = formControl.querySelector('small') small.innerText = message } // show success outline function showSuccess(input) { const formControl = input.parentElement formControl.classList = "form-control success" } // check email is valid function checkEmail(input) { const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (re.test(input.value.trim())) { showSuccess(input) } else { showError(input, 'Email is not valid') } } // check passwords much function checkPassword(input1, input2) { if (input1.value != input2.value) { showError(input2, 'Passwords do not much') } } // check required fields function checkRequired(inputArr) { inputArr.forEach(function (input) { if (input.value.trim() === '') { showError(input, `${getFieldName(input)} is required`) } else { showSuccess(input) } }) } // check input length function checkLength(input, min, max) { if (input.value.length < min) { showError(input, `${getFieldName(input)} must be at least ${min}`) } else if(input.value.length > max){ showError(input, `${getFieldName(input)} must be less than ${max}`) } else { showSuccess(input) } } // get field name function getFieldName(input) { return input.id.charAt(0).toUpperCase() + input.id.slice(1) } // event listeners form.addEventListener('submit', function(e){ e.preventDefault() if (checkRequired([username,email,password,confirmPassword]) || checkLength(username, 4, 15) || checkLength(password, 6, 20) || checkEmail(email)){ localStorage.setItem("register-username", username.value) localStorage.setItem("register-email", email.value) localStorage.setItem("register-password", password.value) } setTimeout(()=>{ window.location = "./login.html" }, 1000) }) يقع الذهاب إلى صفحة ./login.html حتى في صورة إدخال بيانات غير مطابقة. ما أريده هو في صورة وجود بيانات غير مطابقة تظهر لي رسائل الخطأ أما في صورة تطابق البانات يقع المرور للصفحة الموالية. شكرا.
    1 نقطة
  11. أريد أن أربط قاعدة البيانات mongoDB مع مشروع django
    1 نقطة
  12. هناك ثلاث طرق لربط Django بـ MongoDB: PyMongo: PyMongo هو المحرك القياسي الذي يمكن لـ MongoDB من خلاله التفاعل مع Django. إنها الطريقة الرسمية والمفضلة لاستخدام MongoDB مع Python. يوفر PyMongo وظائف لأداء جميع إجراءات قاعدة البيانات مثل البحث والحذف والتحديث والإدراج. نظرًا لأن PyMongo متاح مع PyPI ، يمكنك تثبيته بسرعة باستخدام أمر pip. MongoEngine: MongoEngine هو مصمم خرائط كائن Python. إنه مشابه لـ Object-Relational-Mapper في قواعد البيانات العلائقية. يحتوي MongoEngine على واجهة برمجة تطبيقات تعريفية يسهل تعلمها واستخدامها. Djongo: إذا كنت تستخدم قاعدة بيانات علائقية مثل SQL وتريد الترحيل إلى MongoDB ، لذلك يمكنك استخدام Djongo. بدون تغيير Django ORM ، يحول Djongo جميع استعلامات SQL إلى استعلامات بناء جملة MongoDB. ربط Django و MongoDB باستخدام PyMongo قم بتثبيت PyMongo بسهولة باستخدام الأمر pip / pip3: pip install pymongo[snappy,gssapi,srv,tls] أيضًا ، قم بتثبيت dnspython لاستخدام mongodb + srv: // URIs بالأمر: pip install dnspython باستخدام PyMongo ، يمكننا تشغيل قواعد بيانات متعددة بشكل متزامن عن طريق تحديد اسم قاعدة البيانات الصحيح لطبعة الاتصال. يمكننا إنشاء عميل في ملف utils يمكن استخدامه من قبل أي عرض يريد التفاعل مع MongoDB. قم بإنشاء ملف utils.py في مجلد المشروع الخاص بك (نفس موقع manager.py) وقم بإنشاء مثيل للعميل: from pymongo import MongoClient def get_db_handle(db_name, host, port, username, password): client = MongoClient(host=host, port=int(port), username=username, password=password ) db_handle = client['db_name'] return db_handle, client يمكن بعد ذلك استخدام هذه الطريقة في ./myfirstapp/view.py. طريقة أخرى للحصول على الاتصال هي استخدام connection_string: from pymongo import MongoClient client = pymongo.MongoClient('connection_string') db = client['db_name'] 2 - توصيل Django و MongoDB باستخدام Djongo يعد Djongo تحسينًا على PyMongo حيث لا يحتاج المطورون إلى كتابة استفسارات مطولة. يقوم بتعيين كائنات Python إلى مستندات MongoDB ، أي تعيين مستند الكائن (ODM). يضمن Djongo أن البيانات النظيفة فقط هي التي تدخل قاعدة البيانات. من خلال إجراء فحوصات السلامة ، وتطبيق عمليات التحقق ، وما إلى ذلك مع Djongo ، ليست هناك حاجة لتعديل Django ORM الحالي. تثبيت Djongo: pip install djongo الآن ، انتقل إلى مجلد المشروع الخاص بك (على سبيل المثال ، MyFirstDjangoProj) ، وافتح ملف settings.py. يمكنك تحريره على Textpad أو Python IDE أو أي محرر. ابحث عن قواعد البيانات ، وقم بتغيير الإعدادات للإشارة إلى MongoDB. سيكون ENGINE هو djongo وسيكون اسم قاعدة البيانات (NAME) هو اسم قاعدة بيانات MongoDB. DATABASES = { 'default': { 'ENGINE': 'djongo', 'NAME': 'db-name', } } إذا لم تكن قاعدة البيانات الخاصة بك على المضيف المحلي أو كانت مؤمنة ، فيجب عليك أيضًا ملء معلومات العميل مثل HOST و USERNAME و PASSWORD وما إلى ذلك. DATABASES = { 'default': { 'ENGINE': 'djongo', 'NAME': 'your-db-name', 'ENFORCE_SCHEMA': False, 'CLIENT': { 'host': 'mongodb+srv://<username>:<password>@<atlas cluster>/<myFirstDatabase>?retryWrites=true&w=majority' } } } تأكد من إضافة اسم التطبيق في إعداد INSTALLED_APPS settings.py: INSTALLED_APPS = [ 'myfirstapp', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] ثم قم بترحيل قواعد البيانات
    1 نقطة
  13. هل هناك عدد محدد من الفيديوهات التزم به يوميا ؟ ام يمكنني مشاهدة اكثر من فيديو خلال اليوم الواحد ؟ لاني اطلعت على دورات اخرى تشترط على ان يتم مشاهدة فيديو واحد او اثنين في اليوم .
    1 نقطة
  14. لا ، ليس هذا المقصد لو أنتِ سوف تختارِ دورة تطوير واجهات المستخدم للإشتراك بها ، بداخل هذه الدورة يوجد عدّة مسارات وهي كالتالي :- أساسيات تطوير الويب بناء واجهة مستخدم تشبه موقع YouTube بناء صفحات هبوط تطوير متجر الكتروني تطوير موقع شركة تطوير لوحة تحكم بناء مواقع ثابتة باستخدم Hugo بداخل هذه المسارات يوجد شروحات ودروس مقسمة إلى أجزاء ، فيجب أن تقومِ بإنهاء أربعة مسارات من هذه المسارات التي بداخل الدورة حتى تسطيعِ التقدم للإمتحان والحصول على الشهادة . للإطلاع حول دورة تطوير واجهات المستخدم من هنا
    1 نقطة
  15. يبدو أن المشكلة هي في الـ if الموجودة داخل الـ event listeners حيث انك تتوقع ان تعيد الوظائف قيمة صحيحة أو خاطئة ولكنك لم تقم بإعداد الوظائف لتعيد أي شيء. وذلك لأن الوظيفة في حال لم تقم بإضافة return لها فإنها ستعيد undefined فمثلاً : const myFunction = (a , b) => { cosnt c = a + b; } console.log(myFunction(4, 15)) // undefined ستعيد // وبالتالي if(myFunction(4, 15)) { // undefined لن يتحقق الشرط أبداً لأن نتيجة الوظيفة هي . . . } // بينما const myFunctionWithReturn = (a , b) => { cosnt c = a + b; return c; } if(myFunctionWithReturn(4, 15)) { // في هذه الحالة سيتحقق الشرط لأن الوظيفة ستعيد 60 . . . } ولذلك يجب ان تعيد من الوظيفة قيمة معينة (true أو false) أو ما ينوب عنها فمثلاً كل من "" (نص فارغ) و 0 و undefined و null كلها تعتبر false. والمشكلة الثانية هي أنك كتبت الشرط كالتالي : if(a || b || c){...} وهذا يعني ان الشرط سيتحقق إذا كان واحد على الاقل من الـ a و b و c صحيحاً أي أنه إذا كان a صحيحاً ولكن b و c خطأ سيتحقق الشرط وسينفذ مابداخله. ولكن الشكل الصحيح هو التالي : if(a && b && c){...} وفي هذه الحالة لن يتحقق الشرط حتى تكون a و b و c كلها صحيحة. فيصبح الكود الخاص بك كالتالي : // check email is valid function checkEmail(input) { const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (re.test(input.value.trim())) { showSuccess(input) return true } else { showError(input, 'Email is not valid') return false } } // check passwords much function checkPassword(input1, input2) { if (input1.value != input2.value) { showError(input2, 'Passwords do not much') return false } else { return true } } // check required fields function checkRequired(inputArr) { let result = true; inputArr.forEach(function (input) { if (input.value.trim() === '') { showError(input, `${getFieldName(input)} is required`) result = false } else { showSuccess(input) } }) return result; } // check input length function checkLength(input, min, max) { if (input.value.length < min) { showError(input, `${getFieldName(input)} must be at least ${min}`) return false } else if (input.value.length > max) { showError(input, `${getFieldName(input)} must be less than ${max}`) return false } else { showSuccess(input) return true } } form.addEventListener('submit', function (e) { e.preventDefault() if (checkRequired([username, email, password, confirmPassword]) && checkLength(username, 4, 15) && checkLength(password, 6, 20) && checkEmail(email)) { localStorage.setItem("register-username", username.value) localStorage.setItem("register-email", email.value) localStorage.setItem("register-password", password.value) setTimeout(() => { window.location = "./login.html" }, 1000) } }) بعد قول كل هذا فإن استخدامك للـ js لعمل الـ validation قد صعب الموضوع كثيراً وذلك لأنه يوجد طريقة اسهل بكثير لعمل الـ validation وهي استخدام خصائص الـ input المبنية في html لاحظ المثال التالي : <form> <label for="userName">first name :</label> <input type="text" id="userName" name="userName" required placeholder="enter your userName" minlength="6" maxlength="10" /> <!-- الكود السابق يتأكد من كون المستخدم قد أدخل اسماً ومن أن طول هذا الاسم اكبر من 6 واصغير من 10--> <label for="userName">password :</label> <!-- الكود السابق يتأكد من كون المستخدم قد أدخل كلمة السر ومن أن طولها اكبر من 6 واصغر من 10--> <input type="password" id="password" name="password" placeholder="enter your password" min="6" max="25" required /> <button>Submit</button> </form> اطلع اكثر على الخاصيات التي تستطيع اعطائها للـ input من موسوعة حسوب
    1 نقطة
  16. السلام عليكم. اقوم بعرض البيانات في جدول كالتالي public Index() { InitializeComponent(); DB db = new DB(); SqlDataAdapter adapter = new SqlDataAdapter("SELECT id as '#ID', name_ar as 'الإسم العربي', name_en as 'الإسم الإنجليزي', status as 'الحالة' FROM levels", db.Connection()); DataTable dt = new DataTable(); adapter.Fill(dt); dataGridView1.DataSource = dt; } العامود status يرجع لي اما ب1 او ب0. اريد تعديل القيمة قبل عرضها بحيث اذا كانت 0 يظهر غير مفعل واذا كانت 1 يظهر مفعل. في c# windows form
    1 نقطة
×
×
  • أضف...