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

محمد عاطف17

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

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

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

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

    29

كل منشورات العضو محمد عاطف17

  1. نعم يتم وضع ال action في عنصر ال form دائما لذلك يجب وضعها وكتابة المسار الذي تريد إرسال البيانات له ومن الملف web المرفق فإن المسار هو / الخاص بإستقبال البيانات لهذا يجب تغير ال action في هذا السطر إلى / : بعد ذلك في ملف web.php يجب عليك حفظ البيانات عن طريق إستدعاء الدالة save() لحفظها في قاعدة البيانات بعد ذلك إعادة التحويل إلى الصفحة السابقة مرة أخري . لذلك يجب إضافة السطرين التاليين بعد سطر 44 مباشرة : $article->save(); return redirect()->back();
  2. وعليكم السلام ورحمة الله وبركاته .ستجدين أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤوالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتكي بشكل أفضل.
  3. إذا كنت تقصد Pylint فإنه منذ مارس 2022 تم إصدار إضافة جديدة خاصة ب Pylint والإعدادات التي تحاول كتابتها تم تجاهلها لذلك لن تعمل. كل ما عليك هو تثبيت إضافة Pylint وسيعمل معك دون كتابة أي إعدادات. وهذا هو رابط الإضافة : https://marketplace.visualstudio.com/items?itemName=ms-python.pylint
  4. يمكنك محادثة الدعم دائما من خلال الرابط التالي : https://support.academy.hsoub.com/conversations ونعتذر عن أي تأخير في الرد فأحيانا يكون هنا ضغط ويتأخر الرد قليلا لذلك نرجوا من الإنتظار قليلا حتي يتم الرد عليك. شكرا لك
  5. وعليكم السلام ورحمة الله وبركاته . المكتبات os و sys و platform في بايثون هي مكتبات مدمجة في بايثون توفر وظائف مختلفة للتعامل مع النظام وبيئة التشغيل. المكتبة os: توفر واجهات للتعامل مع نظام التشغيل حيث يمكنك استخدامها للوصول إلى وظائف مثل إدارة الملفات والمجلدات (مثل القراءة والكتابة وحذف الملفات)، تنفيذ أوامر نظام التشغيل التلاعب ببيئة التشغيل وغير ذلك من الأمور التي تتعامل مع نظام التشغيل. امثلة للدوال في هذه المكتبة: listdir و getenv و system المكتبة sys: توفر واجهات للتفاعل مع مترجم بايثون نفسه حيث تتيح لك الوصول إلى معلومات حول بيئة التنفيذ الخاصة ببايثون مثل المعلمات المرسلة عند تشغيل البرنامج متغيرات النظام (env) أمثلة على الدوال والمتغيرات في argv (للحصول على معلمات سطر الأوامر) و exit (لإنهاء البرنامج). المكتبة platform: توفر معلومات عن نظام التشغيل والبيئة التي يعمل بها برنامج بايثون حيث تتيح لك الحصول على تفاصيل حول إصدار نظام التشغيل مثل نوعه وبيئة النظام، مما يساعد في كتابة كود يتكيف مع بيئات مختلفة. تلخيصا لما سبق os تستخدم للتفاعل مع النظام وملفاته أما sys للتعامل مع بيئة بايثون نفسها و platform للحصول على معلومات عن النظام الذي يعمل عليه البرنامج.
  6. وعليكم السلام ورحمة الله وبركاته . يمكنك مسح ال terminal في نظام ويندوز عن طريق كتابة الأمر cls أما في نظام لينيكس عن طريق الأمر clear . ولتنفيذ أمر معين في بايثون يجب إستخدام دالة system من وحدة os . ويمكنك تعريف دالة لنسمها clear_screen وتستدعي هذا الأمر وفي كل مرة تريد حذف الكلام من الterminal يمكنك إستدعاء الدالة فقط . import os def clear_screen(): os.system('cls') clear_screen() وإذا تريد جعل الكود يعمل على نظام لينكس فقط قم بتبديل cls إلى clear
  7. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤوالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  8. وعليكم السلام ورحمة الله وبركاته . إذا ذهبت إلى صفحة product-details.html و قمت بفتح ال console في المتصفح ستجد أخطاء ظهرت في ملف main.js وستجد خطأ يظهر في سطر 412 والكود الخاص بال swipper الذي يقوم بإنشاءه في سطر رقم 482 ولهذا يتوقف الكود عند سطر 412 ولا يستمر إلى 482 لهذا لا يعمل معك . من المفترض تقسيم ملف main.js إلى عدة ملفات كل ملف خاص بصفحة معينة وملف يحوى جميع الأكواد المشتركة في جميع الصفحات . حيث أنك تقوم بالبحث عن عناصر في الصفحة وتضع حدث عليها أو تقوم بتعديل التنسيق الخاص بها وإذا لم توجد تلك العناصر يحدث خطأ لديك ويمنع تنفيذ باقي الأكواد . يمكنك قبل العمل على أي عنصر التحقق من وجوده أم لا إذا لم ترد فصل الكود إلى عدة ملفات . وحاليا لحل مشكلتك يرجى نقل كود ال swipper في سطر 482 إلى ما قبل سطر 12 ويفضل نقل جميع ال swipper إلى دالة منفصلة و تنفيذها حتي لا تحدث مشاكل . ولقد قمت بإرفاق ملف main.js بعد تعديله . main.js
  9. هل يتم إرسال رسالة لك على البريد الإلكتروني الخاص بك ؟ يجب عليك عدم فتح أكثر من محادثة بل هي محادثة واحدة فقط ويرجى الإنتظار وسيتم الرد عليك في أسرع وقت . وتأكد من كتابة البريد الإلكتروني الصحيح الخاص بك حيث سيتم إرسال إشعار لك على البريد الإلكتروني ويمكنك الوصول للمحادثة من خلال البريد الإلكتروني أو من خلال الموقع هنا من خلال البريد الذي أرسلت عليه الرساله سابقا. لذلك من فضلك يرجى إرسال رساله واحده إلى فريق الدعم والإنتظار حتى يتم الرد عليك.
  10. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤوالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  11. وعليكم السلام ورحمة الله وبركاته . نعم لا يمكن وضع أكثر من مفتاح بنفس القيمة في القاموس حيث سيتم أخذ فقط أخر قيمة تم كتابتها. وهذا بسبب أن القاموس (dict) هو عبارة عن نوع من أنواع الـ hash table حيث أن الـ hash table هو هيكل بيانات يستخدم دالة تجزئة (hash function) لتحويل المفاتيح إلى قيم عددية تُستخدم كعناوين في جدول البيانات و هذا يسمح بالبحث السريع والوصول الفوري تقريبًا إلى العناصر بناءً على المفاتيح. فمثلا لو لدينا مفتاحي يسمي first_name فستقوم الدالة hash function والتي يستخدمها القاموس في تحويل first_name إلى قيمة ثابتة يتم تخزينها في ال memory (الذاكرة) وبهذا إذا تم إستخدام first_name مجددا فإن تلك الدالة ستقوم بتحويله إلى قيمة ثابتة وبما أنها نفس القيمة فسيتم إعادة كتابة القيمة في ال memory وبهذا يصبح لدينا في ال memory أخر قيمة للمفتاح first_name . dic = { "first_name ":"ahmed", "first_name ":"mohamed" } print(dic) #{'first_name ': 'mohamed'} لاحظ في المثال السابق ستجد أن قيمة المفتاح first_name هي أخر قيمة تم كتابتها. ولذلك يفضل إنشاء متغير جديد لحمل بيانات الشخص الجديد أو إنشاء قائمة تحوي جميع الأشخاص . ولكن توجد عدة طرق أخري لحفظهم في متغير واحد كالتالي مثلا: people = { 0: { "first_name": "Ahmad", "last_name": "Ali", }, 1: { "first_name": "Ali", "last_name": "Mohamed", "age": 25 }, 2: { "first_name": "Mahmoud", "last_name": "Ahmad", } } print(people) هنا لاحظ كيف وضعنا مفتاح عددي فالشخص الأول مفتاحه هو 0 ويوجد بداخله جميع بياناته.
  12. اذا كلن المشروع خارج محتوى الدورة اي لم يكن تمرين قد قام المدرب بإعطاءه فيجب انشاء سؤال جديد هنا في قسم الاسئلة العامة.
  13. نعم بالطبع إن github لا غنى عنه حاليا وهو مفيد لحفظ المشاريع وتقدمها وتنظيمها في حال عمل أكثر من شخص على المشروع. لذلك يفضل تعلمه حاليا وإستخدامه في رفع المشاريع البسيطه التي تعمل عليها حتى تعتاد عليه و تستطيع إستخدامه بعد ذلك في المشاريع الكبيرة. ولكن لابئس إذا لم ترد إستخدامه الآن .
  14. لا توجد دورة حاليا هنا في الأكاديمية تخص لغة ++c أو #c ولكن توجد العديد من الدورات الأخرى التي تقدمها اكاديمة حسوب وكل دورة لها اكثر من مسمى وظيفى خاص بها على حسب الاقسام التى تم بالانتهاء منها: دورة علوم الحاسوب : هي عبارة عن حجر الأساس ونُقطة الإنطلاق لتعلم أحد المجالات والتخصص فيه، يُفترض أنه بعد إنهائك لهذه الدورة وفهم دروسها بالكامل أن تجد سهولة في إحتراف المجال الذي يناسبك وتبدأ رحلتك فيه. مسألة إختيار المجال تتعلق بك وبسوق العمل الذي تريد أن تستهدفه. دورة تطوير التطبيقات باستخدام لغة Python بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة بايثون و backend devolper باطار عمل django وايضا تهيئك لمجال تحليل البيانات والذكاء الاصطناعى وتعلم الالة . وهذه الدورة اذا اردت ان تصبح مطور واجهات خلفية . دورة تطوير التطبيقات باستخدام JavaScript بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة جافاسكريبت وتمكنك من ان تصبح مطور واجهات خلفية MERN stack وايضا تمكنك من تطوير تطبيقات الهاتف ومن الممكن ان تستعملها لتصبح FULL STACK Developer دورة تطوير تطبيقات الويب باستخدام لغة PHP بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة php باطار عمل لارافيل و ووردبريس وهذه الدورة تؤهلك لتصبح مطور واجهات خلفية بواسطة php. دورة تطوير تطبيقات الويب باستخدام لغة Ruby عد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة ruby وهذه الدورة تؤهلك لتصبح مطور واجهات خلفية. دورة تطوير واجهات المستخدم بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور واجهات امامية . دورة الذكاء الاصطناعي والتي ستمكنك من الدخول في مجال تعلم الآلة والذكاء الإصطناعي وتحليل البيانات. والدورتين التي تريدهما يجب أن تحدد ما هو المجال الذي تريد التعمق فيه . فإذا كنت تريد مجال الذكاء الإصطناعي فيمكنك أخذ دورة علوم الحاسب مع دورة الذكاء الإصطناعي . أو دورة علوم الحاسب و أي دورة أخرى تريدها سواء دورة php إذا كنت تريد العمل بلغة php أو دورة دورة تطوير التطبيقات باستخدام JavaScript . ونعم حاليا مازال العرض متاحا ويمكنك الإشتراك به من خلال الرابط التالي : https://academy.hsoub.com/offers/summer-2024/
  15. أقصد مستودع github حيث يجب عليك رفع مشاريعك علي github وذلك لحفظ تقدم مشروع والرجوع إلى أي تعديل في أي وقت وأيضا حفظ مشاريع لمشاركتها مع الأخرين و العمل علي نفس المشروع بأكثر من شخص. ولكن لابئس إذا لم تقم بعمل github ومستودع للمشروع يمكنك إرسال ملفات المشروع لا مشكلة.
  16. وعليكم السلام ورحمة الله وبركاته. نعم بالطبع لا توجد أي مشكلة . إذا كان لديك مشروع ولكن ليست مشاريع دراسية أو مشاريع تخرج وكنت تواجه مشكلة أو صعوبة في شئ فيمكنك طرح سؤالك هنا وستجد العديد من المدربين الذين سيساعدونك بإذن الله . وإذا أردت تقيم الكود الذي قمت بكتابته أيضا لا توجد مشكلة يمكنك إرسال رابط المستودع في سؤال هنا وسيقوم المدربون المتاحون في هذا الوقت بتقيمه إن شاء الله.
  17. توجد في C# دالة تسمى ToLower وهي التي تقوم بتحويل جميع حروف السلسلة النصية إلى حروف صغيرة واذا أردت العكس يمكنك إستخدام الدالة ToUpper . وهذا مثال بسيط يوضح كيفية إستخدام ToLower : string originalText = "HELLO WORLD"; Console.WriteLine($"Original Text: {originalText}"); // تحويل النص إلى حروف صغيرة string lowerCaseText = originalText.ToLower(); Console.WriteLine($"Lowercase Text: {lowerCaseText}");
  18. مرحبا يوسف. نعتذر لك عن التأخير في الرد حيث حاليا يوجد العديد من الطلاب الآخرون الذين يأدون الإمتحان أيضا ولذلك من الممكن أن يتأخر الرد قليلا لذلك من فضلك يرجى الإنتظار قليلا حتى يتم الرد عليك. إذا كنت قد أنهيت الإختبار بالفعل فلا تقلق يمكنك الإنتظار حتى يتم الرد عليك أو يبدوا أنه يتم تقيم مشروعك حاليا . أما إذا كان سؤالك بخصوص المشروع فسيتم الرد عليك قريبا بإذن الله. بالتوفيق لك.
  19. وعليكم السلام ورحمة الله وبركاته. أفضل طرق حفظ البيانات سواء بيانات كبيرة أو صغيرة هي قواعد البيانات لذلك سيتوجب عليك تعلم أولا قواعد البيانات . إذا كان المشروع لديك بسيطا وتريد شئ سريع يمكنك حفظ البيانات في ملفات excel حيث تقوم بحفظ البيانات في جدول في ملف execl و إستعراض البيانات التي بداخله . ولكن عيب هذه الطريقة هو وصول أي شخص لهذا الملف ومن الممكن أن تحدث به مشاكل أو يتم حذفه أو تعديله بشكل خاطئ و أيضا لا يوفر excel ميزة البحث أو ترشيح البيانات حيث سيتوجب عليك عمل كل شئ بنفسك في الكود. ولذلك أفضل طريقة كما وضحت لها هي إستخدام قواعد البيانات والتي ستساعدك في حفظ بياناتك بشكل أمن وعدم الوصول إليها إلا سوى الأشخاص المصرح لهم وتوفر لك طرق سهلة وسريعه لحفظ و قراءة وفلترة البيانات دون الحاجة لعمل المنطق بها في الكود بل كل ما سيتوجب عليك هو إستعمال أوامر قاعدة البيانات التي توفرها وأشهرها لغة إستعلام SQL وقاعدة البيانات هي من ستقوم بكل العمل لك . يمكنك قراءة المقالات التالية لمعرفة أنواع قواعد البيانات و الفرق بينها وكيفية إستخدامها ومعلومات أكثر حولها :
  20. نعم بالطبع معظم وظائف لارافيل لا تتطلب إصدار معين وستجد بالطبع وظائف بإصدار 9 من لارافيل . ويوجد حتي الآن بعض المشاريع والوظائف التي تعتمد على إصدار 5 من لارافيل حيث ستجد أن تلك المشاريع قديمة جدا و إذا تم تحديث إصدار لارافيل لها ستحدث بها مشاكل كثيرة ولن تعمل أو ستكون تكلفة التحديث كبيرة لذلك لا يزالون يعملون على إصدار 5 . وإذا قمت بالبحث عن وظائف العمل الحر والتي تتطلب إنشاء مشروع من البداية فهنا أنت لك الحرية الكاملة في إختيار الإصدار الذي تعمل به ويمكنك إستخدام الإصدار 9 أو 10 أو حتى 11 كما تريد كل ما يهم العميل هو أن المشروع يعمل دون أي مشاكل وكما هو متوقع . أما وظائف الشركات فهنا من الممكن أن يطلبو إصدار معين ولكن ستجد قليل من يريدون أحدث إصدار حيث كما أخبرتك إذا كانت المشاريع كبيرة فتكلفة التحديث من إصدار لإصدار ستكون كبيرة لذلك يعملون بالإصدار الحالي للمشروع ولهذا ستجد معظم الشركات تطلب إصدار 8 أو 9 . والتغيرات بين إصدار 8 و 9 و 10 ليست بالكبيرة ولكن حدثت تعديلات كبيرة وتغير في بنية المشروع في إصدار 11 لذلك ستجد إختلاف كبير في هذا الإصدار . وبالفعل كما قلت فإنه يتوجب عليك دائما التطوير فإن التحديثات لن تتوقف أبدا ولهذا يجب عليك تعلم قراءة التوثيق الرسمي لمعرفة التغيرات التي حدثت ومتابعة هذه التحديثات. كما في الجدول السابق لتاريخ إصدار التحديثات من التوثيق الرسمي ستجد أنه سنويا يتم صدور إصدار جديد من لارافيل و بعض تلك التحديثات لا يوجد بها أي تغيرات كبيرة سوى تحديثات الأمان و طرق تنفيذ الوظائف ولكن معظم طرق كتابة الأكواد كما هي لذلك ستجد صعوبة في تحديث محتوى الدورة كاملا حيث سيتوجب دائما تغير المحتوى سنويا وهذا ليس بالشئ البسيط . وبمجرد تعلمك إصدار ستستطيع العمل على الإصدارات الحديثة لهذا كما أخبرتك سيتوجب عليك تعلم قراءة التحديثات في الإصدارات بنفسك فليس من الجيد حين ينزل أي إصدار جديد تشاهد دورة جديدة لهذا الإصدار فهذا ليس حلا حيث ستظل دائما هكذا تشاهد دروس دون تعلم ولكن الأفضل هو تعلم إصدار معين وانت بعد ذلك تتابع التحديثات من التوثيق الرسمي. وأخيرا لا تقلق من تعلمك لأى إصدار ستجد وظائف دائما حيث لارافيل من أطر العمل الشهيرة والمنتشرة وستجد وظائف لها بإذن الله.
  21. الكود يعمل بشكل صحيح . لاحظ أن العنصر الذي له ال id يساوي successMessage هو نفسه ال modal وستجد أن ال overlay وهو الجزء خارج ال modal هو ال modal نفسه ولو قمت بعمل فحص للعناصر ستجد أن المكان الذ تضغطه خارج الجزء الأبيض هو ال modal الذي له id successMessage لهذا يتم الإغلاق عند الضغط خارج المحتوى. ولكن عند الضغط على المحتوى لن يحدث أي شئ لأن ال target حينها سيكون هو العنصر modal-content. وهذا هو الذي تريده فحين يتم الضغط خارج المحتوى يجب إغلاق ال modal ولا يحدث شئ عند الضغط بداخله. لذلك يرجى توضيح ما الذي تريد فعله مع إرفاق الملفات لمساعدتك بشكل أفضل.
  22. وعليكم السلام ورحمة الله وبركاته . بعيدا عن typescript فإن تعلم ال OOP من الأمور المهمة التي لا غنى عنها لأى مبرمج حيث إن OOP من تسهل في تنظيم المشاريع الكبيرة و سهولة الصيانة وسهولة فهم الأكواد. ومن المؤكد أنك ستتعامل مع مشاريع أو حتي مكتبات وأطر عمل التي تم بنائها بإستخدام نمط OOP ولذلك إذا لم يكن لديك علم حول OOP فستجد صعوبة في إستخدامها أو التعامل مع تلك المكتبات وأطر العمل . أما بخصوص سؤالك فإن في TypeScript، لا يتطلب الأمر بالضرورة تعلم البرمجة الكائنية (OOP) لتتمكن من استخدام اللغة بشكل فعال. TypeScript هي لغة توفر أنواعًا ثابتة (static types) وتحسينات على JavaScript، مما يتيح لك كتابة رمز أكثر قوة ومرونة. مع ذلك، هناك بعض النقاط التي قد تجعل تعلم البرمجة الكائنية مفيدًا عند العمل مع TypeScript: الأنماط البرمجية: TypeScript تدعم البرمجة الكائنية، مما يعني أنه يمكنك استخدام الفئات (classes) والميراث (inheritance) وواجهات (interfaces) وغيرها من مفاهيم OOP. إذا كنت تتعامل مع مشاريع كبيرة أو فرق تطوير، فإن فهم OOP يمكن أن يساعد في تنظيم الكود وتحسين القابلية للصيانة. تنظيم الكود: البرمجة الكائنية يمكن أن تساعد في تنظيم الكود وتبسيط التعامل مع الكائنات والمكونات المختلفة، مما قد يكون مفيدًا في المشاريع الكبيرة والمعقدة. الأنماط الشائعة: بعض المكتبات والأطر (frameworks) في TypeScript تعتمد على أنماط OOP. على سبيل المثال، Angular يستخدم الكثير من مفاهيم OOP. لكن، يمكنك استخدام TypeScript دون الغوص بعمق في OOP . ولكن نصيحتي لك هي بدأ تعلم OOP أولا . ويمكنك قراءة المقال التالي حول ال OOP :
  23. في دورة تطوير التطبيقات باستخدام لغة Python لا يتم شرح تطبقات الهاتف في هذه الدورة بل يتم شرحها في دورة تطوير التطبيقات باستخدام JavaScript. و لكن بالفعل سيتم شرح طرق عمل تطبيقات ومواقع الويب بإستخدام إطار عمل django و flask والعديد من الأمور . وهذا ما سوف تتعلمه في الدور : الأسس البرمجية السليمة عبر لغة Python التعامل مع مختلف صيغ الملفات مثل إكسل Excel وورد Word وخدمات المستندات السحابية استخراج البيانات من صفحات الويب Web Scraping وتحليلها أساسيات التعامل مع قواعد البيانات عبر بايثون، والتعامل مع البريد الإلكتروني لإرسال الرسائل أساسيات إطار العمل جانغو Django بناء تطبيق إدارة المهام باستخدام إطار العمل جانغو Django تطوير متجر إلكتروني متكامل باستخدام إطار العمل جانغو Django وربطه مع وسائل الدفع باي بال PayPal وسترايب Stripe أساسيات إطار العمل فلاسك Flask، وبناء مدونة بسيطة تطوير واجهة برمجية API اعتمادًا على نمط RESTful لمعالجة الصور. وما سبق هو ما تم ذكره في صفحة الدورة ويمكنك مراجعتها من خلال الرابط التالي :
  24. كما أخبرتك هذه المشكلة تحدث لكثير من المستخدمين ولم تقم جوجل بحلها إلى الآن لذلك يرجى محاولة إستخدام رقم أخر غير مرتبط بحساب جوجل أو لم يتم إضافته حديثا . أو يمكنك المحاولة بنفس الرقم بعد 48 ساعه وإذا لم تحل المشكلة فيجب إستخدام رقم أخر
  25. يجب إدخال رقم هاتف صحيح حيث يجب إختيار الدولة الصحيحة وكتابة رقم هاتف صحيح لهذه الدولة. وإذا ظهر لك خطأ جديد وهو "لا يمكن إضافة هذا الرقم يمكنك المحاولة لاحقا أو إضافة رقم أخر" فهذه المشكلة تتكرر كثيرا ولم تحلها شركة جوجل بعد . فإذا كان رقم الهاتف مرتبط حديثا بحساب أخر فلن يتم إرسال رساله له وستظهر لك رسالة الخطأ السابقة. لذلك يرجي التأكد من إدخال رقم هاتف غير مرتبط بأى حساب أخر .
×
×
  • أضف...