2009-04-01 10 views
0

J'ai une petite question.

Est-il possible de faire quelque chose comme ça?

Les options sont générées dynamiquement en fonction de la boucle foreach. Je veux que la boucle s'arrête là où le $ _GET ['t'] est égal à $ k et le fait sélectionner.

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

est fondamentalement il un moyen de rendre l'option sélectionnée/mis en évidence basée sur la condition $ _GET valeur [t '] dans la barre d'adresse .. Je l'ai essayé et je reçois Undefined index: erreur de t.

ai-je oublié quelque chose?

Merci beaucoup.

Répondre

2

vous obtenez l'erreur non définie parce que "t" est pas dans votre demande $_GET.

assurez-vous que vous appelez le droit url (ex: example.com/script.php?t=test)

N'assurez-vous que vous vérifiez la valeur (comme d'autres ont suggéré) avec isset($_GET['t'])

+0

Oh, je suis stupide! J'essayais d'obtenir le $ _GET ['t'] du document parent dans le cadre .. et le cadre est dans une autre page .. stupide moi. Pardon :) –

1

Tu as failli got it - le xhtml est effectivement sélectionné = "sélectionné"

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

Merci. Mais pourquoi je reçois toujours Note: Undefined index: t et ça ne marchera pas comme prévu. –

+0

Ceci est correct, bien que votre case à cocher soit sélectionnée même si vous n'utilisez pas la bonne syntaxe xhtml. –

1

Au-dessus de ce qu'a noté adam, testez-vous en passant un "t = quelque chose" à la fin? Ce code doit se débarrasser de l'erreur en testant pour voir si t a été mis en premier:

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

Vous ne devriez pas utiliser pour modifier les valeurs du formulaire de GET sur une page. Vous devez utiliser POST pour que :)

De cette façon, si quelqu'un explore votre page, ils auront pas 10 fois la même page avec juste la boîte de sélection changé :)