首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在sql函数和重定向之后回显消息?

问在sql函数和重定向之后回显消息?
EN

Stack Overflow用户
提问于 2012-12-30 07:18:21
回答 1查看 538关注 0票数 2

我使用这个sql函数来添加和删除一个用户到/从收藏夹,如果一个用户点击添加到收藏夹按钮上的另一个用户配置文件,然后将链接到favourite.php和运行以下脚本。

我正在尝试做的是,在sql运行后,然后重定向到用户配置文件页面,我想在该配置文件页面上回显一条消息,说明用户已添加到收藏夹(如果已将收藏插入到数据库中)或用户已从收藏夹中删除(其中用户已从数据库中的收藏夹中删除)。

代码:

代码语言:javascript
复制
    <?php

    require_once('includes/session.php');
    require_once('includes/functions.php');
    require('includes/_config/connection.php');

    session_start();

        confirm_logged_in();

        if (isset ($_GET['to'])) {
        $user_to_id = $_GET['to'];


    }


    if (!isset($_GET['to']))
        exit('No user specified.');

    $user_id = $_GET['to'];

    mysql_query("INSERT INTO ptb_favorites (user_id, favorite_id) VALUES (".$_SESSION['user_id'].", ".$user_to_id.")") 

    or mysql_query("DELETE FROM ptb_favorites WHERE user_id = ".$_SESSION['user_id']." AND favorite_id = ".$user_to_id.""); header("Location: {$_SERVER['HTTP_REFERER']}");

    #Method to go to previous page

    function goback()

    {
        header("Location: {$_SERVER['HTTP_REFERER']}fav=1");
        exit;
    }
    goback();

?>

我已经尝试在重定向上添加扩展fav=1以回显消息,并将$_GET代码放在配置文件页面中,以便在用户返回页面时显示错误:

代码语言:javascript
复制
<?
if (isset($_GET['fav']) && $_GET['fav'] == 1) {
            $message = "<div class=\"infobox-profile\"><strong>Added to Favourites.</strong>This user has been added to your favourites.</div>";
            echo "<a href=\"#\"><div class=\"infobox-close3\"></div></a>";

}
?>
EN

回答 1

Stack Overflow用户

发布于 2012-12-30 07:22:41

使用$_SESSION对象跨请求传递消息:

代码语言:javascript
复制
function goback()
{
    $_SESSION['flashmessage'] = "Some message";
    header("Location: {$_SERVER['HTTP_REFERER']}fav=1");
    exit;
}

然后,在您的其他脚本中,只需检查该变量。

代码语言:javascript
复制
session_start();

if (isset($_SESSION['flashmessage'])) {
    echo $_SESSION['flashmessage'];

    unset($_SESSION['flashmessage']);
}

注意::您不应该依赖于$_SERVER['HTTP_REFERER']来返回值。我不确定你是如何管理你的应用程序的,但是如果你没有明确设置一个转发URL,成功的页面应该会转到一个成功的页面。只是说说而已。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14086779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档