重定向后回显消息?

时间:2012-12-27 02:05:40

标签: php redirect echo

我在用户个人资料上有一个按钮,允许其他用户将用户添加到他们的收藏夹中。 单击此按钮后,它们将链接到sql进程文件favorite.php。

一旦sql脚本运行,它就会将用户链接回原始配置文件页面profile.php。

现在我要做的是找出如何在sql完成后在页面profile.php上回显消息。我尝试过以下但没有任何反应。

有人可以告诉我为了让这项工作需要做些什么吗?谢谢

favorite.php:

<?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'];

$result = mysql_query("INSERT INTO ptb_favorites (user_id, favorite_id) VALUES (".$_SESSION['user_id'].", ".$user_to_id.")") 
or die(mysql_error()); 

header("Location: profile.php?id=" . $user_to_id['user_id'] . "added=1");


?> 

profile.php:

<?
if (isset($_GET['added']) && $_GET['added'] == 1) {
            $message = "<div class=\"infobox\">This user was successfully added to your favorites.</div>"; ?>

            <? } ?>

1 个答案:

答案 0 :(得分:2)

您的重定向网址如下所示:

 profile.php?id=123456added=1
 #                   ^

注意参数中缺少&。调整header()来电并将其包含在"added=1" concat。

之前
 header("Location: profile.php?id=" . $user_to_id['user_id'] . "&added=1");
 #                                                              ^ 

在相关的说明中,如果不是isset,你会早些发现:

 if (isset($_GET['added']) && $_GET['added'] == 1) {

不要这样做,因为这是一个必需的参数,你希望得到这样的场景的注释。而只需在生产服务器上转动通知/警告。