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

عبد الله محمد5

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

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

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

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

    2

كل منشورات العضو عبد الله محمد5

  1. لا يمكن ايقاف خاصية التشغيل التلقائي ولكن عوضاً عن ذلك يمكنك إيقاف الدرس للكتابة و التطبيق ومن ثم إعادة تشغيله مرة ثانية.
  2. السلام عليكم يجب عليك فعل ما يلي: انشاء قاعدة بيانات الcollation الخاص بها utf8mb4_unicode_ci و الcharset يكون utf8mb4. الجدول الذي تقوم بتخزين الايموجيز فيه يجب أن يكون الcollation الخاص به utf8mb4_unicode_ci والcharset يكون utf8mb4.
  3. مرحباً عبد الواحد لقد تعلمت الphp في مدة تقل عن الشهر بقليل و تعلمت الlaravel في اربعة ايام. بعض الناس يستخدمونهما معاً وذلك أفضل ولكن إذا توجب عليك الاختيار يجب أن تعلم أن: الحاسوب المكتبي افضل من ناحية وضعية الجلوس و أنك تعمل في مكان معين بصورة دائمة مما يخلق إلفة بينك وبين المكان. أما اللابتوب فميزته أنك تستطيع حمله معك والعمل به في أي مكان ويساعدك أيضاً في عرض أعمالك على العملاء الذين تجتمع بهم على أرض الواقع. في النهاية لكل واحد منهما مميزاته ولكنني أفضل الحاسوب المكتبي.
  4. افضل وسيلة للحصول على الافكار الابداعية في التصميم هي مشاهدة اعمال في نفس المجال الذي تريد العمل فيه سواء كان تصميم المواقع او التطبيقات او تصميم الشعارات . اليك بعض المواقع التي يمكنك من خلالها معاينة مشاريع والاستفادة منها: موقع unsplash وهو موقع يقدم صور بأعلى دقة. instantlogosearch موقع يقدم لوجاهات عالمية PNG. behance وهو موقع ستجد فيه مجموعة كبيرة من التصاميم. و كذلك من اهم الامور التي تساعد على الوصول لافكار جديدة 1- التركيز على عملك و تصفية ذهنك 2- وقت كافي للاطلاع والتعلم ومشاهدة افكار المصممين العالمين والمحلين 3- محاولة تطبيق ما شاهدته مع اضافة افكار جديدة
  5. نعم هو مسموح بل هو ضروري لترسيخ ما تعلمته. نعم إذا قمت بعمل فيديو خاص بك دون أن تنشر المحتوى الخاص بالدورات فذلك مسموح ولا يعد خرقاً لحقوق الملكية.
  6. توجد لديهم ثلاثة باقات: 2SELL: هنا 2checkout تأخذ رسوم عمولة 3.5 ٪ لكل معاملة إضافة إلى رسوم ثابتة بقيمة 0.35 دولار. 2SUBSCRIBE : هنا 2checkout تأخذ رسوم عمولة 4.5 ٪ لكل معاملة إضافة إلى رسوم ثابتة بقيمة 0.45 دولار. 2MONETIZE : هنا 2checkout تأخذ رسوم عمولة 6.0 ٪ لكل معاملة إضافة إلى رسوم ثابتة بقيمة 0.60 دولار. بحيث أن كل باقة من هذه الباقات عند الاشتراك في الخدمة الأعلى تحصل على مميزات الخدمة التي قبلها فمثلاً عند الاشتراك في باقة 2SUBSCRIBE فإنها تتميز بجميع مميزات 2SELL. يمكنك الاطلاع على مميزات هذه الباقات بصورة أفضل من هنا.
  7. بوابة 2checkout أغلى من بوابة paypal حيث أنها تأخذ رسوم عمولة 3.5 ٪ لكل معاملة إضافة إلى رسوم ثابتة بقيمة 0.35 دولار. بالإضافة الى أن متطلبات التسجيل في 2checkout صارمة للغاية وسيطلب منك وثائق للتحقق من هويتك وعنوانك ومعلومات المؤسسة المالية التي تتعامل معها. لهذا أنصحك بpaypal. لاتوجد عمولة فتح حساب في الاثنين. يمكنك الإطلاع على اسعار 2checkout من هنا.
  8. السلام عليكم لقد عملت على تصميم تطبيقات سطح المكتب باستخدام الjava swing و ال javafx و كذلك عملت على تصميم المواقع باستخدام الbootstrap . ومن واقع خبرتي المتواضعة أنصح دائماً من يريد أن يتعلم التصميم أن يبدأ بتعلم الlayout وهو يعني كيفية وضع وترتيب العناصر وتنسيقها مع بعضها البعض في المساحة المعروضة وهنا نقول المساحة المعروضة للتعميم فإذا كنت تعملين على تصميم تطبيقات الهواتف او تصميم تطبيقات سطح المكتب او تصميم المواقع فيجب عليك تعلم الlayout. بعد تعلم الlayout يجب عليك ممارسة التصميم دون التقيد بالجماليات بمعنى أنه يجب عليك في البداية صقل معرفتك بالlayout حتى تصلي الى مرحلة الاحترافية وبعدها سيكون الامر يسيراً. بعدها يمكنك محاكاة تصاميم جاهزة لعمل تغذية بصرية حتى تكون تصاميمك عصرية ومتماشية مع التوجهات الحالية للمصممين. قد يخطر ببالك سؤال من أين سأبدأ تعلم الlayout؟ أنا دائماً افضل الdocumentation وفي حال كنت من الذين يحبون الفيديوهات فأنصحك بالcrash courses لأنها تختصر المعلومات وفي البداية قد يصاب الانسان بالملل او الرهبه من كثرة المعلومات.
  9. لماذا يكتب اسمه لا داعي لتكرار البيانات فقط سيتم وضع Foreign Key يربط بين جدول المستهلك و الطلب و نصيحة لك في كل الجداول اعملي شيئين يكونو ثابتين created_at و updated_at يكون قيمتهم عبارة عن timestamp يتم اضافة created_at مرة واحدة فقط أما updated_at فيتم إضافتها عند انشاء الصف و يتم تحديثها عند كل تحديث. من ناحية برمجية لا بأس بذلك ولكن الأمر يعتمد على من يحق له تعديل موعد الطلب انت ام الزبون. نعم هذا شئ ضروري. نفس جدول الusers سيتم اضافة بيانات التسجيل فيه وهي البريد الالكتروني و كلمة المرور وتاريخ التسجيل كما أخبرتك سيكون عبارة عن created_at بالاضافة إلى email_verified_at إذا رغبت في تأكيد البريد الالكتروني. بالنسبة للصفحات : سيكون عندك صفحة لتسجيل مستخدم جديد وصفحة لتسجيل الدخول وصفحة لإستعادة كلمة المرور
  10. لا لست على خطأ ولكن ماذا تقصدين بأن الزبون سيقوم بأدخال البيانات إذا كان المقصد بيانات تسجيل مستخدم جديد بما أن الزبون سيكون أصلاً عبارة عن يوزر فأنصحك ان يكون عندك صفحة فيها عمليات تسجيل الدخول والتحقق من البيانات و صفحة اخرى لعمل تسجيل الدخول. الامر ممكن من الناحية البرمجية ولكنه غير منطقي ومرهق جداً خاصة وأنك تتعاملين مع موقع داينامك اي أنك في كل مره ستطلبين البيانات من قاعدة البيانات وستحتاجين ajax و بعد ذلك تنسيق البيانات في اماكنها باستخدام الجافا سكربت لذلك الافضل ان تكون جميع الصفحات بالphp بحيث تسهل عملية التقاط البيانات من قاعدة البيانات ومن ثم عرضها على الموقع
  11. السلام عليكم لتحسين السيو يجب عليك تكرار الكلمات المفتاحية الخاصة بأهداف الموقع وهي التنظيف و الخدمات المنزلية بالاضافة إلى تحديد المكان واسم الشركة فمثلاً كل فقرة يجب عليك ادخال كلمة تنظيف منازل بصورة لاتخل بالمعنى بهذه الطريقة سوف يتحسن ترتيب ظهور موقعك على نتائج بحث جوجل.
  12. السلام عليكم أختي من النظرة الأولى السريعة ليس بطيئاً جداً قمت بالإطلاع على الكونسول في خطأ واحد وهو متعلق بالدالة isContentEditable لا أظن أن له تأثيراً كبيراً ولكنني انصحك بحله. ولكن عندما قمت بعمل website speed test وجدت ان سرعته على الجوال هي المشكلة حيث أن سرعته على الحاسوب تبلغ 85 وهي سرعة لا بأس بها على الرغم من حاجتها للتحسين أما سرعته في الجوال فتبلغ 32 وهي بطيئة جداً. و كانت نتائج الاختبار تعطي النصائح التالية: ازالة اكواد الجافاسكربت التي لا حاجة لها فهي لوحدها تستهلك 2.85 ثانية عند فتح الموقع بالجوال وهي تتمثل في الاتي : https://www.youtube.com/s/player/9f996d3e/player_ias.vflset/en_US/base.js وسيقوم بحفظ 363.7 KiB https://pagead2.googlesyndication.com/pagead/js/r20210112/r20190131/show_ads_impl_fy2019.js وسيقوم بحفظ 70KiB 2. تغيير الtheme المستخدم والذي يستهلك 0.58 ثانية للإستجابة. 3.ازالة أكواد ال CSS الغير مستخدمة . بعد القيام بذلك يمكنك إجراء اختبار لسرعة الموقع مرة أخرى من هنا
  13. عفواً أختي , نحن في أكاديمية حسوب نسعد دائماً بالإجابة على أسئلتكم.
  14. السلام عليكم الخطأ عندك هو انك قمت بعمل comment للروابط الخاصة بالبوتستراب جافا سكربت بالاضافة إلى الرابط الخاص بالjquery . قمت بتعديله وهو يعمل بصورة جيدة الان . admin-area.rar
  15. لا هذا الكود يقوم فقط بنقل الملف إلى السيرفر عن طريق الدالة move_uploaded_file والتي تم تكرارها اكثر من مرة إذا لم يكن هنالك سبب لتكرار الكود أظن انه يجب عليك أن تكتفي بالأربعة أسطر الأولى فقط.
  16. سوف تجدين اجابة مشابهة لسؤالك هنا. سوف اعطيك نصيحة بهذا الخصوص يجب عليك دائماً عند العمل على اي تصميم الاطلاع على التصاميم المتوفرة و المتعلقة بهذا الغرض لسببين : الاول ان هذه التصاميم المعمولة تكون قد أُخضعت لقوانين تجربة المستخدم و من ثم تم تجربتها بصورة واقعية ومع مستخدمين حقيقين. الثاني انه يجب عليك عدم الخروج عن الاطار المتوافق عليه بالنسبة لتصميم المواقع المعينة فمثلاً منصات التواصل الاجتماعي لها شكل تقريباً واحد لمربع الدردشه و اضافة المنشورات . وانصحك بالدخول إلى هذا الموقع والبحث عن امثلة عن تصميم المتاجر. يمكنك الوصول الى بيانات الجداول التي تكون بينها علاقة من خلال الjoin وده بيخليك توصل للصفوف المشتركة او الصفوف الموجودة في واحد دون الاخر. ممتاز جداً وسيجعل العمل منظماً اكثر. لا جدول المستخدمين يكون واحداً فقط يتم انشاء صف جديد عند تسجيل مستخدم جديد ويتم مقارنة البيانات المخزنة مع البيانات المدخلة عن تسجيل دخول مستخدم. بلى يعمل و بسهولة كبيرة إذا واجهتك اي مشاكل عليك بمراجعة الروابط الخاصة بالبوتستراب.
  17. if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){ هنا يتم التأكد من أن الملف موجود وأن الform تم ارسال بياناته // Allow certain file formats $allowTypes = array('jpg','png','jpeg','gif','pdf'); if(in_array($fileType, $allowTypes)){ // Upload file to server هنا يتم التأكد من نوع الملف انه ملف صورة بالامتدادات الموضحة فإذا كان امتداد الملف واحداً من هذه الامتدادات فإن الملف يعتبر مقبولاً . فقط هنالك تعديل بسيط الرجاء إضافة السطر التالي: $fileName = $_FILES['image']['name']; $fileType = pathinfo($fileName, PATHINFO_EXTENSION); // Upload file to server if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ // Insert image file name into database $insert = $db->query("INSERT into images (file_name, uploaded_on) VALUES ('".$fileName."', NOW())"); الدالة move_uploaded_file تقوم بنقل الملف الى المكان المخصص وهو الtargetFilePath$ ويجب عليك تعريف مسار خاص بالمكان الذي تريد تحميل الملف عليه. إذا تم نقل الملف بنجاح تقوم الدالة بارجاع true فبالتالي يتم تنفيذ السطر القادم وهو ادخال اسم الملف ووقت رفعه على السيرفر
  18. السلام عليكم أخي أولاً إذا كنت تقصد انك تكتب الكود الخاص بالfunction في الinput فهذا الامر خطأ ويجب عليك أن تقوم بكتابة الكود في مكان منفصل تفادياً للثغرات الأمنية. أما إذا كنت بالفعل قد قمت بذلك فأنصحك بأن تقوم بالضغط على f12 وستفتح امامك الconsole وتعطيك اشارة بالخطأ او السبب الذي يمنع التنفيذ الصحيح للكود. كما في الصورة
  19. السلام عليكم أخي هناك طريقتان : الاولى ان تقوم بتحميل الصورة على قاعدة البيانات وهذه غير محبذه لأنها تثقل من قاعدة البيانات وتجعل الضغط عليها كبيراً. الثانية أن تقوم بتحميل الصورة على السيرفر و من ثم تقوم بتخزين المسار المؤدي الى الصورة في قاعدة البيانات. مثال: if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){ // Allow certain file formats $allowTypes = array('jpg','png','jpeg','gif','pdf'); if(in_array($fileType, $allowTypes)){ // Upload file to server if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ // Insert image file name into database $insert = $db->query("INSERT into images (file_name, uploaded_on) VALUES ('".$fileName."', NOW())"); if($insert){ $statusMsg = "The file ".$fileName. " has been uploaded successfully."; }else{ $statusMsg = "File upload failed, please try again."; } }else{ $statusMsg = "Sorry, there was an error uploading your file."; } }else{ $statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.'; } }else{ $statusMsg = 'Please select a file to upload.'; } بالنسبة للpassword hashing فإنك تقوم بتشفير كلمة المرور حتى لايتمكن احد من الاطلاع عليها بمعنى أنك لاتخزن كلمة المرور فعلياً
  20. لا, فقط عليك بعمل جدول users ويكون مربوط بجدول customers
  21. السلام عليكم علاقات جيدة ولكن بالنسبة للcustomer ليس هنالك داع لأن يكون في جدول خاص به لأنك فقط تقوم بتجميع بياناته بخصوص الطلب ولا تريد القيام بعمليات اضافية مثل انشاء حساب له أو ارسال رسائل له . لذلك اقترح عليك ان تجعل الطلب يحتوي على اسم الزبون وتختصر الأمر. اما بالنسبة للشكاوي فأيضاً ضع اسم الزبون ورقم هاتفه والشكوى الخاصة به دون الحاجة لعمل علاقة مع جدول الطلب. اذا كانت الشكاوي عامة عن اداء المطعم وغيرها اما اذا كانت الشكاوي محصورة فقط على من اخذ الطلب فلا بأس أن تكون هنالك علاقة. هذه الفرضية الأولى الفرضية الثانية أنك تريد ان تتعامل مع المستخدم مجدداً وهذا هو الشائع في هذه الحالة يجب ان تكون له بيانات دخول وبالتالي يتعين انشاء علاقة بين الكستمر و اليوزرس بحيث تكون علاقة 1:1 ثم تقوم بأنشاء علاقة بين الكستمرس والريكويست بحيث تكون 1:n بحيث يتمكن الكستمر من انشاء اكثر من طلب لذلك يتعين عليك وضع customer_id في الrequests ولا حاجة لتضع الrequest_id في الcustomers table. بالنسبة للشكاوي فسيتعين عليك ان تجعل العلاقة 1:n بنفس الكيفية حتى يتسنى للcustomer ان يقوم بتقديم عدة شكاوي. اما بالنسبة للstatus ففي كل الفرضيات ارى انه لاداعي له فقط قم بوضع field في الrequest او ايجاد حالة الطلب كderived value من خلال معطيات المطبخ و الديليفري وهكذا.
  22. السلام عليكم أخي اولاً من اين يمكنك تعلم الlaravel : من خلال التوثيق الرسمي الخاص بlaravel من هنا . او من خلال الدورات الخاصة باللارافيل. ثانياً : بالنسبة للطريقة الصحيحة لتعلم اللارافيل يجب عليك اولاً أن تكون على علم ودراية بلغة php. ثم لا تقم بتعلم الفريمورك كاملاً ثم البدء بممارسته عليك ان تمارس الجزئيات الصغيرة اولاً بأول حتى ترسخ عندك. احرص على قراءة اكواد كتبها غيرك فهذا يجعلك تتعلم بسرعة اكبر ويضيف لك خبرة وتجارب الاخرين. احرص على مساعدة الاخرين وتعليمهم ما تعلمت وبهذا ستكون قد رسخت معرفتك. بالنسبة الى أمر النسيان او العودة بعد الانشغال: لا عليك فأنت غير مطالب بأن تحفظ اي شيء ومراجعة بسيطة للقواعد الاساسية في نصف ساعة كفيلة بأن تعيد الى ذهنك ما تعلمته. لذلك احرص على التركيز على الفهم وليس الحفظ.
  23. كما أخبرتك أنها تعتمد على الفئة المستهدفة وأهمية التطبيق بالنسبة لهم, ولكن دائماً اجعلها في اقل حد ممكن 2$ او 5$ كبداية.
×
×
  • أضف...