OVH Cloud OVH Cloud

comment renvoyer un resultat dans zone texte

2 réponses
Avatar
jmarc
dans le fichier suivant

<html>
<form >

<p>
<input type="text" name="var1">
</p>
<p>
<input type="text" name="var2">
</p>
<p>
<input type="text" name="result">
</p>
<p>
<input type="submit" name="Submit" value="Envoyer">
</p>
</form>
<?php
$p_var1=$_POST['var1'];
$p_var2=$_POST['var2'];
$res=$p_var1 * $p_var2;
echo($res);
?>
</p>
</html>


j'ai les messages d'erreur suivants:
Notice: Undefined index: var1 in c:\program files\easyphp1-7\www\index.php
on line 12

Notice: Undefined index: var2 in c:\program files\easyphp1-7\www\index.php
on line 13


là je tourne en rond


et je souhaiterais écrire dans la troisième zone de texte le resultat

merci

2 réponses

Avatar
Olivier Miakinen
Le 28/11/2004 00:54, jmarc a posé sensiblement la même question que la
veille :

dans le fichier suivant


( je résume un peu pour la clarté de la réponse )

<form >
<input type="text" name="var1">
<input type="submit" name="Submit" value="Envoyer">
</form>
<?php
$p_var1=$_POST['var1'];
?>

j'ai le[] message[] d'erreur suivant[]:
Notice: Undefined index: var1 in c:program fileseasyphp1-7wwwindex.php

là je tourne en rond


Tu as bien pris en compte la réponse à la demande de Bernard Bigourd, à
savoir remplacer $var1 par $_POST['var1'] (*) mais tu n'as absolument
pas vu la différence essentielle entre ce que lui avait initialement et
ce que tu as toi-même : l'utilisation de *deux* fichiers au lieu d'un,
et le fait que le formulaire du premier fichier appelle le script du second.

(*) Il vaudrait mieux utiliser $_REQUEST['var1']. Pour savoir pourquoi,
consulte les archives du groupe, par exemple les articles de John Gallet.


Allez, parce que j'ai la nuit devant moi, voici comment modifier ton
exemple pour que ça ressemble à quelque chose.


Premier fichier, nommé par exemple fichier1.html ou fichier1.php :
-----------------------------------------------------------------
<html>
<head>
</head>
<body>
<form action="fichier2.php" method="post">
<p>
<input type="text" name="var1">
</p>
<p>
<input type="text" name="var2">
</p>
<p>
<input type="text" name="result">
</p>
<p>
<input type="submit" name="Submit" value="Envoyer">
</p>
</form>
</body>
</html>

Second fichier, nommé fichier2.php :
-----------------------------------------------------------------
<html>
<head>
</head>
<body>
<?php
$p_var1=$_REQUEST['var1'];
$p_var2=$_REQUEST['var2'];
$res=$p_var1 * $p_var2;
echo($res);
?>
</body>
</html>


Voilà, il y a plein de trucs à ajouter pour en faire du HTML valide,
mais ça te donne une idée. Pour le reste, les questions seront à poser
plutôt dans <news:fr.comp.www.infosystemes.auteurs>.

Avatar
gmi2a
X-No-Archive: yes
Restrict: no-external-archive
"jmarc" a écrit dans le message de
news:41a90faf$0$791$
dans le fichier suivant
.......

j'ai les messages d'erreur suivants:
......

et je souhaiterais écrire dans la troisième zone de texte le resultat


Bonjour,

Je ne suis pas sur d'avoir tout compris, mais voici une solution :.

.......................... a sauver sous : test.php ......................
<html>
<?php
error_reporting (E_ALL);

//phpinfo(); // Pour voir les diverses variables de PHP

// $_REQUEST["var1"] contient les cookies et les <form> POST ou GET
// $_GET["var1"] contient le <form> GET
// $_POST["var1"] contient le <form> POST

if (isset($_REQUEST["var1"]) && isset($_REQUEST["var2"])){
if (isset($_REQUEST["var1"])){
$p_var1=(int)$_REQUEST["var1"];
}
if (isset($_REQUEST["var2"])){
$p_var2=(int)$_REQUEST["var2"];
}
$res=$p_var1 * $p_var2;
// echo($res);
}
?>
<form method='POST'>
<p>
<input type="text" name="var1" type=int value="<?php print
(isset($p_var1)?$p_var1:"");?>">
</p>
<p>
<input type="text" name="var2" type=int value="<?php print
(isset($p_var2)?$p_var2:"");?>">
</p>
<p>
<input type="text" name="result" type=int value="<?php print
(isset($res)?$res:"");?>" >
</p>
<p>
<input type="submit" name="Submit" value="Envoyer">
</p>
</form>
</html>
..........................

Voila.


Cordialement
--
G.M.