Helloo,我有一个mutistep表单功能 在“Step1”(第1页)中,我有一个带有三个radioButton的表单
在第2步(第2页)中,我有另一种形式。 所以,我的问题是我想通过URL限制对page2的访问,就像我输入浏览器地址栏:localhost / page1.php然后它应该加载page1.php但是当我写localhost / page2.php然后它应该限制用户有权访问page2,我想重定向到localhost / page1.php
所以我试过这个:
第1页:
<form class="type" action="page2.php" method="post">
<label style="text-align:center;"> Type de compte : </label>
</br> </br>
<input type="radio" name="typeCompte" value="enseig" required>
Enseignant </br>
<input type="radio" name="typeCompte" value="etud" required>
Etudiant </br>
<input type="radio" name="typeCompte" value="admin" required>
Adminstrateur </br>
</br></br>
<input type="submit" class="make" name="submit" value="Valider">
</form>
<?php
if(isset($_POST['submit']))
{
$_SESSION['log']=1;
}
?>
第2页:
<?php
session_start();
if($_SESSION['log']!=1)
header("location: page1.php");//redirecting to first page
?>
答案 0 :(得分:1)
尝试将会话变量设置为bool,如...
在 Page1.php
中<?php
session_start();
if($_POST['submit']){
$_SESSION['log'] = "true";
header("Location: page2.php");
}
?>
然后在 Page2.php
if(!isset($_SESSION['log']) && $_SESSION['log'] == "false"){
//send them back
header("Location: page1.php");
}
else{
//your logic if any.
}
我认为在Php会话中可能只是在真正的假基础上工作..
答案 1 :(得分:1)
检查您可以使用的会话isset命令
<?php session_start();
//if ! means not isset check if the session is active
if(!isset($_SESSION['log']))
header("location:page1.php");
?>
在您为日志分配会话的页面中,您可以使用它为稍后可能需要的用户分配任何值。然而,请阅读.htaccess并将您的有限访问文件放在不同的目录中 在第1页
$t='1';
$_SESSION['log']=$t;
并且在第1页<?php
之后的第一行非常重要,您必须
session_start();
编辑试试这个我写的只花了5分钟,所以它不多但我测试了它的工作原理2文件test1.php和test2.php
test1.php
<?php
session_start();
if(isset($_POST['set'])){
$log='1';
$_session['log']=$log;
include_once("test2.php");
exit;
}
if(isset($_POST['dontset'])){
include_once("test2.php");
}
?>
<html>
<body>
<form action="" method="post">
<input type="submit" name="set" value="set">
<input type="submit" name="dontset" value="dontset">
</form>
</body>
</html>
test2.php
<?php
session_start();
if (!isset($_session['log'])){
echo 'you are not authorised';
header("location:test1.php");
}
if (isset($_session['log'])){
echo 'you are authorised';
}
?>
<html>
<body>
<form action="" method="post">
<input type="submit" name="destroy" value="destroy">
</form>
</body>
</html>
<?php
if(isset($_POST['destroy'])){
session_destroy();
include_once("test2.php");
exit;
}
?>
它还向您展示了如何使用会话
注销用户