Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将HTML表单插入MySQL数据库?_Php_Mysql_Html - Fatal编程技术网

Php 如何将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

我正在开发一个计费系统,它现在非常基本,但我想知道你是否可以帮我修改代码。如何将HTML表单中的数据插入MySQL数据库?我的代码:

<?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(“本地主机”、“用户名”、“密码”、“数据库”)如果您的问题已通过给出的解决方案解决,请勾选正确答案。