我有一个简单的表格来接收用户数据并将其插入到sql数据库中。 当用户点击“提交”时,它确实创建了一个新的输入行(因此我知道它正在连接到数据库),但是没有一个值像预期的那样发布。 我一直在关注w3schools的教程,但不确定我的价值观在哪里丢失。 有人能指出我正确的方向吗?

形成:

<?php
$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
$Sid = $_POST["Sid"];
$Email = $_POST["Email"];
$Dtype = $_POST["Dtype"];
$Mac = $_POST["Mac"];
?>

<html>
<head>
<title>Register School Device</title>
</head>
<body>
<form method="post" action="SMA_Send.php">
First Name:<input type="text" size="12" maxlength="20" name="Fname"><br />
Last Name:<input type="text" size="12" maxlength="36" name="Lname"><br />
Student ID:<input type="text" size="12" maxlength="12" name="Sid"><br />
Email:<input type="text" size="12" maxlength="36" name="Email"><br />
Device Type:<br />
<select name="Dtype">
<option value="iPad">iPad</option>
<option value="iPhone">iPhone</option>
<option value="AndroidTablet">Android Tablet</option>
<option value="AndroidPhone">Android Phone</option></select><br />
Mac Address:<input type="text" size="12" maxlength="36" name="Mac"><br />
<input type="submit" value="submit" name="submit">
</form>

发送:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "INSERT INTO StudentDeviceReg (Fname, Lname, Sid, Email, Dtype, Mac, Date)
VALUES ('$Fname','$Lname','$Sid','$Email','$Dtype','$Mac',NOW())";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

#1楼 票数:5 已采纳

这些属于您的PHP / SQL SMA_Send.php文件,而不属于您的表单。

$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
$Sid = $_POST["Sid"];
$Email = $_POST["Email"];
$Dtype = $_POST["Dtype"];
$Mac = $_POST["Mac"];

使用错误报告时 ,会发出未定义变量的信号。

我还需要注意,您当前的代码可以进行SQL注入 使用预处理语句或将PDO与预处理语句结合 使用起来更加安全


将错误报告添加到文件顶部,这将有助于发现错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:错误报告仅应在登台进行,而不应在生产过程中进行。

#2楼 票数:0

我在任何地方都看不到您使用$_POST

使用$_POST["Fname"]和其他类似的东西。

或者您可以这样做:

$Fname = $_POST["Fname"];// for the rest also.

  ask by sylcat translate from so

未解决问题?本站智能推荐:

4回复

如何使用php将值插入到mysql数据库中

我需要帮助了解如何将值插入到 mysql 数据库中。 我知道我需要为我从用户那里获得的数据编写一个 INSERT 语句。 但我真的不明白把这个插入语句放在哪里以及如何让它运行。 我是否使用 pg_prepare 和 pg_execute? 如果有人可以帮助我将代码设置为运行插入语句的位置,我将不胜感
6回复

在数据库中存储文章的最佳方式?(php和sql)

我想将文章存储在数据库中,但我似乎无法找到关于最佳方法的大量信息,从我所看到的内容看来,大多数人似乎都在如何有效地做到这一点。 很多人会建议一种方式,其他人会指出sql注入问题,我似乎找不到很多关于这个相当新的话题。 这是一篇文章的html: 理想情况下,我想最好将构成每篇文章的htm
1回复

HTML表单未在数据库SQL中更新

我有这种形式,值应该插入数据库中。 它运行时没有错误,但是不会更新数据库。 在这里,我发布了页面的html。 并且它打开了此页面
3回复

PHP和MYSQL-在数据库中插入数据失败

II创建了一个用于插入新公司的表单,并且在该页面上,它是将数据插入数据库的PHP脚本。 我不知道这段代码中的错误在哪里。
1回复

SQL不会插入数据,但连接到数据库?

我已经尝试了好几个小时都无济于事,我的代码告诉我我已成功连接,但是当我单击“注册”页面时,页面刷新了,我检查了数据库没有变化,我尝试了几种不同的在线脚本来检查它是否是我的代码,该代码不起作用,我更新了我的Godaddy SQL版本,仍然没有任何改变。 我希望有人可以告诉我我做错了什么,谢谢,
5回复

数据未插入php中的mysql数据库

我正在尝试将数据插入mysql数据库,但是一切正常,没有错误发生,但是当我浏览数据时,没有将其插入数据库,我的编码请检查一下。 这是我的html代码: 这是我的连接脚本 这里我的PHP代码:
1回复

用PHP插入SQLServer数据库时出错

使用PHP将多列数据插入SQL Server数据库时出现错误 php代码: 结果: php错误代码 (第52行上的数组到字符串的转换) 向他指出错误的那一行: die('Error: ' . sqlsrv_errors());
2回复

将2个数据库(A&B)中的数据插入数据库B中的1个表中

我试图将来自2个不同数据库(A和B)中2个不同表的数据插入数据库3中的第3个表中。 这是我的代码: 我收到以下错误。 注意:未定义的变量:第40行中...的groupid 注意:未定义变量:第40行上的...中的userid 任何帮助将不胜感激。 谢谢。