دليل تحميل استبيان الحيوانات إلى قاعدة بيانات MySQL باستخدام PHP
لنقم أولاً بتفحص الكود الذي قدمته للتحقق من صحته وفهم كيفية استخدامه لتخزين نتائج الاستبيان في قاعدة البيانات. يبدو أن لديك نموذج HTML يحتوي على حقول متنوعة ونموذج PHP (action.php) لمعالجة البيانات التي تم إرسالها من النموذج.
أولاً وقبل كل شيء، يُفضل دائمًا استخدام استعلامات معلمة في PDO أو استخدام التحقق من البيانات المدخلة لتجنب هجمات حقن SQL. في مثالك، يبدو أنك قد استخدمت الطريقة القديمة والتي قد تكون عرضة لهذه الهجمات.
-
كيفية عرض محتوى ملف في لغة C12/04/2024
-
تحسين شيفرة تصفح الصفحات في PHP31/01/2024
لتصحيح الكود، يمكنك استخدام كود PHP التالي في ملف action.php:
php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "survey";
// إنشاء اتصال بقاعدة البيانات
$conn = new mysqli($servername, $username, $password, $dbname);
// التحقق من الاتصال
if ($conn->connect_error) {
die("فشل الاتصال بقاعدة البيانات: " . $conn->connect_error);
}
// التحقق من استلام البيانات من النموذج
if ($_SERVER["REQUEST_METHOD"] == "GET") {
$name = mysqli_real_escape_string($conn, $_GET["name"]); // تجنب حقن SQL
// يمكنك استمرار استخدام هذه الطريقة للحصول على قيم الحقول الأخرى وتحويلها إلى نص مأمون
// إعداد الاستعلام لإدراج البيانات في جدول "person"
$sql = "INSERT INTO person (name) VALUES ('$name')";
if ($conn->query($sql) === TRUE) {
echo "تمت إضافة البيانات بنجاح";
} else {
echo "خطأ في الإضافة: " . $conn->error;
}
} else {
echo "خطأ: استخدام النموذج فقط";
}
// إغلاق الاتصال بقاعدة البيانات
$conn->close();
?>
تأكد من أن تعديلك على النموذج وتوسيع الاستعلام ليتناسب مع هيكل جدول البيانات الذي تستخدمه. يمكنك تكرار العملية للحقول الأخرى في النموذج.
المزيد من المعلومات
تأتي عملية إدراج البيانات في قاعدة البيانات بخطوات معينة. لنقم بتوضيح الخطوات بشكل أكثر تفصيلاً:
-
إنشاء الاتصال بقاعدة البيانات:
يتم استخدام كائنmysqli
لإنشاء الاتصال بقاعدة البيانات. يجب توفير معلومات الخادم (hostname أو IP address)، اسم المستخدم، كلمة المرور، واسم قاعدة البيانات.php$servername = "localhost"; $username = "root"; $password = ""; $dbname = "survey"; $conn = new mysqli($servername, $username, $password, $dbname);
-
التحقق من الاتصال:
يتم التحقق مما إذا كانت هناك أخطاء في الاتصال قبل متابعة العمليات الأخرى.phpif ($conn->connect_error) { die("فشل الاتصال بقاعدة البيانات: " . $conn->connect_error); }
-
استلام البيانات من النموذج:
يتم استخدام$_GET
للحصول على البيانات المرسلة من النموذج. يُفضل دائمًا تنظيف البيانات باستخدام دوال مثلmysqli_real_escape_string
لتجنب هجمات حقن SQL.phpif ($_SERVER["REQUEST_METHOD"] == "GET") { $name = mysqli_real_escape_string($conn, $_GET["name"]); // يمكن تكرار هذه الخطوة للحصول على قيم الحقول الأخرى }
-
إعداد الاستعلام:
يتم إعداد استعلام SQL لإدراج البيانات في جدول معين.php$sql = "INSERT INTO person (name) VALUES ('$name')";
-
تنفيذ الاستعلام:
يُستخدمquery
لتنفيذ الاستعلام في قاعدة البيانات.phpif ($conn->query($sql) === TRUE) { echo "تمت إضافة البيانات بنجاح"; } else { echo "خطأ في الإضافة: " . $conn->error; }
-
إغلاق الاتصال بقاعدة البيانات:
بعد الانتهاء من العمليات، يُفضل إغلاق الاتصال بقاعدة البيانات.php$conn->close();
هذه الخطوات تمثل عملية أساسية لإدراج البيانات في قاعدة البيانات. يمكنك تكرار نفس العملية للحقول الأخرى في نموذج الاستبيان الخاص بك. يُشجع دائمًا على تحسين الأمان والتحقق من البيانات قبل استخدامها في استعلامات SQL.