晚上筹码会员,
我没有相关的经验,所以这可能是一个完全愚蠢的想法。
我们有几个不同的页面要求提供不同的信息
在每个表单上我们都有帖子到下一页,然后我们有php代码从上一页收集信息并填写下一页 - 我们在第二页上依赖第一页的代码位如果被填补,他们就会留空。
我们想知道的是..如果有人去了page2.php它重定向到page1.php或者只是说访问被拒绝但是如果我们的表单发布了信息,我们可以通过网络拒绝请求第2页
我很抱歉,如果这是非常混乱,我同意如果你评价我,但我只是一个初学者,并试图为自己解决这个问题,我理解你很多人都知识渊博,并会感激任何所有信息
由于
所以基本上要回顾一下
第1页>用户信息>传递>使page2.php
用户尝试将page2.php输入其浏览器网址窗口>>否认>>重定向
答案 0 :(得分:2)
在表单中添加了隐藏值
<input type="hidden" id="page" name="page" value="1" />
第2页
if($_POST['page'] !='1'){
header('Location: http://www.example.com/page1.php');
exit();
}
答案 1 :(得分:2)
您也可以使用sessions
在page1.php的顶部:
<?php
session_start();
$_SESSION['last_page'] = 1;
// your code
在page2.php的顶部:
<?php
session_start();
if(! isset($_SESSION['last_page']) && $_SESSION['last_page'] == 1){
header('Location: http://domain.com/page1.php');
exit(0);
}
// if you have more pages increment the last_page count
$_SESSION['last_page']++;
// your code
答案 2 :(得分:1)
您可以检查REQUEST_METHOD变量以确保用户通过POST请求进入该页面,如此
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
//Your code goes here
}
或者,检查他们是否通过其他方法(例如GET)和相应的方法
if ($_SERVER['REQUEST_METHOD'] != 'POST')
{
//send the user back to page one
header('Location: page1.php');
//don't allow the script to continue
die('access denied!');
}
//Your code goes here
答案 3 :(得分:0)
是的,确实如此。您只需要存储一个变量(可能在当前的$session
用户数组中,或者存储在相对数据库表/文件中/无论它是什么)作为该表单进程的当前$index
的标志。