我在用户个人资料上有一个按钮,允许其他用户将用户添加到他们的收藏夹中。 单击此按钮后,它们将链接到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>"; ?>
<? } ?>
答案 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) {
不要这样做,因为这是一个必需的参数,你希望得到这样的场景的注释。而只需在生产服务器上转动通知/警告。