請問,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可以取得到來源頁面的連線使用:
就能得到來源頁面的連接,可以進行對比,是不是從你執行的頁面跳轉的。來進行判斷。或者是你可以在執行成功後給跳轉連線後面追加一個參數。有參數的時候提示執行成功。正常刷新不存在提醒。
不過比較推薦的是你寫一個函數。傳入提示語和要跳轉的頁面。具體可以參考一些框架的提示做法。
根據以上幾位的建議: