السلام عليكم ورحمة الله وبركاته
في اعلانات حسوب الناشرين يضعون كود خاص بهم في البنر الاعلاني .
ونفس هذا البنر يجلب الاعلان من قاعدة البيانات
اريد آلية عمل هذا الطريقة وهل يمكن عملها بال php ام فقط بالجافا سكربت
وشكر لكم
الجافاسكربت لا يمكنها اجراء اتصال مع قاعدة البيانات لأنها غير مخصصة للتواصل مع قاعدة البيانات ولكن الية تخزين الصور قد تستطيع عن طريق تحويل الصور الى Base64 (وهذه الجزئية ممكنة بالجافا سكريبت)وادخالها الى قاعدة البيانات على شكل encoded text ويمكنك استرجاعها من قاعدة البيانات باستخدام جملة select بغض النظر عن لغة البرمجة ستحتاج الى تضمينها في دوال ال DBMS API للغة البرمجة التي تستخدمها.
هل يعني انه يمكن عملها عن طريق ال php بدون استعمال الجافا سكريبت ؟
انا اريد الصور تستخرج عن طريق كود اضعه في موقع او عدة مواقع مثل اعلانات حسوب للناشر والمعلن اتمنا انك فهمت قصدي
كما قلت لك الجافا سكربت لا يمكنها اجراء اتصال مباشر مع قاعدة البيانات , ولكن ساحاول ان اساعدك لتقوم بما تريد عن طريق الجافا سكربت ولكن الطريقة التي ساذكرها قد تكون خطيرة اذا كنت لا تعرف الكثير عن ال security, ما فهمته من سؤالك انك تريد ااسترجاع الصور من قاعدة البيانات وعرضها في اكثر من موقع الكتروني عن طريق كود جافاسكربت فقط, قم اولا بانشاء ملفين php واحد لادخال الصور الى قاعدة البيانات على شكل نص بصيغة base64, ومن الواجهة التي تتعامل مع هذا الملف قم باستخدام الجافاسكربت لتحويل الصورة الى base64 وارسالها الى ملف ال php عبر post request لان حجم الصورة قد يكون اكبر من ان يتم عبر GET والملف الثاني اكتب فيه كود ال php المخصص لاسترجاع الصور من قاعدة البيانات , وفي نهاية الملف اكتب جملة الطباعه العادية echo لطباعة محتوى الصورة على شكل نص ثم قم بالمواقع الاخرى باستخدام تقنية الاجاكس ajax لطلب الصور من ملف php الثاني وهي عبارة عن كود جافاسكربت فقط (Xhr Object) يمكنك استخدام نفس الاوبجكت في أي موقع الكتروني وسترجع نص الصورة التي طلبتها دون الحاجة الى اعادة كتابة الكود في ال back-end لهاته المواقع الالكترونية بحيث لو قمت باجراء اي تعديل على قاعدة البيانات سينعكس على جميع المواقع الاخرى التي تطلب الملف, ولكن هذه الطريقة قد تكون خطيرة جدا اذا استخدمها شخص لا يدرك المخاطر الامنية , يوجد CORS policy شديدة الصرامة تحظر الجافاسكربت من تنفيذ الاجاكس Cross Domain لأسباب أمنية لهذا عليك ان تقوم بالتعديل على السيرفر لكي يسمح للمواقع الاخرى عمل cross domain على الملف (أو يمكنك عمل whitelist للمواقع المصرح لها اجراء الطلب عبر ajax request) كن حذر جدا اثناء هذه الخطوة لان اي خطأ فيها قد يسمح للهاكرز اختراق موقعك او سرقة معلومات مستخدمي الموقع, أتمنى ان اكون قد افدتك.
التعليقات