電子書籍の厳選無料作品が豊富!

検索フォームから入力されたキーワードをresult.phpというファイルで

$keyword = $_POST[keyword];

このように受け取っています。

ところが、キーワードによっては1ページで収まらないため、

result.php?p=2

このようなURLで「次のページへ」というリンクにしているのですが

$keywordの値を保持していない(?)みたいで思い通りの表示ができません。

このようなページ移動の場合、どのようにしたら受け取った変数の値を保持できるのでしょうか。

ためしに次のようにセッションを使ってみたのですが、

session_start();

$_SESSION["keyword"] = $_POST[keyword];

うまくいきませんでした。

動的に移動する同じファイル内で変数を保持するにはどのようにしたらいいのでしょうか?

A 回答 (2件)

> もし最初に来たときとそれ以外の分岐方法がありましたらあわせて教えて頂けると助かります。



if (isset($_GET["keyword"])) {
// $_GET["keyword"]が設定されている
} else {
// $_GET["keyword"]が設定されていない
}
とかで判断が付くと思います。
別にこれは$_GET["p"]でも、$_POST[keyword]でも同様です。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
おかげさまでうまくいきました。

お礼日時:2010/05/18 14:47

result.php?p=2&keyword=xxxx


というように渡して
$_GET["keyword"]
として取り出せば良いんじゃないでしょうか。
もちろん、最初に来たときは$_POST[keyword]に入ってて$_GET["keyword"]の方には値が無く、頁移動後は$_GET["keyword"]に値が入ってて$_POST[keyword]には値が無いということになりますが。

この回答への補足

どうもありがとうございます。
さっそく試してみようと思ったのですが、最初に来たときと頁移動後にきたときの条件分岐がうまく思い浮かびません。
頁送りの仕様で1ページ目は常にresult.phpになっており、2ページ目以降はresult.php?p=2、result.php?p=3となっています。
もし最初に来たときとそれ以外の分岐方法がありましたらあわせて教えて頂けると助かります。

補足日時:2010/05/18 06:16
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!