if(isset($_POST['Submit'])){ 不工作
if(isset($_POST['Submit'])){ Not working
我正在尝试 POST 将用户输入的数据输入到我的数据库中,但是我的 if 语句无法确保只有在按下提交按钮后才会发生这种情况。请帮忙!
下面的代码..
<form>
<form method="post" action="register.php" >
<table align="center">
<tr>
<td align="right">First Name:</td>
<td align="left"><input type="text" name="FirstName"></td>
</tr>
<tr>
<td align="right">Last Name:</td>
<td align="left"><input type="text" name="LastName"></td>
</tr>
<tr>
<td align="right">Email:</td>
<td align="left"><input type="text" name="Email" /></td>
</tr>
<tr>
<td align="right">Password:</td>
<td align="left"><input type="password" name="Password"></td>
</tr>
<tr>
<td align="right">Gender:</td>
<td align="left"><input type="text" name="Gender"></td>
</tr>
<tr>
<td align="right">Age:</td>
<td align="left"><input type="text" name="Age"></td>
</tr>
</table>
<input type="submit" value="Submit" name="Submit">
</form>
<?php include ("registersql.php"); ?>
我的regstersql.php
<?php
//include connection
include ("connection.php");
//has form been submitted?
if(isset($_POST['Submit'])){
$FirstName=$_POST['FirstName'];
$LastName=$_POST['LastName'];
$Email=$_POST['Email'];
$Password=$_POST['Password'];
$Gender=$_POST['Gender'];
$Age=$_POST['Age'];
//Insert data
$query = "INSERT INTO Customers
(CustomerID, FirstName, LastName, Email, Password, Gender,Age)
VALUES
('$FirstName','$LastName','$Email','$Password','$Gender','$Age')";
mysqli_query($connection,$query);
} else
{
echo "Error";
}
?>
isset()
告诉您变量是否已定义,而不是是否已填充。
尝试这样的事情:
if(isset($_POST['submit']) && !empty($_POST['submit'])) {
// there is something in the field, do stuff
} else {
// trigger error
}
您需要从
更改
<form method="post" action="register.php" >
至
<form method="post" action="" > //Sends data on same page. There is no register.php exist.
customerid 值传递问题。
/Insert data
$query = "INSERT INTO Customers
(CustomerID, FirstName, LastName, Email, Password, Gender,Age)
VALUES
('$FirstName','$LastName','$Email','$Password','$Gender','$Age')";
mysqli_query($connection,$query);
} else
{
echo "Error";
}
?>
如果 customerid 自动提及空 ' ',请参阅上面的代码,但您没有提及任何内容,因此它不会插入,如果您提及用户端成功消息将显示但不会插入数据。
像这样使用:
values('','$FirstName','$LastName','$Email','$Password','$Gender','$Age')";
你做错了两件事:
1) 您使用了两次标签:
<form method="post" action="register.php" >
有一个结束标签
2) 不要指定您可以使用 require 或 require_once ('yourfile.php') 的文件位置,在这个文件中您可以使用 [=11= 处理您的 POST 提交] 然后有你想要的。
您使用了两次表单标签
删除最上面的一个,表格将起作用。
我知道这是一个非常古老的 post 但我想它可能会有所帮助。
我正在尝试 POST 将用户输入的数据输入到我的数据库中,但是我的 if 语句无法确保只有在按下提交按钮后才会发生这种情况。请帮忙!
下面的代码..
<form>
<form method="post" action="register.php" >
<table align="center">
<tr>
<td align="right">First Name:</td>
<td align="left"><input type="text" name="FirstName"></td>
</tr>
<tr>
<td align="right">Last Name:</td>
<td align="left"><input type="text" name="LastName"></td>
</tr>
<tr>
<td align="right">Email:</td>
<td align="left"><input type="text" name="Email" /></td>
</tr>
<tr>
<td align="right">Password:</td>
<td align="left"><input type="password" name="Password"></td>
</tr>
<tr>
<td align="right">Gender:</td>
<td align="left"><input type="text" name="Gender"></td>
</tr>
<tr>
<td align="right">Age:</td>
<td align="left"><input type="text" name="Age"></td>
</tr>
</table>
<input type="submit" value="Submit" name="Submit">
</form>
<?php include ("registersql.php"); ?>
我的regstersql.php
<?php
//include connection
include ("connection.php");
//has form been submitted?
if(isset($_POST['Submit'])){
$FirstName=$_POST['FirstName'];
$LastName=$_POST['LastName'];
$Email=$_POST['Email'];
$Password=$_POST['Password'];
$Gender=$_POST['Gender'];
$Age=$_POST['Age'];
//Insert data
$query = "INSERT INTO Customers
(CustomerID, FirstName, LastName, Email, Password, Gender,Age)
VALUES
('$FirstName','$LastName','$Email','$Password','$Gender','$Age')";
mysqli_query($connection,$query);
} else
{
echo "Error";
}
?>
isset()
告诉您变量是否已定义,而不是是否已填充。
尝试这样的事情:
if(isset($_POST['submit']) && !empty($_POST['submit'])) {
// there is something in the field, do stuff
} else {
// trigger error
}
您需要从
更改<form method="post" action="register.php" >
至
<form method="post" action="" > //Sends data on same page. There is no register.php exist.
customerid 值传递问题。
/Insert data
$query = "INSERT INTO Customers
(CustomerID, FirstName, LastName, Email, Password, Gender,Age)
VALUES
('$FirstName','$LastName','$Email','$Password','$Gender','$Age')";
mysqli_query($connection,$query);
} else
{
echo "Error";
}
?>
如果 customerid 自动提及空 ' ',请参阅上面的代码,但您没有提及任何内容,因此它不会插入,如果您提及用户端成功消息将显示但不会插入数据。
像这样使用:
values('','$FirstName','$LastName','$Email','$Password','$Gender','$Age')";
你做错了两件事:
1) 您使用了两次标签:
<form method="post" action="register.php" >
有一个结束标签
2) 不要指定您可以使用 require 或 require_once ('yourfile.php') 的文件位置,在这个文件中您可以使用 [=11= 处理您的 POST 提交] 然后有你想要的。
您使用了两次表单标签
删除最上面的一个,表格将起作用。我知道这是一个非常古老的 post 但我想它可能会有所帮助。