Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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 为什么我的注册表表单仍然没有将数据输入MySQL表_Php_Mysql - Fatal编程技术网

Php 为什么我的注册表表单仍然没有将数据输入MySQL表

Php 为什么我的注册表表单仍然没有将数据输入MySQL表,php,mysql,Php,Mysql,我正在尝试将注册页面与我的登录页面链接,以允许新用户注册一个在我的应用程序上使用的帐户。我已经将表单链接到MySQL上的tbl_Users表,其中保存了用户将输入到此表单的所有信息。我已经使用查询等方法正确地设置了所有内容,表单至少可以正确地显示。但是,当我单击submit时,页面刚刚刷新,字段现在再次为空,并且数据库表中没有新数据。我哪里做错了?(额外说明:我仍在编写安全代码以防止sql注入) ConnectorCode.php <?php $conn = mysqli_connec

我正在尝试将注册页面与我的登录页面链接,以允许新用户注册一个在我的应用程序上使用的帐户。我已经将表单链接到MySQL上的tbl_Users表,其中保存了用户将输入到此表单的所有信息。我已经使用查询等方法正确地设置了所有内容,表单至少可以正确地显示。但是,当我单击submit时,页面刚刚刷新,字段现在再次为空,并且数据库表中没有新数据。我哪里做错了?(额外说明:我仍在编写安全代码以防止sql注入)

ConnectorCode.php

<?php

 $conn = mysqli_connect("localhost", "b4014107", "Win1", "b4014107_db2") or die (mysqli_connect_error());

 ?>
<?
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
include('ConnectorCode.php');

if(isset($_POST['submit'])) { 
$FName = $_POST['First_Name'];
$LName = $_POST['Last_Name'];
$Email = $_POST['Email'];
$UName = $_POST['User_Name'];
$Password  = $_POST['Password']; 

$FName = mysqli_real_escape_string($conn, $FName);
$LName = mysqli_real_escape_string($conn, $LName);
$Email = mysqli_real_escape_string($conn, $Email);
$UName = mysqli_real_escape_string($conn, $UName);
$Password = mysqli_real_escape_string($conn, $Password);

$sql = "SELECT Email FROM tbl_Users WHERE Email='$Email'";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);

if(mysqli_num_rows($result) == 1)
{
    echo "Sorry, the email you are trying to enter already exists";
}
else
{
    $query = mysqli_query($conn, "INSERT INTO tbl_Users(First_Name, Last_Name, Email, User_Name, Password) VALUES ('$FName', '$LName', '$Email', '$UName', '$Password')");
if($query)
{
 echo "Thank you for registering";
}
header('Location: Index.php');
}

}
?>

<!DOCTYPE HTML>
<head>
<title>Register</title>
</head>
<body>

<h1> Register Page </h1>

<p> Please fill in the form to register <p>

<form method="post" action="">
<fieldset>
First Name: <br />
<input name="First_Name" type="text" class="input" size="25" required /> <br /> <br />
 Last Name:  <br />
 <input name="Last_Name" type="text" class="input" size="25" required /> <br /> <br />
Email: <br />
<input name="Email" type="email" class="input" size="25" required /> <br /> <br />
Username: <br />
<input name="User_Name" type="text" class="input" size"25" required /> <br /> <br />
Password: <br />
<input name="Password" type="password" class="input" size="25" required /> <br /> <br/>
<input type="submit" name="submit" value="Register!" />
</fieldset>
</form>
</body>
</html>

Register.php

<?php

 $conn = mysqli_connect("localhost", "b4014107", "Win1", "b4014107_db2") or die (mysqli_connect_error());

 ?>
<?
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
include('ConnectorCode.php');

if(isset($_POST['submit'])) { 
$FName = $_POST['First_Name'];
$LName = $_POST['Last_Name'];
$Email = $_POST['Email'];
$UName = $_POST['User_Name'];
$Password  = $_POST['Password']; 

$FName = mysqli_real_escape_string($conn, $FName);
$LName = mysqli_real_escape_string($conn, $LName);
$Email = mysqli_real_escape_string($conn, $Email);
$UName = mysqli_real_escape_string($conn, $UName);
$Password = mysqli_real_escape_string($conn, $Password);

$sql = "SELECT Email FROM tbl_Users WHERE Email='$Email'";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);

if(mysqli_num_rows($result) == 1)
{
    echo "Sorry, the email you are trying to enter already exists";
}
else
{
    $query = mysqli_query($conn, "INSERT INTO tbl_Users(First_Name, Last_Name, Email, User_Name, Password) VALUES ('$FName', '$LName', '$Email', '$UName', '$Password')");
if($query)
{
 echo "Thank you for registering";
}
header('Location: Index.php');
}

}
?>

<!DOCTYPE HTML>
<head>
<title>Register</title>
</head>
<body>

<h1> Register Page </h1>

<p> Please fill in the form to register <p>

<form method="post" action="">
<fieldset>
First Name: <br />
<input name="First_Name" type="text" class="input" size="25" required /> <br /> <br />
 Last Name:  <br />
 <input name="Last_Name" type="text" class="input" size="25" required /> <br /> <br />
Email: <br />
<input name="Email" type="email" class="input" size="25" required /> <br /> <br />
Username: <br />
<input name="User_Name" type="text" class="input" size"25" required /> <br /> <br />
Password: <br />
<input name="Password" type="password" class="input" size="25" required /> <br /> <br/>
<input type="submit" name="submit" value="Register!" />
</fieldset>
</form>
</body>
</html>

您不符合条件isset($\u POST['VALUES']),因为您没有name=“VALUES”字段

改变

if(isset($_POST['VALUES'])) {


你错过了很多

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
require_once 'ConnectorCode.php';

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

    $FName = mysqli_real_escape_string($conn, $_POST['First_Name']);
    $LName = mysqli_real_escape_string($conn, $_POST['Last_Name']);
    $Email = mysqli_real_escape_string($conn, $_POST['Email']);
    $UName = mysqli_real_escape_string($conn, $_POST['User_Name']);
    $Password = mysqli_real_escape_string($conn, $_POST['Password']); // why did you need to repeat this all twice?

    $sql = "SELECT * FROM tbl_Users WHERE Email='$Email'"; // ? didn't understand why you was asking for the Email using the Email...
    $result = $conn->query($sql);
    if(count($result) == 0)
    {
         $insert_sql = "INSERT INTO tbl_Users (First_Name,Last_Name,Email,User_Name,Password) VALUES ('$FName','$LName','$Email','$UName','$Password')";
         if($conn->query($insert_sql)) // You forgot to query this
         {
             echo "Thank you for registering";
             header('Location: index.php'); // lowercase i
             exit; // you forgot this
         }
    }
    else
    {
        echo "Sorry, that email already exists!";
    }
    $conn->close(); // you forgot this

}

?>

session_start()的第一个需要在顶部。第二个表单代码要求?您可以添加表单的代码,并请发布它显示给您的错误(如果有)表单代码在那里,它在代码表的底部。
submit
!=<代码>提交
。所以这永远不会发生。哈哈哈
$POST
就是问题所在。它应该是
$\u POST
我已经更改了它,但是我的数据库表中仍然没有新行。没有!这就是令人困惑的地方,屏幕顶部没有显示错误消息,所发生的只是字段刷新,没有新数据输入到表中。非常感谢!但是现在,每次我加载php文件时,都会在页面顶部弹出
query($query)){echo“感谢您注册”;header('Location:index.php');exit;}}否则{echo“对不起,该电子邮件已经存在!”;}$conn->close();}?>立即尝试,已编辑。不管怎样,我现在正在完成工作,这样应该可以解决你的问题。祝你好运。现在它显示了这个
查询($sql);if(count($result)==0){$insert_sql=“insert INTO tbl_Users(First_Name,Last_Name,Email,User_Name,Password)”值('$FName','$LName','$Email','$UName','$Password');if($conn->query($insert_sql)){echo“感谢您的注册”;header('Location:index.php');退出;}否则{echo“对不起,那封电子邮件已经存在”;}$conn关闭(); } ?> 这是->语法,我想,它似乎不喜欢它。你正在运行什么PHP版本?可能$result返回的是一个布尔值而不是查询数据,只需使用折旧后的
mysqli\u查询
而不是
->
,就可以了。祝你好运