البرمجة

عرض نتائج قاعدة البيانات في HTML بدون نموذج

السؤال الذي طرحته يعكس استفسارًا هامًا حول كيفية استدعاء ملف PHP داخل صفحة HTML دون الحاجة إلى استخدام عنصر input في النموذج. فيما يلي إجابة شاملة ومفصلة تشرح الطرق الممكنة لتحقيق ذلك.

أولًا وقبل كل شيء، يجدر بنا أن نلاحظ أنه بالفعل هناك طرق عديدة لتحقيق هذا الهدف، ولكن سنركز على أحد الطرق الفعّالة. في البداية، دعونا نفهم جيدًا لماذا تم استخدام العنصر input في السياق الحالي.

العنصر input الذي تم استخدامه في النموذج يعمل كزر لتقديم النموذج، ولكن في حالتك، يمكنك استخدام طريقة بسيطة لتجاوز ذلك. يمكنك استخدام علامة img لتضمين صورة تشير إلى الملف file2.php مباشرة دون الحاجة إلى النموذج. إليك تعديل بسيط على كود HTML الخاص بك:

html
<html> <body> <img src="file2.php"> body> html>

تم استبدال عنصر النموذج بعلامة img، والتي يمكنها عرض نتائج قاعدة البيانات المسترجعة من file2.php مباشرة في صفحة HTML.

الآن، بالنسبة للملف file2.php، يوجد بعض التعديلات التي يجب إجراؤها لتحسين أمان الكود والتحديث من استخدام ميزات قديمة. فيما يلي نسخة محسنة من ملف file2.php:

php
define('DB_NAME', 'name'); define('DB_USER', 'yyyy'); define('DB_PASSWORD', 'xxxx'); define('DB_HOST', 'localhost'); $link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); if (!$link) { die('Could not connect: ' . mysqli_error($link)); } $cid = $_COOKIE["cid"]; $sql = "SELECT * FROM `table` WHERE PID='$cid' ORDER BY SUBTIME ASC"; $result = mysqli_query($link, $sql); echo ""; while ($row = mysqli_fetch_assoc($result)) { echo""; echo""; echo""; echo""; echo""; echo""; echo""; } mysqli_close($link); ?>

تم استبدال استخدام مكتبة MySQL القديمة بمكتبة MySQLi، وذلك لتحسين الأمان واستخدام استعلامات معتمدة على المعلمات لتجنب هجمات حقن SQL.

المزيد من المعلومات

بالطبع، سنقوم الآن بتوسيع المحتوى لتقديم مزيد من المعلومات حول الحل الذي تم توفيره وكيف يمكن تحسينه أكثر.

في الكود المعدل، تم استخدام علامة img بدلاً من النموذج لعرض نتائج قاعدة البيانات المسترجعة من ملف file2.php. يُظهر هذا النهج بساطة التكامل بين صفحة HTML والسكربت PHP، حيث يقوم الملف الـ file2.php بإرجاع جدول يحتوي على البيانات المستخرجة من قاعدة البيانات.

لضمان سلامة الكود وتحسين الأداء، تم تحديث الاتصال بقاعدة البيانات لاستخدام مكتبة MySQLi بدلاً من استخدام مكتبة MySQL القديمة. يُفضل دائمًا استخدام MySQLi أو PDO بدلاً من MySQL لأسباب أمان ودعم أفضل.

التعديلات شملت أيضًا استخدام mysqli_fetch_assoc() بدلاً من mysqli_fetch_array() للحصول على صفوف النتائج بشكل أكثر وضوحًا، حيث يُرجى ملاحظة أنه يمكن استخدام اسماء الأعمدة كمفاتيح في المصفوفة المسترجعة.

لضمان أمان التطبيق، يُنصح بفحص وتنقية البيانات المدخلة، خاصةً عند استخدامها في استعلامات قاعدة البيانات، لتجنب هجمات حقن SQL. يمكن استخدام استعلامات معتمدة على المعلمات (Prepared Statements) لتحسين هذا الأمر.

تأكد من تشفير المعلومات الحساسة مثل معلومات الاتصال بقاعدة البيانات، وتجنب عرض هذه المعلومات في الشيفرة المصدرية للصفحات العامة للمحافظة على سرية البيانات.

أخيرًا، يُفضل دائمًا استخدام أحدث إصدار من لغة PHP وتحديث الشيفرة المصدرية بانتظام للتمتع بفوائد التحسينات والتحديثات الأمانية التي يقدمها كل إصدار جديد.

زر الذهاب إلى الأعلى
SUBMISSION DATE/TIME SYS DIA PULSE WEIGHT
" . $row['SUBTIME'] . " " . $row['SYS'] . " " . $row['DIA'] . " " . $row['PULSE'] . " " . $row['WEIGHT'] . "