|
|
|
|
Posté par
nico, le dimanche 25 février 2001 à 14:34:11
|
Slt nico,
J'ai déjà répondu sur ce site à ce genre de question ... mais je ne me souviens plus à qui ni quand ! Revoici donc le message (heureusement que je suis conservateur !) Passer des variables Javascript d'une page à une autre : ______________________________________________ Pour passer une variable d'une page à une autre il existe plusieurs méthodes selon que tu utilises ou non des cadres (frames) mais voici la plus simple et la plus employée : Passer des variables Javascript en utilisant la propriété search de l'objet location Tu as déjà du voir dans l'adresse de ton navigateur une url du style : " http://www.monsiteweb.com/index.htm?aa=1&bb=2" c'est là que réside toute l'astuce ! Bon voyons comment on fait ... Supposons que tu as 2 pages html appelées page1.htm et page2.htm Tu désires envoyer des variables de la page1 à la page2. Page1.htm : l'envoi <html> <head> <script language="Javascript" <!-- // On passe 2 variables tant qu'à faire var param1="var1"; var param2="var2"; function go() { // Force le navigateur à charger la nouvelle page (donc page2.htm) et en même temps lui envoie // les paramètres dans la propriété window.location.search window.location.href="page2.htm?param1="+param1+"¶m2="+param2; // Le fait de mettre 'param1=' et 'param2=' n'est absolument pas obligatoire pour JavaScript mais c'est + clair // Par contre php attend les paramètre sous cette forme !! // Voir partie nr 2 // Le point d'interrogation après le nom de la page lui est obligatoire // Ensuite tu peux séparer chaque variable avec le caractère de ton choix, la règle veut que ce soit le "&" } // --> </script> </head> <body> <a href="javascript:go()">Vers la page 2</a> </body> </html> Page 2 : la réception <html> <head> <script language="Javascript" <!-- // Ici on récupère les variables dans un tableau var paramArray=window.location.search.substr(1).split("&") /* Explication Au départ : window.location.search = "?param1=var1¶m2=var2" Ensuite on retire le "?" du début : window.location.search.substr(1) = "param1=var1¶m2=var2" Puis on applique la méthode split() qui découpe la chaîne à chaque fois que le caractère "&" (ou un autre) est rencontré et enfin renvoie le tout dans un tableau : window.location.search.substr(1).split("&") Le tableau est paramArray : cool non ! */ // Petite fonction que affiche les variables passées function test() for (i=0; i < paramArray.length; i++) { // Cerise sur le gâteau : en fait si la variable que tu passes // contient un caractère spécial comme par ex un "!" alors // dans window.location.search tu as %21 à la place. // unescape() : remplace les séquences d'échappement par leur // caractère correspondant param=unescape(paramArray[i]); alert(param); } // --> </script> </head> <body onload="test()"> ... </body> </html> Comme je te l'ai dit il existe d'autres méthodes : si tu en as besoin voici mon e-mail : phpujol@nexen.net Passage de variables en utilisant Php : ________________________________ Le principe est le même que pour Javascript tout au moins pour l'envoie Tu désires envoyer des variables de la page1 à la page2. page1.php3 : l'envoi <html> <head> <script language="Javascript" <!-- // On passe 2 variables tant qu'à faire var param1="var1"; var param2="var2"; function go() { window.location.href="page2.php3?param1="+param1+"¶m2="+param2; } // --> </script> </head> <body> <a href="javascript:go()">Vers la page 2</a> </body> </html> L'utilisation deJS n'est qu'un ex. On peut aussi avoir : <?php $param1="10"; $param2="20"; ?> ... <a href="page2.php3?param1=<?php echo $param1; ?>¶m2=<?php echo $param2; ?>">Vers la page 2</a> Page 2 : la réception Php va automatiquement créer pour toi les variables $param1 et $param2 : tu n'as donc rien à faire ! page2.php3 <html> <head> </head> <body> ... <?php echo "param1=".$param1."<br>"; echo "param2=".$param2."<br>"; ?> ... </body> </html> Une autre solution consiste à utiliser les formulaires : par ex avec un formulaire la page page1.php3 devient : <html> <body> <form action="page2.php3" method="post"> <input type="submit" value="Vers la page 2"> Entrez le param 1 : <input type="text" name="param1"> Entrez le param 2 : <input type="text" name="param2"> </form> </body> </html> Si tu ne désires pas saisir il suffit de transmettre les paramètres en tant que champs cachés ( hidden) <form action="page2.php3" method="post"> <input type="submit" value="Vers la page 2"> <input type="hidden" value="<?php echo $param1; ?>" name="param1"> <input type="hidden" value="<?php echo $param2; ?>" name="param2"> </form> Ce qui est important c'est de bien donné un nom avec l'attribut "name" ! La page 2 reste inchangée !! Ps : j'ai trouvé ces explications en anglais sur l'excellent site : http://www.wsabstract.com Bye Philippe |
oui mais comment recuperer une valeur php pour l'envoyer sur une autre page php?
|
De passage.....
Philippe, Merci pour cette info. |
Merci pour ces explications lumineuses,
j'en tire grand profit pratique et pédagogique Vincent |
Bjr
Attention : mon message date un peu ... lol S'il reste valable pour JavaScript en revanche en PHP il est impératif de passer par $_GET[] ou $_POST[] comme l'a dit Jean-François PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ... |
Bonjour,
memes informations, je veux les transmettre vers 2 pages .php le pb c'est que la méthode post ne marche que sur la première page mentionnée dans form. et j'ai pas su comment utiliser la méthode des sessions |
Bonjour,
meme si le message date, l'utilisation des variables de session est tres simples: $_SESSION['nom_variable']=valeur; Et le tour est joué, voila une variable de session accesible à toutes tes pages php! ;) (pour pouvoir utiliser les variables de session, il faut ouvrir une session au debut de la page : <? /*on appel les fonctions utiles si besoin est*/ session_start(); /* on démarre la session */ |
bonsoir,
Comment je peux rediriger vers une autre page avec l'appel d'une fonction comme paramètre. C'est urgent s'il y a des réponse vous pouvez me l'envoyer à mon E-mail""-- khawla_2002@hotmail.fr --"". Merci pour votre attention. |
| 07/02 13h30 | Comment enlever la version de PHP : X-Powered-By: PHP/4.1.0 ? | PHP |
| 27/03 16h03 | [PHP] Méthodes de débogage | PHP |
| 28/12 00h00 | [PHP] Récupérer login et mot de passe passés par un .htaccess | PHP |
| 21/01 02h32 | [Langages] Envoyer un mail avec pièce jointe | Langages |
| 02/11 11h14 | [Webmaster] Un formulaire de contact pour votre site | Webmaster |
| 01/10 13h09 | Envoyer variable vers cadre1 de frame.php | 9 |
| 30/11 17h28 | Envoi données de VB vers page PHP par POST | 1 |
| 18/12 17h21 | Lien vers page php | 3 |
| 15/09 14h16 | Passage de variables vers une page php | 3 |
![]() | WAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de... | Catégorie: Serveurs Licence: Freeware/gratuit |
![]() | PagePlus - PagePlus SE est un logiciel gratuit de PAO (publication assistée par ordinateur) permettant de concevoir et de créer des... | Catégorie: Présentation Licence: Freeware/gratuit |
![]() | PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de... | Catégorie: PHP Licence: Freeware/gratuit |
![]() | PageDefrag - Le défragmenteur de disque de Windows fait un boulot correct, mais il a un inconvénient : il ne défragmente ni le fichier... | Catégorie: Formatage/Partitionnement Licence: Freeware/gratuit |
![]() | Xerox Phaser 8560MFP (8560MFP_AD) | Catégorie: Imprimante multifonctions | 2,533.90 € iziprice |
![]() | Xerox Phaser 8560MFP (8560MFP_AT) | Catégorie: Imprimante multifonctions | 3,307.94 € iziprice |
![]() | Xerox Phaser 8560MFP (8560MFP_AN) | Catégorie: Imprimante multifonctions | 1,709.63 € iziprice |
![]() | Xerox Phaser 8560MFP (8560MFP_AX) | Catégorie: Imprimante multifonctions | 4,054.17 € iziprice |