سلام، مقاله "آموزش اتصال پایگاه داده MySQL به PHP با استفاده از فرم عضویت" را اجرا کرده و نام دیتابیس و جدول را در محل خود قرار داده ام از طرفی داخل دبل کوتیشن action باید خالی باشد؟ ( آنرا خالی گذاشتم )
جهت تست در وب سرور با تب insert داده ها به جای خودشان می نشینند ولی از داخل فایل با سابمیت کردن اطلاعات به دیتابیس ارسال نمی شوند. حال می خواستم ببینم خطای من کجاست؟
چون کدهای PHP شما در صفحه HTML موردنظر در حال اجرا هستند بنابراین action را خالی بگذارید مشکلی ایجاد نمی کند.
برای بررسی اینکه چرا داده ها به درستی ارسال نمی شوند در کدهای PHP خود با استفاده از دستور var_dump بررسی کنید که آیا متغییرهای موردنظر به کدهای PHP ارسال می شوند یا خیر؟
مثلا:
<?php
if (isset($_POST['submit'])) {
extract($_POST);
$servername = "localhost ";
$username = "root";
$password = "";
$dbname = "نام پایگاه داده ای که در phpmyadminایجاد کرده اید";
var_dump($_POST); // این دستور مشخص می کند که متغییر پست ارسال می شود یا خیر؟
$firstName = $_POST['firstName'];
$username = $_POST['username'];
$lastName = $_POST['lastName'];
$address = $_POST['address'];
$contactNumber = $_POST['contactNumber'];
// ایجاد کانکشن
$conn = new mysqli($servername, $username, $password, $dbname);
var_dump($conn->connect_error); // این دستور مشخص می کند که ایا ارتباط با پایگاه داده برقرار است یا خیر؟
// بررسی کانکشن و ارتباط با پایگاه داده
if ($conn->connect_error) {
die("ارتباط قطع شد: " . $conn->connect_error);
}
$sql = "INSERT INTO `users` (firstName,username,lastName,address,contactNumber) VALUES ('$firstName','$username','$lastName','$address','$contactNumber')";
if ($conn->query($sql) === TRUE) {
header('Location: login.php');
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.