2014-01-13 134 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

相关问题