Page 1 sur 1

passage de variable

Posté : 29 janv. 2009, 19:53
par dimi3
Bonjour,

Je ne comprends pas bien le passage de variable d'un fichier php à un fichier php. Est-il nécessaire de faire passer les variables par l'URL avec ce code ?

Code : Tout sélectionner

print("<form method=\"POST\" action=\"fichier2.php?mavariable=$text\"> \n"); print("<input type = \"text\" size = \"5\" name = \"f\"> \n"); print("<input type=\"submit\" value=\"Ok\" name=\"B1\">");
Pouvez-vous aussi m'expliquer pourquoi une variable passée de cette manière est bien récupérée par le fichier2.php alors que je n'utilise pas le code de récupération :

Code : Tout sélectionner

$variablerecuperee = $_POST["mavariable"];
Si elle n'est pas récupérée par ce code, à quoi cela sert-il de la déclarer dans l'URL ?
J'ai tenté de ne pas l'envoyer par l'URL. Dans ce cas, pas de variable récupérée dans le fichier cible.

Je vous remercie de vos éclaircissements.

Posté : 29 janv. 2009, 20:24
par Stef
Hello,

je pense que tu trouveras des infos intéressantes dans cette documentation:

http://www.php.net/manual/fr/language.variables.php

et peut-être plus précisément ici:

http://www.php.net/manual/fr/language.v ... ternal.php

bonne continuation! ;)

Posté : 29 janv. 2009, 20:50
par Aureusms
Les liens indiqués sont très interessants lis les bien :

Dans ton exemple :

Code : Tout sélectionner

print("<form method=\"POST\" action=\"fichier2.php?mavariable=$text\"> \n"); print("<input type = \"text\" size = \"5\" name = \"f\"> \n"); print("<input type=\"submit\" value=\"Ok\" name=\"B1\">");
Tu pourras dans fichier2.php récupérer via deux modes :

mode URL : fichier2.php?mavariable=$text te donnera $_GET["mavariable"] et sera = à $text
mode POST : $_POST["f"] = ce que l'utilisateur entrera dans <input type = \"text\" size = \"5\" name = \"f\"> \n";

Ces deux modes ($_GET et $_POST) sont des "super" variables (ils peuvent être considérés en mode global : utilisation dans les fonction, les classes, ...) et sont en fait des tableaux associatifs et peuvent être manipuler comme tel.
Dans ton exemple : si tu interroges le tableau $_POST tu auras deux valeurs : $_POST["f"] et $_POST["b1"].
Essayes en faisant cela :
<?php
echo "<p>Tableau GET</p>";
echo '<pre>'; //permet de formater l'affichage
print_r ($_GET); //permet d'afficher (uniquement afficher) tous le tableau $_GET
echo "</pre>";
echo "<p>Tableau POST</p>";
echo '<pre>'; //permet de formater l'affichage
print_r ($_POST); //permet d'afficher (uniquement afficher) tous le tableau $_POST
echo "</pre>";
?>

Posté : 29 janv. 2009, 21:23
par dimi3
Merci beaucoup pour ces liens et les codes. Je vais étudier tout ça à tête reposée. Merci encore.