OVH Cloud OVH Cloud

Formulaire et POST

13 réponses
Avatar
DB
Bonjour.

Je suis débutant en PHP.
J'ai essayé de créer un formulaire et de transmettre les variables à un
script PHP,
mais cela ne fonctionne pas.
Voici l'exemple :

Le formulaire :
<HTML><HEAD>
</HEAD>
<BODY>
<form action="action.php" method="post">
<p>Votre nom : <input type="text" name="nom" size="20" /></p>
<p>Votre age : <input type="text" name="age" size="20" /></p>
<p><input type="submit" value="OK"></p></form>
</body>
</html>

Le script action.php :
<HTML><HEAD>
</HEAD>
<BODY>
Bonjour, <?php echo $_POST["nom"] ; ?>.
Tu as <?php echo $_POST["age"] ; ?> ans.
</body>
</html>

Le script s'exécute mais les variables nom et age ne sont pas transmises!
Quelqu'un aurait-il une idée ?
Merci d'avance

10 réponses

1 2
Avatar
Sebastian Lauwers
DB wrote:

Bonjour.


Bonsoir,

[...]

Ceci marche, aussi chez vous?

<?php

if (!isset ($_POST['nom']) AND !isset ($_POST['age']) ) {

echo '<html><body>
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
Votre nom: <input name="nom" /><br />
Votre age: <input name="text" /><br />
<input type="Submit" value="OK"></form>
</body></html>';

}
else {

$nom = $_POST['nom'];
$age = $_POST['age'];

echo '<html><body>
Bonjour '.$nom.',<br />
Tu as '.$age.' ans.<br />
</body></html>';

}
?>

Merci d'avance


HTH,
Sebastian


--
The most likely way for the world to be destroyed,
most experts agree, is by accident.
That's where we come in; we're computer professionals.
We cause accidents.
--Nathaniel Borenstein

Avatar
Sebastian Lauwers
autant pour moi, j'avais corrigé l'erreur dans mon éditeur de code, mais
j'ai oublié de la corriger dans la réponse.

C'est <input name="age" /> et non pas <input name="text" />

--
The most likely way for the world to be destroyed,
most experts agree, is by accident.
That's where we come in; we're computer professionals.
We cause accidents.
--Nathaniel Borenstein
Avatar
Paul Delannoy
DB a écrit:
Bonjour.

Je suis débutant en PHP.
J'ai essayé de créer un formulaire et de transmettre les variables à un
script PHP,
mais cela ne fonctionne pas.


C'est sans doute un pb de syntaxe. Essaie avec $_POST['nom'] plutot.
et puis mets aussi method="POST" dans le formulaire d'appel, c'est
mieux, je crois.
J'eqça

Avatar
Saad Saad
Salut,

ton script à l'air d'être juste et fonctionne chez moi.

Est-tu sur que php fonctionne bien ?

un simple petit test pour contrôler

<html>
<body>
<?

print "Hello World !";

?>
</body>
</html>

Si Hello World ! n'apparaît pas c'est que le php ne s'exécute pas, tu
n'es peut-être pas dans un dossier virtuel !

Sinon, voici un petit truc (plus court à écrire)
au lieu de mettre :

<?php echo $_POST["nom"] ; ?>

c'est plus court de mettre :

<?=$_POST["nom"]?>


bonne chance

--
Saad Saad




DB wrote:
Bonjour.

Je suis débutant en PHP.
J'ai essayé de créer un formulaire et de transmettre les variables à un
script PHP,
mais cela ne fonctionne pas.
Voici l'exemple :

Le formulaire :
<HTML><HEAD>
</HEAD>
<BODY>
<form action="action.php" method="post">
<p>Votre nom : <input type="text" name="nom" size="20" /></p>
<p>Votre age : <input type="text" name="age" size="20" /></p>
<p><input type="submit" value="OK"></p></form>
</body>
</html>

Le script action.php :
<HTML><HEAD>
</HEAD>
<BODY>
Bonjour, <?php echo $_POST["nom"] ; ?>.
Tu as <?php echo $_POST["age"] ; ?> ans.
</body>
</html>

Le script s'exécute mais les variables nom et age ne sont pas transmises!
Quelqu'un aurait-il une idée ?
Merci d'avance


Avatar
Mat Free
J'ai essayé de créer un formulaire et de transmettre les variables à un
script PHP, mais cela ne fonctionne pas.

Le script action.php :
Bonjour, <?php echo $_POST["nom"] ; ?>.
Tu as <?php echo $_POST["age"] ; ?> ans.

Le script s'exécute mais les variables nom et age ne sont pas transmises!


Quelle version de php utilises tu?
Que donne print_r($_POST); dans action.php ?

--
Mat

Avatar
Ronnie Garcia
Paul Delannoy wrote:
DB a écrit:

Bonjour.

Je suis débutant en PHP.
J'ai essayé de créer un formulaire et de transmettre les variables à un
script PHP,
mais cela ne fonctionne pas.



[...]

et puis mets aussi method="POST" dans le formulaire d'appel, c'est
mieux, je crois.


Conformément aux recommendations xhtml, on ecrit : method="post"
et non pas : method="POST"

--
Ronnie Garcia <ronnie at mk2 dot net>


Avatar
Ronnie Garcia
Saad Saad wrote:

[...]

Sinon, voici un petit truc (plus court à écrire)
au lieu de mettre :

<?php echo $_POST["nom"] ; ?>

c'est plus court de mettre :

<?=$_POST["nom"]?>


Avec l'inconvénient de perdre en portabilité.
En effet cela ne fonctionnera plus sur les serveur ou l'option
"short_open_tag" est désactivée.

--
Ronnie Garcia <ronnie at mk2 dot net>

Avatar
Sebastian Lauwers
Saad Saad wrote:

Salut,


Bonsoir,

c'est plus court de mettre :

<?=$_POST["nom"]?>


Nottez qu'il faut que les shorts tags soient activés pour ceci.

HTH,
S.


--
The most likely way for the world to be destroyed,
most experts agree, is by accident.
That's where we come in; we're computer professionals.
We cause accidents.
--Nathaniel Borenstein

Avatar
Transat :O)
"DB" a ecrit avec 2 doigts
news:cflv18$g76$:

Bonjour.

Je suis débutant en PHP.
J'ai essayé de créer un formulaire et de transmettre les variables à un
script PHP,
mais cela ne fonctionne pas.
[...]
Le script s'exécute mais les variables nom et age ne sont pas transmises!
Quelqu'un aurait-il une idée ?
Merci d'avance



Salut,

fais-tu le test en local avec EasyPHP ?

j'ai le meme souci que toi, en testant en local je ne transmet que des
champs vide. Mais en testant le script sur mon site le formulaire passe de
facon impeccable.

A priori, cela doit venir d'une extension Php qui n'est pas demarree. Reste
a deviner laquelle... ?

za+

--
Transat :O)

Avatar
Thibaut Allender

j'ai le meme souci que toi, en testant en local je ne transmet que des
champs vide. Mais en testant le script sur mon site le formulaire passe de
facon impeccable.


ta version de easyphp est surement configuree en register_globals off,
alors qu'en ligne tu es en on, et que tu tentes de recuperer la valeur
de l'input "toto" par $toto au lieu de $_REQUEST['toto']

A priori, cela doit venir d'une extension Php qui n'est pas demarree. Reste
a deviner laquelle... ?


php n'a pas besoin d'extension pour recuperer des variables transmises
via les methodes POST ou GET...

--
thibaut allender | freelance | http://capsule.org

1 2