2011-08-17 5 views
1

J'essaie de passer mes variables d'une page à une autre, j'utilise $_GET et il saisit mes variables mais sur la même page au lieu d'une nouvelle, est-ce possible de les passer à une nouvelle page en utilisant $_GET ou dois-je faire une autre méthode, j'ai vu cela fait sur le site en utilisant javascript asp et jquery mais ne semble pas en trouver un avec PHP qui explique très bien les choses.

c'est ce que j'ai, d'autres alors je suis assez clueless sur la façon de rendre cela possible.

foreach($obj->jigsawes as $jigsaw): 

    if(isset($_GET['p']) && $_GET['p']==''.$query.'') { 
echo "<a href='?p=$jigsaw_url'><img border=0 src='".$jigsaw->photo_url."'></a><br />"; 

echo "$jigsaw->name</ br> 
$jigsaw->address1<br /> 
$jigsaw->phone<br /> 
$jigsaw->city<br /> 
$jigsaw->state<br /> 
$jigsaw->zip<br />"; 


}else{ 
$query = htmlspecialchars($_SERVER['QUERY_STRING'], ENT_QUOTES); 

echo "<div><a href='?$query'>$jigsaw->name</a></div>"; 
    } 
endforeach; 
} 

Répondre

0

Vous devez construire une nouvelle chaîne de requête de vos vars post et les attacher à vos liens. http_build_query() est utile pour cela.

1

J'utiliserais probablement des variables de session.

http://php.net/manual/en/function.session-start.php

+0

les variables de session sont pour les utilisateurs temporaires ou quelque chose à cette nature d'après ce que j'ai lu à droite? – NukleHead

+1

@NukleHead - Les sessions sont utilisées pour conserver n'importe quel type d'état entre les demandes dans une application Web. Cela est particulièrement utile pour conserver l'état d'authentification. Il est également avantageux d'étudier des techniques de stockage plus persistantes, si vous souhaitez conserver les données de session au-delà de la portée d'une session donnée. – Dan

+0

Je n'utiliserais pas les variables de session uniquement pour les paramètres de requête persistants entre les requêtes GET, à moins que la beauté des URL ne soit un gros problème ... et même alors, j'y réfléchirais à deux fois. L'utilisation de sessions a tendance à créer de l'étrangeté si vous avez plus d'un onglet ouvert sur un site donné, ou si quelqu'un utilise le bouton Retour. Mettre en surbrillance la chaîne de requête actuelle sur l'URL est beaucoup moins susceptible de causer des problèmes. – cHao

1

Vous pouvez utiliser $_SERVER['QUERY_STRING'] pour obtenir les variables actuelles _GET $ dans une chaîne, par exemple:

$query = htmlspecialchars($_SERVER['QUERY_STRING'], ENT_QUOTES); 
echo "<a href='?$query'><img border=0 src='".$jigsaw->photo_url."'></a>"; 

Notez l'utilisation de htmlspecialchars dans le cas où il contient des caractères désagréables (vecteur potentiel XSS. Puisque dans ce cas vous chargez la même page, href="" devrait fonctionner aussi bien.

+0

Je voulais essayer votre code, car il semble plus facile à utiliser que la session, mais lorsque j'essaie de l'ajouter à mon code, la page est juste rafraîchie, la fonction get ne fonctionne plus. vérifier mon code mis à jour pour voir ce que j'ai fait s'il vous plaît. Merci – NukleHead

+0

@NukleHead: Si vous allez simplement à '? Param = whatever', cela signifie * la même page. Bien sûr, ça va juste se rafraîchir. Si vous voulez aller à une autre page, vous devez mettre une URL avant le '?'. : P – cHao

Questions connexes