文本由';回声&x27;当按下刷新按钮时,该函数仍然存在。--PHP
isset($\u POST[“submit”])删除此签入elseif文本由';回声&x27;当按下刷新按钮时,该函数仍然存在。--PHP,php,html,echo,page-refresh,forms,http-post,Php,Html,Echo,Page Refresh,Forms,Http Post,isset($\u POST[“submit”])删除此签入elseif 提交表单并显式刷新页面后,$\u POST[“提交”]已设置,但如果手动转到该页面,$\u POST[“提交”]将不会设置。关于会话\u start()和会话\u destroy()的位不会影响POST变量。正如BugFinder指出的,刷新页面通常会重新提交您刚刚提交的任何数据。这就是“你在”信息再次出现的原因 防止这种行为的一种方法是在处理提交的数据后重定向。然后,您可以设置一个会话变量来跟踪仍然需要显示的消息(或者,
提交表单并显式刷新页面后,$\u POST[“提交”]已设置,但如果手动转到该页面,$\u POST[“提交”]将不会设置。关于
会话\u start()
和会话\u destroy()
的位不会影响POST变量。正如BugFinder指出的,刷新页面通常会重新提交您刚刚提交的任何数据。这就是“你在”信息再次出现的原因
防止这种行为的一种方法是在处理提交的数据后重定向。然后,您可以设置一个会话变量来跟踪仍然需要显示的消息(或者,如果用户登录或未登录)
您的代码如下所示:
<?php
session_start();
$root = 'root';
mysql_connect('localhost',$root,'') or die(mysql_error());
mysql_select_db("test_create_database") or die(mysql_error());
$result = mysql_query("SELECT * FROM members");
$row = mysql_fetch_assoc($result);
$username="";
$password="";
$id="";
if(isset($_POST["submit"]))
{
if(isset($_POST["submit"]) && !empty($_POST["username"]) && !empty($_POST["password"]) && !empty($_POST["id"]))
{
if(isset($_POST["username"]) && isset($_POST["password"]) && isset($_POST["id"]))
{ $username = $row["username"];
$password = $row["password"];
$id = $row["id"];
if($username == "John" && $password =="1234" && $id =="1")
{
echo "you're in";
}
else
{
echo "you're out!";
}
}
}
elseif (isset($_POST["submit"]) && (empty($_POST["username"]) || empty($_POST["password"]) || empty($_POST["id"])))
{
echo "enter all fields please!!!!";
}
}
session_destroy();
?>
请注意,重定向到页面本身似乎有点强制(使用
$\u SERVER['QUERY\u STRING']
获取当前页面的位置)。如果您知道文件名,或者在处理表单输入后正在重定向到另一个页面,那么它会更直观地工作。这里的问题到底是什么?您到底出了什么错?F5经常重新发送数据-确实如此。您的数据库表members
是否只包含一个条目?您只检索到第一个要比较的。一两句话就太好了。
<?php
session_start();
$root = 'root';
mysql_connect('localhost',$root,'') or die(mysql_error());
mysql_select_db("test_create_database") or die(mysql_error());
$result = mysql_query("SELECT * FROM members");
$row = mysql_fetch_assoc($result);
$username="";
$password="";
$id="";
if(isset($_POST["submit"]))
{
if(isset($_POST["submit"]) && !empty($_POST["username"]) && !empty($_POST["password"]) && !empty($_POST["id"]))
{
if(isset($_POST["username"]) && isset($_POST["password"]) && isset($_POST["id"]))
{ $username = $row["username"];
$password = $row["password"];
$id = $row["id"];
if($username == "John" && $password =="1234" && $id =="1")
{
//do stuff
$_SESSION['message'] = "you're in";
}
else
{
$_SESSION['message'] = "you're out!";
}
}
}
elseif (isset($_POST["submit"]) && (empty($_POST["username"]) || empty($_POST["password"]) || empty($_POST["id"])))
{
$_SESSION['message'] = "enter all fields please!!!!";
}
$selfLink = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$selfLink .= "?" . $_SERVER['QUERY_STRING'];
}
header('location: '.$selfLink);
exit;
}
if (isset($_SESSION['message'])) {
echo $_SESSION['message'];
unset($_SESSION['message']);
}
?>