php阻止页面后退的方法分享

例如:现在有1,2,3。3页。希望用户一开始访问第一页,然后点“下一步”就看到“第二页”,然后在进入“第三页”之前,用户不能
后退。就让1和2作为同一页。留个标记在session里,这样:
1and2.php


代码如下:

<?php
session_start();
if (isset($_GET['p2'])) {
  $_SESSION['enteredPage2'] = true;
}
if (isset($_SESSION['enteredPage2'])) {
  //输出页面2.在页面2里,包含到页面3的链接如下
  echo "This is page 2. <a href=\"3.php\">Page3</a>这时候后退不到P1的~";
} else {
  //输出页面1,包含到页面2的链接如下
  echo "This is page 1. <a href=\"?p2=\">Page2</a>";
}
?>

下面是3.php,作用是表示用户已经访问完P2了,要再允许用户访问P1


代码如下:

<?php
session_start();
unset($_SESSION['enteredPage2']);
?>

以上例子中,页1和页2都是1and2.php生成的临时页面。当用户的浏览器要读这个地址,你输出页2就是页2,不用担心用户
会回到页1去。这个是浏览器无关的最根本的解决方法。

(0)

相关推荐

  • php网页后退不再出现过期

    <?php  ob_start();  if(function_exists(session_cache_limiter)) { session_cache_limiter("private, must-revalidate");  }  session_start()  ?>

  • php浏览历史记录的方法

    本文实例讲述了php浏览历史记录的方法.分享给大家供大家参考.具体实现方法如下: /** * 商品历史浏览记录 * $data 商品记录信息 */ private function _history($data) { if(!$data || !is_array($data)) { return false; } //判断cookie类里面是否有浏览记录 if($this->_request->getCookie('history')) { $history = unserialize($th

  • PHP实现的memcache环形队列类实例

    本文实例讲述了PHP实现的memcache环形队列类.分享给大家供大家参考.具体如下: 这里介绍了PHP实现的memcache环形队列类.没咋学过数据结构,因为业务需要,所以只是硬着头皮模拟的! 参考PHP memcache 队列代码.为使队列随时可入可出,且不受int长度越界危险(单链采取Head自增的话不作处理有越界可能),所以索性改写成环形队列.可能还有BUG,忘见谅! <?php /** * PHP memcache 环形队列类 * 原作者 LKK/lianq.net * 修改 FoxH

  • thinkphp浏览历史功能实现方法

    本文实例讲述了thinkphp浏览历史功能实现方法,分享给大家供大家参考.具体实现方法分析如下: 历史浏览功能都是使用了cookie功能记录用户信息放到了本地了,这样我们只要读取存储在cookies中的值就可以了,下面来给大家介绍一个基于thinkphp 实现浏览历史功能例子. 就像浏览器一样,能够记录访问了哪些页面,这样能够减少时间,下面我们实现浏览历史的功能. 1.在你需要记录浏览数据的产品或新闻页面,记录cookie需要保存的信息,例如下面这行代码,把页面ID,产品名称,价格,缩略图,网址

  • 用PHP程序实现支持页面后退的两种方法

    第一,使用Header方法设置消息头Cache-control QUOTE: header('Cache-control: private, must-revalidate');  //支持页面回跳 第二,使用session_cache_limiter方法 QUOTE:   //注意要写在session_start方法之前     session_cache_limiter('private, must-revalidate'); 补充: Cache-Control消息头域说明 Cache-Co

  • PHP实现将浏览历史页面网址保存到cookie的方法

    本文实例讲述了PHP实现将浏览历史页面网址保存到cookie的方法.分享给大家供大家参考.具体如下: 将浏览历史页面网址保存到cookie,大致的思路如下面的代码,与实际应用有些差别. 复制代码 代码如下: <?php /*******  说明:cookie只能保存字符串 本实例中,需要保存多个URL(历史访问记录),思路是先将URL数组转为字符串,然后保存,读取时,再循环读取 *******/ //先假设当前URL为:http://localhost/php/?id=1 $id = $_GET

  • php后退一页表单内容保存实现方法

    php表单在提交之后再后退,表单的内容默认是被清空的(使用session_start的时候), 解决方法是在session_start() 之后,字符输出之前写上 复制代码 代码如下: header("Cache-control: private"); 网页的缓存是由HTTP消息头中的"Cache-control"来控制的,常见的取值有private.no- cache.max-age.must-revalidate等,默认为private.其作用根据不同的重新浏览

  • php基于双向循环队列实现历史记录的前进后退等功能

    本文实例讲述了php基于双向循环队列实现历史记录的前进后退等功能.分享给大家供大家参考.具体如下: 为实现一个记录操作历史的功能 1. 和撤销,反撤销功能类似的一个功能.(实现操作的前进后退) 2. 和discuz论坛登录后查看帖子(可以前进后退查看过的帖子,还有帖子查看历史记录) 3. 逻辑和windows资源管理器地址栏前进后退功能一样. 根据这种需要,实现了一个数据结构.写了一个通用的类,暂叫历史记录类吧. [原理和时钟类似.实例化对象时可以构造长度为N(可以根据需要定长度)个节点的环]

  • php阻止页面后退的方法分享

    例如:现在有1,2,3.3页.希望用户一开始访问第一页,然后点"下一步"就看到"第二页",然后在进入"第三页"之前,用户不能后退.就让1和2作为同一页.留个标记在session里,这样:1and2.php 复制代码 代码如下: <?phpsession_start();if (isset($_GET['p2'])) {  $_SESSION['enteredPage2'] = true;}if (isset($_SESSION['enter

  • js禁止页面刷新与后退的方法

    本文实例讲述了js禁止页面刷新与后退的方法.分享给大家供大家参考.具体实现方法如下: <script language="javascript"> //禁止用F5键 function document.onkeydown() { if ( event.keyCode==116) { event.keyCode = 0; event.cancelBubble = true; return false; } } //禁止右键弹出菜单 function document.onco

  • javascript阻止浏览器后退事件防止误操作清空表单

    由于客户大多数是不懂电脑的大菜鸟.所以误操作比较多,有时没有选中文本框,然后不小心按了退格之后,刚刚辛苦填好的表单就什么也后退的没有了.网上查了好多资料,然后整合了一下.分享给大家.也希望酸奶姐姐来看看我的第一篇技术博客.呵呵(别介意我提到了你哦.).废话不多说.上源码. 复制代码 代码如下: $(function(){ //处理键盘事件 禁止后退键(Backspace)密码或单行.多行文本框除外 function banBackSpace(e){ var ev = e || window.ev

  • js控制网页前进和后退的方法

    本文实例讲述了js控制网页前进和后退的方法.分享给大家供大家参考.具体实现方法如下: //后退: <input type="button" value="后退" onclick="javascript:history.go(-1);"> //前进: <input type="button" value="前进" onclick="javascript:history.go(1);

  • angular.js + require.js构建模块化单页面应用的方法步骤

    前言 本文主要给大家介绍的是关于利用angular.js + require.js构建模块化单页面应用的方法,分享出来供大家参考学习,需要的朋友们下面来一起看看详细的介绍吧. AngularJS描述: angularjs是可以用来构建WEB应用的,WEB应用中的一种端对端的完整解决方案.通过开发者呈现一个更高层次的抽象来简化应用的开发.最适合的就是用它来构建一个CRUD应用,它提供了非常方便的且统一高效的解决方案,其数据绑定.基本模版标识符.表单验证.路由.深度链接.组件重用.依赖注入.以及HT

  • zepto.js中tap事件阻止冒泡的实现方法

    本文实例讲述了zepto.js中tap事件阻止冒泡的实现方法.分享给大家供大家参考.具体如下: 最近在弄一个手机版的网站,本来想用jQuery Mobile,但文件太大了,所以用了zepto.js 由于移动网页中使用click事件会有延迟,所以就用上了zepto.js中的tap事件. 使用click事件可以使用stopPropagation来阻止冒泡,但tap使用该方法无效 现在我需要实现这样一个效果:点击a.btn这个按钮,然后显示div.panel,当我点击非div.panel时隐藏div.

  • IOS 禁止缩放页面的实现方法

    IOS 禁止缩放页面的实现方法 在ios10前我们能通过设置meta来禁止用户缩放页面: <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" /> 在ios10系统中meta设置失效了: 为了提高Safari中网站的辅助功能,即使网站在视口中设置了user-scalable = no,用户也可以

  • js禁止浏览器页面后退功能的实例(推荐)

    实例如下所示: <script> $(function(){ if(window.location.href.indexOf("/login") > -1) { //防止页面后退 history.pushState(null, null, document.URL); window.addEventListener('popstate', function () { history.pushState(null, null, document.URL); }); }

  • 使用ajax技术实现txt弹出在页面上的方法

    使用ajax技术实现点击按钮,将TXT文本里的内容通过弹出框显示到页面上 /*事件会在页面加载完成后触发.*/ <script> window.onload = function(){ /*获取按钮的id*/ var oBth=document.getElementById('btn'); /*点击按钮触发的函数*// oBth.onclick = function(){ /*打开浏览器*/ var xhr = new XMLHttpRequest(); /*在地址栏输入地址,这里的1txt代

  • Asp.net中阻止页面按钮多次提交的解决办法

    问题背景: 手头上的KPI分类评级考核系统,页面的提交按钮是用LinkButton或者Button做的.当大量用户同时在线访问该站点时,应用程序服务器出现CPU占用100%的糟糕状况,页面会卡住不动,用户不明情况连续点击提交按钮重复提交,造成数据库中出现大量的重复数据. 其实,即便服务器没有崩掉,快速频繁点击提交按钮,也会出现重复提交的问题. 尝试过:1)在提交按钮的点击事件里设置提交按钮的Enabled属性 Enabled = false; ,这个属性设置在未拿到新页面前是无效的,问题依然存在

随机推荐