PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 06-06-2009 11:25:53

Ralph303
Membre
Lieu : St-Cyr l'Ecole
Inscription : 30-05-2009
Messages : 98
Site Web

Passage de variables d'un formulaire à l'autre

Bonjour,

je dois avoir un pb de syntaxe pour faire ce que je vois actuellement dans ma barre d'adresse, cad:
http://forum.phpdebutant.org/post.php?fid=1

Code du formulaire:


<head>
<title>Document sans titre</title>
</head>
   <form method="post" action="traitement.php?variable=$variable">
       <input type="text" name="nom">
       <input type="submit" value="OK">
   </form>
</body>
</html>
 

Code du traitement:


<?php
  echo "Valeur de \$variable: ";
  echo $variable;
?>
 

Et ça me met l'erreur suivante:

Valeur de $variable:
Notice: Undefined variable: variable in C:\Program Files\EasyPHP 2.0b1\www\traitement.php on line 3


Voilà, merci d'avance pour vos réponses.
Je pose cette question après avoir bien cherché dans mes bouquins...

Ralph

Hors ligne

#2 06-06-2009 11:30:22

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Passage de variables d'un formulaire à l'autre

Saluton,
Bien sûr, depuis quelques années déjà register_gobal est positionné à off dans la config php.
Donc tu peux dorénavant récupérer $variable dans $_GET['variable']


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 06-06-2009 20:15:47

Ralph303
Membre
Lieu : St-Cyr l'Ecole
Inscription : 30-05-2009
Messages : 98
Site Web

Re : Passage de variables d'un formulaire à l'autre

Oui, merci beaucoups, j'arrive à récupérer la valeur de la variable !

Mais par contre, la valeur est "texto" ce que j'écris après ! Impossible d'avoir la valeur de la variable au lieu de son nom...

Je donne le code:


<head>
<title>Document sans titre</title>
</head>
  <?php
    $variable="test";
  ?>
  <form method="post" action="traitement.php?variable=$variable">
    <input type="text" name="nom">
        <input type="submit" value="OK">
  </form>
</body>
</html>
 

<?php
  $variable=$_GET['variable'];
  echo "Valeur de \$variable: ";
  echo $variable;
?>
 

Ca me donne:

Valeur de $variable: $variable

Donc, $variable contiens son nom...
J'essaye de mettre des ' des \" des je ne sais plus quoi encore mais ça ne passe que ce que je met après le "=" sans l'interpréter pour avoir
la valeur...

Je dois être très fatigué...

Merci de m'éclairer, je suis un débutant...

Ralph

Hors ligne

#4 06-06-2009 21:29:39

Ralph303
Membre
Lieu : St-Cyr l'Ecole
Inscription : 30-05-2009
Messages : 98
Site Web

Re : Passage de variables d'un formulaire à l'autre

D'ailleurs, il serait bien que ce genre de questions soient présentes dans les futurs tuttos...

Car les bouquins sur HTML ne parlent que de HTML et les bouquins sur PHP ne parlent que de PHP (enfin, ceux que j'ai...).
Le lien entre les deux n'est pas évident pour les débutants comme moi.

Comme bouquins pour développer des sites webs, j'ai "HTML 4, l'assistant visuel" de Camille Gérard, "PHP & MySql" 2è édition de Luke Welling
& Laura Thomson, "CSS 2" 3è édition de Raphaël Goetter, "Oracle 8" pour le SQL, l'auteur n'est pas précisé mais le bouquin est en Francs...
Ca date...

Sinon, j'ai une formation Bac+2 DUT d'informatique, Licence et Maîtrise de 1994.
J'y ai appris la méthode Merise en DUT et en Maîtrise pour les SGBDR.

Voilà, j'arrête de raconter ma vie...

A+ et encore merci pour ce site !

Ralph

Hors ligne

#5 06-06-2009 21:43:24

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Passage de variables d'un formulaire à l'autre

<form method="post" action="traitement.php?variable=$variable">

On est bien d'accord que ça, c'est du html, php n'y intervient pas.
par contre

<?php
$str =<<<TEXT
<form method="post" action="traitement.php?variable=$variable">
TEXT
;
echo $str;

ou

<form method="post" action="traitement.php?variable=<?=$variable;?>">

et là php intervient et remplace $variable par sa valeur dans le texte html.
Bien sûr, la page doit avoir pour extension nomDePage.php


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 06-06-2009 22:05:46

Ralph303
Membre
Lieu : St-Cyr l'Ecole
Inscription : 30-05-2009
Messages : 98
Site Web

Re : Passage de variables d'un formulaire à l'autre

Mais comment tu fais pour savoir tout ça ?!
Je ne savais pas que le php pouvais se fourrer dans un code html de cette manière là !
En tous cas, celà ne marche pas encore et je suis trop fatigué... Je vais aller me coucher...
Je verrai ça demain à tête reposée...

Merci et bonne nuit !

Ralph

Hors ligne

#7 06-06-2009 22:14:56

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Passage de variables d'un formulaire à l'autre

Ralph303 a écrit :

Mais comment tu fais pour savoir tout ça ?!

Quelques années de pratique m'ont enseigné, qu'en fait, on ne sait jamais grand chose sur rien. wink
Bonan nokton.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#8 07-06-2009 08:34:42

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : Passage de variables d'un formulaire à l'autre

Glop,

Maljuna Kris a écrit :
<form method="post" action="traitement.php?variable=<?=$variable;?>">

et là php intervient et remplace $variable par sa valeur dans le texte html.

Rhooo pas glop là MK tongue
Cette syntaxe ne fonctionne pas sur toutes les configurations.

<form method="post" action="traitement.php?variable=<?php echo $variable; ?>">

C'est plus sur smile

et :


<?php
  $variable=$_GET['variable'];
  echo 'Valeur de $variable : ', $variable;
?>
 

(je préfère)

Alain.


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#9 07-06-2009 08:50:03

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Passage de variables d'un formulaire à l'autre

A mon corps défendant, le livre que je suis en train de traduire use et abuse de cette syntaxe des short-tags qu'il faut effectivement éviter pour les raisons expliquées ici : http://fr2.php.net/manual/fr/language.b … hpmode.php


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#10 07-06-2009 09:01:26

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : Passage de variables d'un formulaire à l'autre


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#11 07-06-2009 09:47:28

Ralph303
Membre
Lieu : St-Cyr l'Ecole
Inscription : 30-05-2009
Messages : 98
Site Web

Re : Passage de variables d'un formulaire à l'autre

J'ai bien dormi cette nuit et j'ai trouvé la solution en 2 minutes...
J'ai écrit ça mais je vais sans doute faire ce que tu dis:


<head>
<title>Document sans titre</title>
</head>
  <?php
    $variable="test";
    $str="
      <form method=\"post\" action=\"traitement.php?variable=$variable\">
    ";
    echo $str;
  ?>
    <input type="text" name="nom">
                        <input type="submit" value="OK">
  </form>
</body>
</html>
 

<?php
  $variable=$_GET['variable'];
  echo "Valeur de \$variable: ";
  echo $variable;
?>
 

Et ça donne:

Valeur de $variable: test


Maintenant que ça marche, je vais essayer de trouver la bonne syntaxe pour avoir un code propre.
Car pour moi aussi, la propreté du code est fondamentale.

En tous cas, merci à tous !

Ralph

Hors ligne

#12 07-06-2009 10:15:30

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : Passage de variables d'un formulaire à l'autre

C'est un peu difficile à lire avec tous les \.
Quand on affiche du code HTML avec echo, il est plus lisible en utilisant ' au lieu de ".
Par exemple :


<head>
<title>Document sans titre</title>
</head>
  <?php
    $variable="test";
   
    echo '<form method="post" action="traitement.php?variable=', $variable, '">';
   
  ?>
  <input type="text" name="nom">
  <input type="submit" value="OK">
  </form>
</body>
</html>
 

<?php
  $variable=$_GET['variable'];
 
   // Ne pas oublier ici de vérifier/valider le contenu de $variable

   echo 'Valeur de $variable: ', $variable;
 
?>
 

Alain.


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

Pied de page des forums