html表单提交后无数据库,HTML表单不提交到MYSQL数据库

博主正在尝试将一个简单的HTML用户注册表单与PHP结合,以向MySQL数据库提交数据,但遇到了内部服务器错误。经过排查,问题在于MySQL连接,现已解决,但仍收到500错误。SQL插入语句可能存在风险,易受SQL注入攻击。在社区的帮助下,发现并修复了额外的括号问题,但500错误依然存在。
摘要由CSDN通过智能技术生成

我一直试图让这个工作几个小时。我在这里研究了许多线程,试图查看是否可以用我的代码找到问题。我是PHP新手,不断收到内部服务器错误,但我似乎无法跟踪它。我尝试了各种方法建议在线获得这个没有运气的工作。它是一个基于HTML的基本用户注册表单,在一个PHP文件中(我打算在同一个文件上同时执行html和php,但是无法使它工作)想法是将表单提交给我的MYSQL数据库客户表。如果你们中的任何一个人都能对我做错的事情有所了解,或者指引我朝着正确的方向发展,那么我们将非常感激。提前致谢。HTML表单不提交到MYSQL数据库

HTML

First Name:

Last Name:

Street Address:

City:

State:

Zip:

Email Address:

Password:

引用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";

?>

$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 "";

} else {

echo "";

}

$conn->close();

}

}

?>

编辑发现这个错误后:连接失败:未知MySQL服务器主机的 'localhost:3306'(0)我是能够解决连接问题到数据库。现在,当我把剩下的PHP放回去时,我仍然得到500错误。它绝对会缩小问题的范围!

编辑我要感谢大家的帮助,你就在这里。主要问题是SQL连接。我得到了照顾后,发现我有一个额外的托架,这是我收到的其他内部错误的原因。

+0

检查apache的error_log中文件的文件。您将数据放入数据库的方式也非常危险。 –

+0

您插入查询可能会导致您的问题,再加上您将POST值分配给变量,但在您的查询中,您不使用变量并插入$ _POST数据。这也让你非常容易受到SQL注入的攻击,使用mysqli prepare语法https://www.w3schools.com/php/php_mysql_prepared_statements.asp –

要将Layui提交表单数据保存到MySQL数据库中,需要进行以下步骤: 1. 在后端服务器上安装MySQL数据库,并创建一个用于存储表单数据数据库和表。 2. 在前端页面中使用Layui的form模块,编写表单代码,并使用ajax将表单数据提交到后端服务器。 3. 在后端服务器上编写接收表单数据的代码,并使用MySQL驱动程序连接到MySQL数据库,将表单数据插入到指定的数据库和表中。 下面是一个示例代码,用于演示如何将Layui表单数据提交MySQL数据库。 前端代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Layui表单提交MySQL数据库</title> <link rel="stylesheet" href="layui/css/layui.css"> </head> <body> <div class="layui-container"> <div class="layui-row"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">姓名</label> <div class="layui-input-block"> <input type="text" name="name" required lay-verify="required" placeholder="请输入姓名" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">年龄</label> <div class="layui-input-block"> <input type="text" name="age" required lay-verify="required|number" placeholder="请输入年龄" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="formDemo">提交</button> </div> </div> </form> </div> </div> <script src="layui/layui.js"></script> <script> layui.use(['form', 'jquery'], function(){ var form = layui.form; var $ = layui.jquery; //监听提交 form.on('submit(formDemo)', function(data){ $.ajax({ url: 'save.php', type: 'post', dataType: 'json', data: data.field, success: function (res) { if (res.code == 0) { layer.msg('提交成功'); } else { layer.msg('提交失败:' + res.msg); } }, error: function (xhr, textStatus, errorThrown) { layer.msg('提交失败:' + textStatus); } }); return false; }); }); </script> </body> </html> ``` 后端代码(使用PHP语言): ```php <?php //接收表单数据 $name = $_POST['name']; $age = $_POST['age']; //连接MySQL数据库 $servername = "localhost"; $username = "root"; $password = "123456"; $dbname = "test"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } //插入数据MySQL数据库 $sql = "INSERT INTO user (name, age) VALUES ('$name', '$age')"; if ($conn->query($sql) === TRUE) { $result['code'] = 0; $result['msg'] = '提交成功'; } else { $result['code'] = -1; $result['msg'] = '提交失败:' . $conn->error; } echo json_encode($result); $conn->close(); ?> ``` 在这个示例代码中,我们将表单数据提交到了名为`test`的MySQL数据库中的`user`表中,表中包含`name`和`age`两个字段。你需要根据自己的实际情况修改代码中的数据库连接信息和表结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值