0

ユーザー プロファイルに、別のユーザーがユーザーをお気に入りに追加できるボタンがあります。このボタンをクリックすると、SQL プロセス ファイルの favorite.php にリンクされます。

SQL スクリプトが実行されると、ユーザーは元のプロファイル ページである profile.php にリンクされます。

今私がやりたいことは、SQL が完了した後にページ profile.php でメッセージをエコーする方法を見つけることです。以下を試しましたが、何も起こりません。

誰かがこれを機能させるために何をする必要があるか教えてもらえますか? ありがとうございました

お気に入り.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>"; ?>

            <? } ?>
4

1 に答える 1

2

リダイレクトされた URL は次のようになります。

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

パラメータが欠落&していることに注意してください。呼び出しを調整し、連結header()の前に含めます。"added=1"

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

関連する注意事項として、それがなかったらもっと早く気づいていたでしょうisset:

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

これは必須のパラメーターであり、そのような場合にメモを取得する必要があるため、省略します。代わりに、実稼働サーバーで通知/警告を無効にするだけです。

于 2012-12-27T02:09:00.987 に答える