Php 如何将HTML表单插入MySQL数据库?
我正在开发一个计费系统,它现在非常基本,但我想知道你是否可以帮我修改代码。如何将HTML表单中的数据插入MySQL数据库?我的代码:Php 如何将HTML表单插入MySQL数据库?,php,mysql,html,Php,Mysql,Html,我正在开发一个计费系统,它现在非常基本,但我想知道你是否可以帮我修改代码。如何将HTML表单中的数据插入MySQL数据库?我的代码: <?php if (isset($_POST['submitted'])) { include('connect-mysql.php'); $date = $_POST['date']; $charge = $_POST['charge']; $payment = $_POST['payment']; $clie
<?php
if (isset($_POST['submitted'])) {
include('connect-mysql.php');
$date = $_POST['date'];
$charge = $_POST['charge'];
$payment = $_POST['payment'];
$client_no = $_POST['client_no'];
$client_name = $_POST['client_name'];
$check_no = $_POST['check_no'];
$check = $_POST['check'];
$cash = $_POST['cash'];
$notes = $_POST['notes'];
$staff_initials = $_POST['staff_initials'];
$sqlinsert = "INSERT INTO payments (date, charge, payment, client_no, client_name, check_no, check, cash, notes, staff_initials) VALUES ('$date', '$charge', 'payment', '$client_no', '$client_name', '$check_no', '$check', '$cash', '$notes', '$staff_initials')";
if (!mysqli_query($dbcon, $sqlinsert)) {
die('There was an error when trying to process your payment. Please contact technical support.');
} //end of nested if statement
} // end of the main if statement
?>
<html>
<head>
<title>New Payment</title>
</head>
<body>
<h1>Please Input Payment Details</h1>
<form action="new_payment.php" method="POST">
<input type="hidden" name="submitted" value="true" />
<fieldset>
<legend>New Payment</legend>
<label>Date:<input type="text" name="date" /></label><br>
<label>Today's Charge: <input type="text" name="charge" /></label><br>
<label>Today's Payment: <input type="text" name="payment" /></label><br>
<label>Client Number: <input type="text" name="client_no" /></label><br>
<label>Client Name: <input type="text" name="client_name" /></label><br>
<label>Check Number: <input type="text" name="check_no" /></label><br>
<label>Check: <input type="text" name="check" /></label><br>
<label>Cash: <input type="text" name="cash" /></label><br>
<label>Notes: <input type="text" name="notes" /></label><br>
<label>Staff Initials: <input type="text" name="staff_initials" /></label><br>
</fieldset>
<br />
<input type="submit" value="Process Payment">
</form>
</body>
</html>
如果您在插入数据库时遇到问题,您应该进行更改
$sqlinsert = "INSERT INTO payments (date, charge, payment, client_no, client_name, check_no, check, cash, notes, staff_initials) VALUES ('$date', '$charge', 'payment', '$client_no', '$client_name', '$check_no', '$check', '$cash', '$notes', '$staff_initials')";
if (isset($_POST['submitted']))
到
您忘记将付款前的$Insert Value中的$Insert(插入值)如果您在插入数据库时遇到问题,您应该进行更改
$sqlinsert = "INSERT INTO payments (date, charge, payment, client_no, client_name, check_no, check, cash, notes, staff_initials) VALUES ('$date', '$charge', 'payment', '$client_no', '$client_name', '$check_no', '$check', '$cash', '$notes', '$staff_initials')";
if (isset($_POST['submitted']))
到
你忘了在付款前把$Insert Value(插入值)我不确定,但我想你应该改一下
$sqlinsert = "INSERT INTO payments (date, charge, payment, client_no, client_name, check_no, check, cash, notes, staff_initials) VALUES ('$date', '$charge', 'payment', '$client_no', '$client_name', '$check_no', '$check', '$cash', '$notes', '$staff_initials')";
if (isset($_POST['submitted']))
到
及
我不确定,但我认为你应该改变
$sqlinsert = "INSERT INTO payments (date, charge, payment, client_no, client_name, check_no, check, cash, notes, staff_initials) VALUES ('$date', '$charge', 'payment', '$client_no', '$client_name', '$check_no', '$check', '$cash', '$notes', '$staff_initials')";
if (isset($_POST['submitted']))
到
及
第一个错误:-
if (isset($_POST['submitted']))
<input type="submit" value="Process Payment">
第一个错误:-
if (isset($_POST['submitted']))
<input type="submit" value="Process Payment">
你的代码怎么了?这可能不起作用,但您没有真正清楚地解释问题。使用准备好的查询将数据与查询隔离是至关重要的。就目前而言,你对SQL注入持开放态度,如果你还没有进行过SQL注入,你将被黑客攻击。你打算使用MySQL还是MySQLi?我只想重申Brad的评论。这完全容易受到SQL注入的攻击。例如,如果我将staff initials字段改为“JW”);DROP TABLE payments;--“在这里查看有关SQL注入的更多信息您的代码有什么问题?这可能不起作用,但您没有真正清楚地解释问题。使用准备好的查询将数据与查询隔离是至关重要的。就目前而言,你对SQL注入持开放态度,如果你还没有进行过SQL注入,你将被黑客攻击。你打算使用MySQL还是MySQLi?我只想重申Brad的评论。这完全容易受到SQL注入的攻击。例如,如果我将staff initials字段改为“JW”);DROP TABLE payments;--“在此处查看有关SQL注入的更多信息,使用name=“submit”
不是一个好主意,以防您以后尝试使用jQuery——这与jQuery方法有冲突。使用name=“submit”
不是一个好主意,如果您以后可能尝试使用jQuery,则可能与jQuery方法发生冲突。虽然这可能直接回答问题,但这不是正确的答案,因为它没有解决代码其余部分中SQL注入的极端漏洞。虽然这可能直接回答问题,这不是一个正确的答案,因为它没有解决代码其余部分中SQL注入的极端漏洞。缺少$mysqli
变量的初始化<代码>$mysqli=newmysqli(“本地主机”、“用户名”、“密码”、“数据库”)
如果您的问题已通过给出的解决方案解决,请勾选正确答案。缺少$mysqli
变量的初始化<代码>$mysqli=newmysqli(“本地主机”、“用户名”、“密码”、“数据库”)代码>如果您的问题已通过给出的解决方案解决,请勾选正确答案。