gpt4 book ai didi

php - HTML 表单不提交到 MYSQL 数据库

转载 作者:行者123 更新时间:2023-11-30 22:04:05 26 4
gpt4 key购买 nike

几个小时以来,我一直在努力让它发挥作用。我在这里研究了很多线程,试图看看我是否能找到我的代码的问题。我是 PHP 的新手,我不断收到内部服务器错误,但我似乎无法找到它。我尝试了网上建议的各种方法,但没有成功。它是一个 HTML 格式的基本用户注册表单,在一个 PHP 文件中。(我打算在同一个文件上同时执行 html 和 php,但无法让它工作)我的想法是让表单提交到我的 MYSQL 数据库到客户表。如果你们中的任何人都能阐明我做错了什么或指出正确的方向,我们将不胜感激。提前致谢。

HTML

<form id="signupField" action="register.php" method="post">
First Name:<br>
<input type="text" name="FN" size="auto"/><br>
Last Name:<br>
<input type="text" name="LN" size="auto"/><br>
Street Address:<br>
<input type="text" name="SA" size="auto"/><br>
City:<br>
<input type="text" name="City" size="auto"/><br>
State:<br>
<input type="text" name="ST" size="auto"/><br>
Zip:<br>
<input type="text" name="Zip" size="auto"/><br>
Email Address:<br>
<input type="text" name="Email" size="auto"/><br>
Password:<br>
<input type="text" name="Password" size="auto"/><br>
<input type="submit" value="submit" name="submit"/>
</form>

引用PHP:

<?php 
$hostname = "localhost";
$username = "serviceaccount";
$password = "password";
$dbname = "nameofdb";
$conn = new mysqli($hostname,$username,$password,$dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";

?>
<?php

$FName=$_POST["FN"];
$LName=$_POST["LN"];
$SA=$_POST["SA"];
$City=$_POST["City"];
$State=$_POST["ST"];
$Zip=$_POST["Zip"];
$Email=$_POST["Email"];
$Password=$_POST["Password"];

if (isset($_POST["submit"])) {

$sql = "INSERT INTO Customers(FName,LName,StreetAddress,City,State,Zip,Email,Password) VALUES('$_POST["FN"]','$_POST["LN"]','$_POST["SA"]','$_POST["City"]','$_POST["ST"]','$_POST["Zip"]','$_POST["Email"]','$_POST["Password"]')";

if ($conn->query($sql) === TRUE) {
echo "<script type= 'text/javascript'>alert('New record created successfully');</script>";
} else {
echo "<script type= 'text/javascript'>alert('Error: " . $sql . "<br>" . $conn->error."');</script>";
}

$conn->close();
}
}
?>

编辑 发现此错误后:连接失败:未知的 MySQL 服务器主机 'localhost:3306' (0) 我能够解决与数据库的连接问题。现在,当我将 PHP 的其余部分放回去时,我仍然会收到 500 错误。它确实缩小了问题所在的范围!

编辑 我要感谢大家在这里的帮助。主要问题是 SQL 连接。在我处理好之后,我发现我有一个额外的支架,这是我收到的另一个内部错误的原因。

最佳答案

首先,“基本检查”问题:带有表单的html和register.php在同一个目录中,对吗?不包括、要求等

如果您有权访问 apache error_log,请先检查它以查看您收到的错误消息。如果您不明白,请将其张贴在这里以帮助您。

如果您无权访问该文件,首先我们需要找出您哪里出错了。作为一个想法,从 register.php 中的这个开始......

<?php 
$hostname = "localhost";
$username = "serviceaccount";
$password = "password";
$dbname = "nameofdb";
$conn = new mysqli($hostname,$username,$password,$dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";

?>

转到 http://[yourdirectory]/register.php直接看看你得到了什么。然后开始逐步添加其余部分,并在您出错时告诉我们。

另外想到要检查的是数据库的NULL变量配置。所有列都允许空值吗?您是填写所有表单字段还是将任何字段留空?

关于php - HTML 表单不提交到 MYSQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42324841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com