xalcrazy

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

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

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

  • Days Won

    6

السُّمعة بالموقع

17 جيدة

2 متابعين

  1. لك الحل في سطرين فقط. هذا سيتم باستخدام دالتين في php الدالة الأولى هي simplexml_load_string - هذه الدالة تقوم بتحويل أو ترجمة شفرات xml إلى كائن Object. الدالة الثانية هي json_encode - وهذه تقوم بتحويل الكائن Object إلى تنثيق JSON. هذا مثال على ذلك: لنفترض أن هذه هي شفرات الـ XML التي نُريد تحويلها إلى JSON <?php $xml_string = <<<XML <?xml version="1.0" ?> <states> <state id="AL"> <name>Alabama</name> </state> <state id="AK"> <name>Alaska</name> </state> </states> XML; ?> وكما ذكرت بأن الحل سيكون في سطرين فقط. هكذا: <?php $xml = simplexml_load_string($xml_string); $json = json_encode($xml); ?> لنقوم بطباعة المتغير $json للتأكُد من عمل الدالتين بنجاح. هكذا: <?php echo $json; ?> وهكذا ستكون المخرجات: { "state":[ { "@attributes":{ "id":"AL" }, "name":"Alabama" }, { "@attributes":{ "id":"AK" }, "name":"Alaska" } ] }وهكذا تم تحويل XML إلى JSON.
  2. هذا الأمر بسيط جداً قم بعرض الكود المصدري الخاص بالنموذج الذي قمت بإنشائه إذا كنت تستخدم المتصفح Google Chrome قم بالضغط على Ctrl + U ستُفتح لك تبويبه جديدة بها الكود المصدري الخاص بالنموذج قم بالبحث عن: <formوقم بنسخ النموذج بالكامل إلى نهاية إغلاق وسم النموذج </form>على سبيل المثال سيكون النموذج هكذا: <form action=”url”> محتويات النموذج </form>قم بوضع ما نسخته في المكان المناسب في موقعك وقم بتخصيص النموذج كما تشاء ملحوظة : عند الضغط على إرسال – submit - سيم إرسال البيانات بنجاح - ولكن سيتم إعادة توجيه صاحب البيانات إلى نموذج جوجل لعرض رسالة إتمام العملية بنجاح Your response has been recorded.وإلى هنا لا تستطيع التخصيص في هذه الجُزئية
  3. شكراً جزيلاً على هذه السلسة الرائعة ولكن كنت اتسائل لماذا لم تقم بشرح تسجيل الخروج فهذا امر مهم جداَ وشكراً مره اًخرى
  4. لاحظت اليوم موقع كان يعرض مواضيع بشكل جميل بحيث إذا اقتربت بالماوس من صورة الموضوع ظهرت بالوان وعندما ابتعد بالموس عنها تعود الصوره وكأنها ملتقطه من زمن بعيد كما لو في عام 1960 مثلاً بدون اي الوان فهل هذا عن طريق css ام javascrip ام هي ايضاً صوره؟
  5. مدخل إلى express

    شكراً على مجهودك اخي الكريم محمد فوّاز وجاري المتابعة للجزء الثاني ملحوظة: واجهتني بعض المشاكل في التعامل مع الطرفية لإدخال وإنشاء بيانات قاعدة البيانات. ولكن تم تجاوزها عن طريق phpMyadmin بنسبة 95% لم استطع تنفيذ هذه الأوامر FOREIGN KEY (author_id) REFERENCES `users` (id) من الطرفية تخرج هذه الرسالة ERROR 1215 (HY000): Cannot add foreign key constraint
  6. هذا يفعله ملف .htaccess وهذ الملف يقوم بعمل رائع ومن اهم مميزاته حماية الموقع من الاختراق بدرجة كبيره وبما انه المسئول عن تغير المسارات مثل home.php إلى home فهذا في حد ذاته طريقة لحماية الملفات والتضليل على أسماء الملفات الحقيقية. قم بإنشاء ملف بنفس هذا الاسم في مجلد مشروعك على الخادم هكذا: .htaccessثم قم بتحرير الملف واكتب به الأتي: RewriteEngine On # Remove file extension RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*) $1.php [L]اﻵن قم بحفظ الملف. لنشرح ماذا سيقوم بفعله هذا الملف بمجرد كتابة تلك الأوامر به. أولاً "RewriteEngine On" هذا الأمر يعني تفعيل محرك إعادة التوجيه. ثانياَ RewriteCond %{REQUEST_FILENAME} !-d RewriteCondتعني (شرط إعادة التوجيه) وهذا هو الشرط %{REQUEST_FILENAME} !-dالشرط يقول في حال طلب تصفح مجلد غير موجود او غير صحيح بأي حال من اﻷحوال وعلامة !-d تعني النفي اي إذا لم يتم التحقق من وجود المجلد فهذا شرط. ثالثاً RewriteCond %{REQUEST_FILENAME} !-f هذا أيضاً شرط ولكن يختلف عن الشرط السابق بحرف واحد فقط وهو f الذي يعني بالملف بعكس السابق كان حرف d وكان يعني بالمجلد رابعاً RewriteRule (.*) $1.php [L] وأخيراً إعادة توجيه أي رابط. وفي هذه العملية سيتم أخذ الرابط ووضع بآخره .php وسيتم جلب بيانات الملف التي يستخرجها بدون كتابة .php في تصفح ملفات الموقع. الآن قم بإعادة تشغيل الخادم المحلي localhost او إعادة تشغيل الحاسوب. إذا واجهتك أي مشكله من فضلك راجع هذا المصدر: stackoverflow
  7. الخطوات كالتالي: أولاً قم بتشغيل الطرفية - Terminal واكتب هذه اﻷوامر البحث عن تحديثات جديدsudo apt-get update تحديث البرامج والمكتبات الخ.. التي وجد لها إصدار جديد.sudo apt-get upgrade ولمعرفة المزيد حول استخدام مدير تثبيت الحزم apt قم بكتابة اﻷمر التالي: apt-get --help
  8. إذا كنت تقصد تحويل الواجهة بالكامل. فعن طريق الطرفية Terminal اكتب هذا الأمر وانتظر ماذا سيحدث: sudo startxهذا اﻷمر سيتم تنفيذه بعد إدخال كلمة المرور الخاصه بك. سيتحول المستخدم الحالي بالكامل إلى المستخدم root مع الواجهة الرسومية. للرجوع مرة أُخرى قم بتسجيل الخروج - logout. اما إذا كنت تقصد انك تريد ذلك داخل الطرفية - Terminal فقط ستكتب هذا اﻷمر: sudo suاو sudo -s
  9. rmوطريقة الاستخدام سهلة جداً سنفترض أن الملف الذي تُريد حذفه هو على المسار التالي /home/hsoub/Desktop/file.txtللحذف يكون هكذا: rm /home/hsoub/Desktop/file.txtملحوظة: الطريقة السابقة تعمل في حالة حذف ملف وليس مجلد. ولكن هناك طريقة أُخرى لحذف المجلدات. rm -r /home/hsoub/Desktop/folderملحوظة: أحياناً يحدث عدم القُدرة على حذف ملف ما بداخل المجلد ويتم إيقاف عملية الحذف ولتجنب هذه الملفات أو تجاهلها نستخدم المعامل f .
  10. الطريقة سهلة ولم تأخذ منك سوا دقيقة واحدة وربما اقل. هل فكرت ماذا يحدث بمجرد أن اكتب localhost في شريط العنوان بالمتصفح؟! اُبسِط لك ما يحدُث في كلمات بسيطة وهي أن localhost هي عبارة عن اختصاره لعنوان IP مثل 127.0.0.1 وهذا ما كان يعتمد عليه أوائل مستخدمي اﻷنترنت كانوا يستخدمون تلك اﻷرقام لتصفح المواقع فوجدوا أن هذه الطريقة مُرهِقة جداً وصعبة الحِفظ وزاد اﻷمرُ صعوبة مع كثرة العناوين IPs ثم ظهرت بعد ذلك طريقة اختصار العناوين إلى أسماء Name Server او Host Name تستطيع القيام بذلك على نظام التشغيل لينُكس من خلال التعديل أو الإضافة على هذا الملف hosts وهو موجود في المجلد etc داخل ملفات النظام. /etc/hosts من خلال الطرفية – Terminal في نظام التشغيل لينُكس – Linux قم بالدخول كمدير للنظام هكذا: sudo su sudo أختصاره إلى super user do أي القيام بالتنفيذ كمدير للنظام ودائماً يليه اﻷمر الذي تريد تنفيذه على سبيل المثال su أي super user تقوم بتغيير هوية المستخدم إلى مدير النظام وستُلاحظ بعد إدخال كلمة المرور الخاصة بك كمستخدم عادي أن علامة الدولار ( $ ) تحولت إلى علامة التصنيف ( # ) وهذا يعني انك أصبحت مدير النظام اﻵن لذلك كن حذراً في إصدار أوامرك لأن النظام لن يُطالبك بكلمة مرور كما كان يحدث معك من قبل ﻷنك اﻵن أصبحت المدير. قم اﻵن بالانتقال إلى المجلد etc بكتابة هذا اﻷمر: cd /etc ثم اكتب اﻷمر التالي لتحرير ملف hosts عن طريق المحرر الجميل nano: nano ./hosts * إذا كنت تجد أن هذه الطريقة مُرهقة إلى حد ما فيُمكنك اختصار كل ما سبق في سطر واحد هكذا: sudo nano /etc/hosts ولا تنسى الضغط على مفتاح Enter للتنفيذ وهذا على كل ما سبق واعتقد انك متفهم هذا جيداً. سيتم عرض محتوى الملف وانت جاهز اﻵن ﻹضافة أسم جديد يقوم بنفس عمل localhost وستجد الملف بداخله عناوين بجانب كل عنوان أسم وافتراضياً ستجد هذا السطر إن لم تجد اكثر 127.0.0.1 localhost قم بإضافة اسم جديد بجانب localhost بعد أخذ مسافة أو اكثر وكُن دقيقاً حتى لا يتلاصقان ببعضهم: 127.0.0.1 localhost hsoub.com أو قم بالنزول سطر جديد واكتب ألاختِصاره هكذا: 127.0.0.1 hsoub.com ليُصبِح الترتيب هكذا: 127.0.0.1 localhost 127.0.0.1 hsoub.com اعتقد اﻵن انك تتساءل عن وجود سطور أُخرى ربما بالأسفل أو أعلى الملف, لا عليك بها ولا تقوم بتغيير أي شيء بها. وجب التنويه. بعد الانتهاء من إضافة اسم الخادم أو المُستضاف إن صح التعبير قم بالضغط على: CTRL+O ثم Enter لتأكيد الحفظ ثم CTRL+X للخروج. اﻵن قم بكتابة http://hsoub.com في شريط العنوان الخاص بالمتصفح. ستجد خادمك المحلي هو الذي يعمل بدلاً من موقع حسوب. تظُن انه سِحر ولكن ببساطه هذا كل ما في الأمر. لمُستخدمي نظام التشغيل Windows هذا هو مسار ملف hosts: C:\WINDOWS\system32\drivers\etcتستطيع التعديل عليه أو الإضافة إليه بكل سهولة كما تم في الشرح السابق بالأعلى. أسف على الإطالة وتمنياتي للجميع بالتوفيق.
  11. يُمكنك بكل بساطه استخدام دالة header فهي متعددة اﻷستخدام. فعلى سبيل المثال ما تسأل عنه وهو إعادة توجيه المُستخدم إلى الصفحة الرئيسية بعد مدة زمنيه كحد اقصى 5 ثوان. اﻷمر بكل بساطة هكذا: <?php $url = 'http://academy.hsoub.com/'; $time = 5; header("refresh: $time; url=$url"); exit(); ?> قمنا بانشاء مُتغير $url وهو يحتوى على رابط موقع أكاديمية حسوب كمثال. وقمنا بانشاء متغير آخر يحتوي على الرقم 5 وهي المدة التي سينتظرها المُستخدم وبعدها يتم توجيهُ إلى اﻷكاديمية. ثم قمنا بكتابة دالة header وبداخِلها كلمة refresh وهي تعني بإعادة توجيه ثم ( : ). ثم وضعنا المُتغير الذي يحمل قيمة المدة الزمنية $time ويليه الفاصلة المنقوطه ( ; ) للفصل بين ما بعده. ثم كتبنا url= وهذا يعني الرابط الذي سيتم الإنتقال إليه ثم وضعنا مُتغير $url الذي يحمل قيمة رابط موقع اﻷكاديمية. وقمنا بإغلاق الداله. اما عن دالة exit فهذه نضعها لتجنب ترجمة أكواد اُخرى ربما تكون باسفل امر إعادة التوجيه. ويمكن ايضاً على سبيل المثال كتابة الكود هكذا: <?php exit(header("refresh: 5; url=http://academy.hsoub.com")); ?>هذا فقط كنوع من تقنين بعض الأسطر المُستخدمة.
  12. إنها مسألة في غاية البساطه. هذا عن طريق استخدام الوسم LINK مع اضافة سمة العلاقة REL وسمة الرابط او المسار HREF ونوع الملف إذا كان صوره او ايقونة TYPE <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> لنرى مثال كامل: <!DOCTYPE html> <html> <head> <title>أكاديمية حسوب</title> <link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" /> </head> <body> محتويات الموقع </body> </html> هذا مثال بسيط يوضح المكان الصحيح الذي يتم وضع وسم link بهِ وهو بداخل الوسم head ولا يُنصح بوضعه خارج هذا الوسم لان هذا هو مكانه الصحيح. وكما ترى قمنا بوضع سمة rel ومحتواها هو shortcut ثم مسافة icon وتعني هذه الكلمات انها علاقة طريقة مختصره لرمز او لأيقونة. ثم استخدما href لجلب الصوره او الأيقونه التي ستظهر بجانب عنوان الموقع وغالباً يكون المسار هو ./favicon.ico وهذا اﻷسم افتراضي وليس اجباري ولكن انصح بتسميته هكذا ووضعه بجوار الملف الأساسي لموقعك index.html ولا تضعهُ بداخل مجلد آخر على سبيل المثال img/favicon.ico. لماذا؟! هذا ﻷن المتصفحات الحديثة تقوم بالبحث تلقائي عن مسار هذه اﻷيقونه لوضعها كشعار بجانب عنوان الموقع إذا كنت نسيت او تعمدت عدم وضع هذا الوسم المسؤل عن اظهار تلك اﻷيقونه. ثم type التي تحتوي على هذا النوع image/x-icon وهذا ليس إلزامي ويمكنك تجاهل هذه النقطه. من فضلك تفقد الملف المُرفق favicon.zip
  13. اﻵن تستطيع فعل كل ما يخطر ببالك باستخدام HTML5. ما تسأل عنهُ هو سمه required التي تعني (مطلوب). أتت مع إصدار HTML5 وهذه تُستخدم فقط مع الحقول INPUT وهذه السمه تقوم بعمل عظيم. كيف؟! عندما يتم الضغط على زر submit المسئول عن إرسال متحتويات النموذج وقد ترك المُستخدم حقل فارغ تظهر له رسالة تنبيه بشكل جميل بأن لا يُمكن ترك هذا الحقل فارغ. لنرى مثال على ذلك: <form action="/login"> Username: <input type="text" name="user" required> Password: <input type="password" name="pass" required> <input type="submit"> </form>كما تُشاهد في هذا المثال قمت بانشاء نموذج مكون من ثلاث عناصر. اﻷول ﻷسم المستخدم من نوع نص text وله تعريف باسم user وفي نهايته استخدمنا سمة required لضرورة ملء الحقل. الثاني لكلمة المرور من نوع كلمة مرور password باسم pass وايضاً بهِ required للضرورة. الثالث لإرسال البيانات من نوع إرسال submit. إذا ترك المستخدم حقل اسم المستخدم فارغ وضغط على إرسال ستظهر له رسالة تنبيه بضرورة ملء بيانات هذا الحقل وكذلك مع حقل كلمة المرور. وهذا يتم حسب ترتيب الحقول المتروكه فارغة, بمعنى إذا كان هناك اكثر من حقل وكان على سبيل المثال الحقل الثالث تم تركه فارغ وكذلك ما يليه مباشرةً فارغ ايضاً سيتم التنبيه عن ضرورة ملء الحقل الثالث اولاً وهكذا. لمشاهده مثال حي على هذا المثال من هـنـا. المصدر ملحوظه هامه: هذهِ السمه required غير مدعومه في المتصفحات القديمة التي لا تدعم HTML5.
  14. Bulk Image Converter هذا برنامج يقوم بتحويل مجموعة من الصور من صيغة إلى صيغة اُخرى. وتستطيع من خلاله تحويل صيخة jpeg إلى png. صوره توضيحيه للبرنامج لتحميل البرنامج من هـنـا
  15. على مدار السنين تعلمت ان في عالم التقنيات والحاسوب لأ يوجد مُستحيل. بالتأكيد يُمكن استخدام قاعدة بيانات تم أنشاؤها ببرنامج Microsoft Access إلى قاعدة بيانات من نوع MySQL. فقط عليك أتباع الخطوات التالية: قم بتحميل وتثبيت برنامج Connector/ODBC هذا برنامج يقوم بتشغيل قاعدة بيانات موحدة تعمل على أنظمة تشغيل مثل Windows , Linux , Mac OS X , ومنصات Unixبعد اتمام عملية التثبيت بنجاح قم بإتباع الخطوات اﻷتيه بالترتيب. كما موضّح بالصوره قم بالذهاب إلى Control Panel > All Control Panel Items ثم اضغط على Adminstrative Tools ثم قم بتشغيل Data Source (ODBC) ثم اضغط على add ﻷضافة مصدر جديد ثم أختار MySQL ODBC 5.1 Driver ملحوظه: هذا الرقم ربما تجد غيره في حالة استخدام اصدار احدث او اقدم. ثم اضغط Finish للتأكيد. ستظهر هذه النافذه قم بملأ البيانت كما تشاهد مع اختلاف المسميات. اكتب في خانة Data Source Name اسم مصدري سنستخدمه فيما بعد ثم اكتب في خانة TCP/IP Server عنوان الخادم الخاص بك التي توجد عليه قاعدة البيانات التي سيتم ملئها بالبيانات الموجوده في قاعدة بيانات Access ثم اكتب ال Port الخاص بالأتصال لقاعدة بيانات خادمك و 3306 هذا هو الافتراضي على اغلب الخوادم. ثم اسم مستخدم قاعدة البانات ثم كلمة مرور المستخدم لقاعدة البانات ثم نضغط Test ﻷختبار اﻷتصال اولاً. إذا كانت النتيجه هذه الرسالة "Connection successful" فهذا يعني اﻷتصال تم بنجاح. ثم اضغط OK قم باختيار قاعدة البانات الموجوده على خادمك التي تُريد ملئها بالبانات الموجوده في قاعدة بيانات Access ثم اضغط OK ثم قم بتشغيل برنامج Microsoft Access وبعدها اختار EXTERNAL DATA ثم اضغط على More لأظهار المزيد من المميزات او الخصائص المخفية. ثم قم باختيار ODBC Database ستظهر لك هذه النافذه وبها حقل لتكتب بهِ اسم الجدول ليتم إنشائه في قاعدة البيانات MySql التي ستُرسل إليها هذا الجدول Table1 كما موضح بالصوره. ثم اضغط OK ستظهر هذه النافذه ﻷختيار المصدر الذي قمنا بتسميته من قبل للأتصال بهِ. ثم اضغط OK اﻵن يتم إرسال البيانات إلى قاعدة بيانات MySQL كما تلاحظ باسفل الصورة. هذا يتوجب عليك اﻷنتظار قليلاً. اﻵن تم إرسال الجدول بنجاح وللتأكُد من ان جميع البانات قد تم إرسالها بالفعل عليك بمعرفة عدد الصفوف وهنا كما تشاهد عدد الصفوف اي البيانات المُدخله هو 19968 مره. اﻵن إذهب إلى خادمك وقم باختيار قاعدة بياناتك التي تم ارسال الجدول إليها. لاحظ عدد مرات إدخال البيانات هو نفس عدد الصفوف في Access. ولمزيد من التأكيد قم بتصفح الصفوف بالضغط على ايقونة Browse كما موضّح بالصورة. ثم اضغط على End ليعرض لنا اخر صف في القاعدة. لاحظ اﻵن تمت العمليه بنجاح اخر صف هو برقم 19968 بنفس عدد صفوف جدول قاعدة بيانات Access. معلومة اخيره: تستطيع استيراد قاعدة بيانات بعكس التصدير الذي قمنا بهِ اﻵن وهذا تجده في برنامج Microsoft Access نفسه كما موضّح بالصوره. تهانينا, تم تحويل قاعدة بيانات Access إلى MySQL بنجاح.