查看用户名变量是否为空,如果为空,请不要转到page2.php
我正在创建一个名为meekochat的实时聊天网站。用户在page1.php上输入自己的名字,然后被发送到page2.php开始与其他人交谈。我希望这样做,如果username变量为空,那么用户就不会被带到page2.php查看用户名变量是否为空,如果为空,请不要转到page2.php,php,html,Php,Html,我正在创建一个名为meekochat的实时聊天网站。用户在page1.php上输入自己的名字,然后被发送到page2.php开始与其他人交谈。我希望这样做,如果username变量为空,那么用户就不会被带到page2.php <!DOCTYPE html> <?php session_start(); ?> <html lang="en-US"> <head> <title>meekochat</title> &l
<!DOCTYPE html>
<?php
session_start();
?>
<html lang="en-US">
<head>
<title>meekochat</title>
<link rel="icon" href="icon.png">
<link rel="stylesheet" type="text/css" href="style.css">
<?php
?>
</head>
<body id="body">
<form action="page2.php" method="post">
<input type="username" id="username" name="username" placeholder="Username">
<input type="submit" id="submit" name="submit" value="Submit">
</form>
</body>
</html>
这是我的page2.php代码
<!DOCTYPE html>
<?php
session_start();
?>
<html lang="en-US">
<head>
<title>meekochat</title>
<link rel="icon" href="icon.png">
<link rel="stylesheet" type="text/css" href="style.css">
<?php
if(isset($_POST["submit"])) {
$_SESSION["username"] = $_POST["username"];
}
?>
</head>
<body id="body">
Your username is <?php echo $_SESSION["username"]; ?>
</body>
</html>
您可以在PHP或Javascript中重定向 PHP 如果您想要一种PHP方式,可以设置标题
header('Location: www.example.com');
警告:只有在未向客户端发送任何其他信息时,才能使用标题
请记住,必须在调用任何实际输出之前调用标头
通过普通HTML标记、文件中的空行或PHP发送。
使用include或require读取代码是非常常见的错误,
函数或其他文件访问函数,并具有空格或空
在调用标头之前输出的行。同样的问题
使用单个PHP/HTML文件时存在
Javascript
您可以使用以下命令重定向浏览器:
window.location = "www.example.com";
这可以在任何时候完成
来源:在page2.php上,您应该检查用户名是否也是空的,如果是空的,您应该使用headerLocation或带有window的echo标记重定向到page1。location=您的url
我建议将auth保存在page1.php中。我为用户名输入添加了一些验证和必需属性 meekochat
不使用Javascript的一种方法是制作另一个php文件来验证: //verify.php
<?php
if(isset($_POST["username"])){
include("somepath/file2.php");
}
else{
include("somepath/file1.php")
}
?>
或者更简单的方法是,在HTML中添加一个必需的属性
<input type="username" id="username" name="username" placeholder="Username" required>
其中一个解决方案是在发送请求之前用Javascript检查值。我怎么做?你的实际问题是什么?仅仅告诉我们你想要什么并不是一个恰当的问题。此外,如果用户没有填写该字段,您是否希望用户不能首先提交此表单?或者如果您希望在接收端检查此字段,然后重定向回第一页?这也是两件非常不同的事情。检查客户端和服务器端。即使这样,也有办法解决这个问题,但是尽你所能在两方面都大大减少了机会为什么不制作另一个php文件来检查名称呢?因此,page1.php中的表单操作转到auth.php,然后由auth.php决定名称是否存在,然后重定向到相应的页面。我不推荐w3schools—充满了糟糕的做法,MDN在最近几天是一个更好的资源:谢谢。我有必需的属性,但我也将使用verify.php,因为有人可以点击空格键一次并通过它。因为一个空格意味着输入框在技术上不是空的,所以用户可以不带名字进入page2.php。
<input type="username" id="username" name="username" placeholder="Username" required>