搜尋

首頁  >  問答  >  主體

session - 關於php跳躍頁面給予提醒的問題

請問,php執行使用者操作的某一個操作之後(跳轉執行的,非ajax執行)再跳到上次頁面或其他頁面給使用者回傳執行結果的提醒,如何實作該提醒只在本次執行跳轉請求有效,再次刷新本頁面後不再存在該資料提醒。

伊谢尔伦伊谢尔伦2759 天前551

全部回覆(4)我來回復

  • 仅有的幸福

    仅有的幸福2017-05-16 13:12:58

    先執行提醒,然後再跳轉呢?或是跳轉到一個過渡頁面,提醒完之後再跳去目標頁面?

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:12:58

    每次跳轉前判斷是否存SESSION,如果不存在,則跳轉.跳轉成功之後,寫SESSION.

    $noticed = $_SESSION['noticed'];
    if(isset($noticed)){
        //your code here
    }

    回覆
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:12:58

    php可以取得到來源頁面的連線使用:

    $_SERVER[“HTTP_REFERER”]

    就能得到來源頁面的連接,可以進行對比,是不是從你執行的頁面跳轉的。來進行判斷。或者是你可以在執行成功後給跳轉連線後面追加一個參數。有參數的時候提示執行成功。正常刷新不存在提醒。

    不過比較推薦的是你寫一個函數。傳入提示語和要跳轉的頁面。具體可以參考一些框架的提示做法。

    回覆
    0
  • 怪我咯

    怪我咯2017-05-16 13:12:58

    根據以上幾位的建議:

    //跳转调用
    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;
      }
    }

    回覆
    0
  • 取消回覆