Passage de variables entre scripts PHP

Fermé
Nabla - 10 oct. 2002 à 13:36
 Nabla - 13 oct. 2002 à 20:30
Y a-t-il une manière de capturer d'un coup toutes les variables transmises à un script PHP pour les transmettre à un autre script, via un formulaire ou un lien? Je trouve franchement nul d'écrire (comme je le fais actuellement) des lignes du genre
$variables="machin=$machin&truc=$truc&bidule=$bidule";
echo "<a href=script.php?$variables>..........
A voir également:

7 réponses

chmanu Messages postés 166 Date d'inscription mardi 15 mai 2001 Statut Membre Dernière intervention 3 septembre 2012 28
10 oct. 2002 à 16:58
Salut
Je sais pas ce qui t amene a faire ca, mais une solution serai de mettre toutes des variables dans un tableau et ensuite, de faire une boucle qui t'affichrera :
<input type=hidden value=<?=$var[$i]?>>
que t inclue dans un formulaire.

Mais personnellement je m en sert jamais : je fais un script globale et selon le traitement a faire, tu fais un include du script dont tu as besoin.
0
C'est pour naviguer entre des pages php en gardant un contexte. l'idéal serait que je puisse appeler toujours la même fonction sans donner le nom des variables.
0
y'a
- les cookies (genre un tableau de cookie)
- les variables sessions
- le passage en méthode post
- le passage en méthode get

sinon pour continuer dans ton idée, tu te créé une fonction qui t'écris dans ta page toutes tes variables
du coup tu as <a href=" http://site/page.php?<?php echo taFonctionQuiEcritTaListeDeVariables() ?>">lien</a>

moi j'utilise un tableau de cookies et ça marche bien.
0
Je vois les options. Les cookies c'est sûrement le plus naturel, mais ça m'embête d'écrire des trucs côté client alors que je n'en ai pas besoin. J'avoue que je n'ai pas regardé comment marchaient les variables session, c'est peut-être ça ma solution.

Quant à écrire ma fonction, mon problème est que je ne sais pas récupérer le nom (et le nombre) des variables passées, ce qui est nécessaire pour que taFonctionQuiEcritTaListeDeVariables puisse être appelée depuis n'importe quelle page. Le problème est le même avec la méthode GET ou POST.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J'ai trouvé :-))

Ce que je ne savais pas, c'est que $HTTP_POST_VARS permettait de récupérer non seulement les valeurs mais aussi les noms des variables. En fonction ça donne ça, au cas où ça intéresse quelqu'un:

function passer_variables($modeformulaire=0)
// En mode normal, transmet la liste de variables à copier après "URL?".
// En mode formulaire, du code HTML à placer dans le formulaire.
{
global $HTTP_POST_VARS;
$resultat="";
$deja=0;
while (list($nom,$valeur)=each($HTTP_POST_VARS))
{
echo "$nom : $valeur";
if ($modeformulaire)
{
$resultat .= "<INPUT TYPE=HIDDEN NAME=$nom VALUE=$valeur>";
}
else
{
if ($deja == 1) $resultat .= "&";
$resultat .= "$nom=$valeur";
$deja = 1;
}
}
return($resultat);
}

(testé en "mode normal")
0
Utilisateur anonyme
13 oct. 2002 à 15:43
heu... réponse toute bete : tu fais <a href="lien.html?<?php echo $QUERY_STRING; ?>">Lien</a>, et ca te passes toute la chaine après le ?, cad les variables passées par GET...

mais il faut avouer que cette méthode (ou n'importe laquelle avec GET) est très peu sure, il vaut mieux passer par POST, les cookies ou les sessions...

thomas
0
Argh, il y avait une variable $QUERY_STRING pour ça? Evidemment c'est plus simple, et comme pour l'instant je passe dans mes variables des infos pas confidentielles du tout, ça m'irait très bien aussi.
0