2014-01-13 55 views
0

我試圖用很多方式來處理它,但不知何故,我無法弄清楚它。也許你們可以幫助我?

我需要顯示某個DIV/SPAN或任何容器頁面通過

header('Location: ' . $_SERVER['HTTP_REFERER']); 

我之所以需要這樣一個奇怪的方法來顯示一些可追溯到後顯示一個文本,我使用一個href/GET組合來運行PHP函數,當我的鏈接被點擊時。 (提交按鈕是由另一個功能/模塊,所以我不能使用)

HTML部分

<p id="show_project"> 
     <a id="add_to_project" name="add_to_project" href="?function"> 
     Add to project 
     </a> 
    </p> 

PHP函數部分

$this->getProductinfo(); 
    if (isset($_GET['function'])){ 
     $this->getSQLQuery($_GET['function']); 
     header('Location: ' . $_SERVER['HTTP_REFERER']); 
    } 

任何想法?

BR的

+0

我會用ajax處理原始鏈接點擊,但如果你不能這樣做,你可以做一個雙重指示,首先到你想暫時顯示的頁面,然後到原始的引用。 – jeroen

回答

1

爲什麼不添加一條消息給你的頭()調用

$this->getProductinfo(); 
if (isset($_GET['function'])){ 
    $this->getSQLQuery($_GET['function']); 
    header('Location: ' . $_SERVER['HTTP_REFERER'].'?msg=We got a message'); 
} 

獲取消息

<?php 

session_start(); 

if (!empty($_GET['msg'])){ 
    $_SESSION['msg'] = $_GET['msg']; 
    header('Location: ' . $_SERVER['HTTP_REFERER']); 
    die; 
} 
else{ 
    if (!empty($_SESSION['msg'])){ 
     $msg = $_SESSION['msg']; 
     unset($_SESSION['msg']); 
    } 
} 
    ?> 

<?php 
/* Later in the document */ 
echo '<div>' . $msg . '</div>'; 

?> 

您將需要清理和驗證$ _GET變量

borrowed from here

+0

這是一個很好的方法,但是如果用戶刷新一個頁面,massege開始堆疊並獲得更長的時間和記錄。任何方式來防止呢? – user2831723

+0

已編輯我的答案 – Pwner

+0

我通過使用會話也得到了它的工作,但您的解決方案更多 - 如何說,優雅:)謝謝 – user2831723

相關問題