2009-04-01 4 views
0

私は簡単な質問があります。

このようなことは可能ですか?

オプションは、foreachループに基づいて動的に生成されます。 $ _GET ['t']が$ kと等しいところでループを止めて、それを選択させたいと思います。

<option value="http://domain.com/<?php print $k; ?>/" <?php if ($k == $_GET['t']) print 'selected'; ?>><?php print $v; ?></option> 

基本的に選択されたオプションを作るための方法がある/アドレスバー上の提供$ _GET [T ']の値に基づいて強調..私はそれを試してみましたが、私は未定義のインデックスを取得:トン・エラーを。

私に何かが不足していますか?

ありがとうございます。

答えて

2

を「選択」が選択されています。

あなたは(すなわち:example.com/script.php?t=test)右のURLを呼び出していることを確認してください

は、(他の人が示唆したように)isset($_GET['t'])

+0

ああ私はばかです!私は$ _GET ['t']の親文書をフレームに入れようとしていました。フレームは別のページにあります。ごめんなさい :) –

1

あなたはほとんどそれを得た - xhtmlのは、実際には=「t」は、あなたの$_GET要求ではないので、あなたは未定義のエラーを取得する

<option value="http://domain.com/<?php print $k; ?>/" <?php if ($k == $_GET['t']) print 'selected="selected"'; ?>><?php print $v; ?></option> 
+0

感謝を変更しました。しかし、なぜ私は取得し続ける注意:未定義のインデックス:tとそれは期待どおりに動作しません。 –

+0

正しいxhtml構文を使用しない場合でも、チェックボックスは選択されますが、これは正しいです。 –

1
であなたが値をチェックしていることを確認しています

アダムは何を指摘しましたか、実際に最後に "t = something"を渡してテストしていますか?このコードは、tが最初に設定されたかどうかを確認するためにテストすることによって、エラーを取り除く必要があります:あなたはページ上のフォームの値を変更するにはGETのを使うべきではありません

<option value="http://domain.com/<?php print $k; ?>/" <?php if (isset($_GET['t']) && $k == $_GET['t']) print 'selected="selected"'; ?>><?php print $v; ?></option> 
1

。あなたはそのためにPOSTを使用する必要があります:)

この方法では、誰もがあなたのページをクロールしている場合、彼らは選択ボックスで10回同じページを持っていません:)

関連する問題