重複の可能性:
PHPが文字列の変数を置き換えないのはなぜですか?
PHPリダイレクトヘッダーを動的にしたいのですが。現在私は持っています:
header('Location:message.php?ref=conversation&conv=$conv_id')
しかし、それはユーザーを次の場所にリダイレクトします。
doamin.com/message.php?ref=conversation&conv="$conv_id"
私は何が間違っているのですか?
重複の可能性:
PHPが文字列の変数を置き換えないのはなぜですか?
PHPリダイレクトヘッダーを動的にしたいのですが。現在私は持っています:
header('Location:message.php?ref=conversation&conv=$conv_id')
しかし、それはユーザーを次の場所にリダイレクトします。
doamin.com/message.php?ref=conversation&conv="$conv_id"
私は何が間違っているのですか?
変数を一重引用符で囲み、二重引用符に変更します。
これに変更します:
header("Location:message.php?ref=conversation&conv=$conv_id");
またはこれ:
header('Location:message.php?ref=conversation&conv=' . $conv_id);
(私は後者の方が好きですが、それは個人的なことです。)
PHPでは、二重引用符を使用する場合は文字列内の変数を解析し、一重引用符を使用する場合は解析しません。
一重引用符で囲まれたものはすべて文字列のように動作します
それで
header('Location:message.php?ref=conversation&conv=$conv_id') will not work
する必要があります
header("Location:message.php?ref=conversation&conv=$conv_id")
それほど多くはありませんが、varを文字列に渡す必要があります
header("Location:message.php?ref=conversation&conv=" . $conv_id)
次の2つのいずれかを実行できます。
header("Location:message.php?ref=conversation&conv=$conv_id");
また
header('Location:message.php?ref=conversation&conv='.$conv_id);
変数を一重引用符で囲まないでください'
。二重"
引用符で囲み、機能します