请问,php执行用户操作的某一个操作之后(跳转执行的,非ajax执行)再跳转到上次页面或者其他页面 给用户返回执行结果的提醒,如何实现该提醒只在本次执行跳转请求有效,再次刷新本页面后不再存在该数据提醒。
小伙看你根骨奇佳,潜力无限,来学PHP伐。
先执行提醒,然后再跳转呢?或者跳转到一个过渡页面,提醒完之后再跳去目标页面?
每次跳转之前判断是否存SESSION,如果不存在,则跳转.跳转成功之后,写SESSION.
$noticed = $_SESSION['noticed']; if(isset($noticed)){ //your code here }
php可以获取到来源页面的连接使用:
$_SERVER[“HTTP_REFERER”]
就能得到来源页面的连接,可以进行对比,是不是从你执行的页面跳转的。来进行判断。或者是你可以在执行成功后给跳转连接后面追加一个参数。有参数的时候提示执行成功。正常刷新不存在提醒。
不过更推荐的是你写一个函数。传入提示语和要跳转的页面。具体可以参考一些框架的提示做法。
根据以上几位的建议:
//跳转调用 function redirect($url,$message=false) { if($message){ foreach ($message as $key => $value) { if(is_array($value)){ $_SESSION['RedirectMessage'][$key] = implode(',', urlencode($value)); }else{ $_SESSION['RedirectMessage'][$key] = urlencode($value); } } } header('location:'.$url); } //视图调用(在视图加判断) function getMessage($key1) { $data = explode(',',$_SESSION['RedirectMessage'][$key1]); $_SESSION['RedirectMessage'] = null; if(empty($data)){ return false; } foreach ($data as $key => $value) { $data[$key] = urldecode($value); } if(count($data)==1){ return $data[0]; }else{ return $data; } } /** * 参数是否存在 */ function existsParam($key) { if(isset($_SESSION['RedirectMessage'][$key])){ return true; }else{ return false; } }
先执行提醒,然后再跳转呢?或者跳转到一个过渡页面,提醒完之后再跳去目标页面?
每次跳转之前判断是否存SESSION,如果不存在,则跳转.跳转成功之后,写SESSION.
php可以获取到来源页面的连接使用:
就能得到来源页面的连接,可以进行对比,是不是从你执行的页面跳转的。来进行判断。或者是你可以在执行成功后给跳转连接后面追加一个参数。有参数的时候提示执行成功。正常刷新不存在提醒。
不过更推荐的是你写一个函数。传入提示语和要跳转的页面。具体可以参考一些框架的提示做法。
根据以上几位的建议: