Les $_POST et variable en php
Résolu/Fermé
A voir également:
- Les $_POST et variable en php
- Easy php - Télécharger - Divers Web & Internet
- Php natif - Forum PHP
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
3 réponses
yg_be
Messages postés
23317
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
10 novembre 2024
Ambassadeur
1 552
Modifié le 23 juil. 2017 à 10:01
Modifié le 23 juil. 2017 à 10:01
bonjour,
peux-tu poster le contenu de tes fichiers en texte, plutôt que poster des images?
je vois plusieurs anomalies dans ton fichier php:
- lignes 9 à 12, tu utilises tes variables avant de les avoir initialisées dans les lignes 13 à 14
- tes lignes 21, 25, 29, 33 ne servent à rien, tu ne récupères pas le résultat.
ce serait plus logique d'y mettre les lignes 9 à 12.
je te suggère de faire
la prochaine fois, peux-tu également décrire ton problème: message d'erreur, résultat bizarre?
peux-tu poster le contenu de tes fichiers en texte, plutôt que poster des images?
je vois plusieurs anomalies dans ton fichier php:
- lignes 9 à 12, tu utilises tes variables avant de les avoir initialisées dans les lignes 13 à 14
- tes lignes 21, 25, 29, 33 ne servent à rien, tu ne récupères pas le résultat.
ce serait plus logique d'y mettre les lignes 9 à 12.
je te suggère de faire
print_r $_POST;, pour comprendre ce que ton code php reçoit de la page html.
la prochaine fois, peux-tu également décrire ton problème: message d'erreur, résultat bizarre?
yg_be
Messages postés
23317
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
10 novembre 2024
Ambassadeur
1 552
23 juil. 2017 à 19:18
23 juil. 2017 à 19:18
suggestion pour ton select en html:
et le php récupérera dans $_POST['s'] le "value" sélectionnée.
<select name="s"> <option value="+">+</option> <option value="-">-</option> <option value="/">/</option> <option value="*">*</option> </select>
et le php récupérera dans $_POST['s'] le "value" sélectionnée.
Voila le message d'erreur apres le code:
( ! ) Parse error: syntax error, unexpected '$_POST' (T_VARIABLE) in /storage/emulated/0/www/Calcul/rs.php on line 7
Code
( ! ) Parse error: syntax error, unexpected '$_POST' (T_VARIABLE) in /storage/emulated/0/www/Calcul/rs.php on line 7
Code
<!DOCTYPE html> <head> </head> <body> <?php $nb=print_r $_POST['nombre']; $nbs=print_r $_POST['nombres']; $c=print_r $_POST['s']; $a=print_r $_POST['addition']; $s=print_r $_POST['soustraction']; $d=print_r _POST['division']; $m=print_r $_POST['multiplication']; $rea = $nb + $nbs; $res = $nb - $nbs; $red = $nb / $nbs; $m = $nb * $nbs; if ($c == $a) { $nb +$nbs; echo $rea; } if ($c == $s){ $nb - nbs; echo $res; } if ($c == $m){ $nb * nbs; echo $re; } if ($c == $d){ $nb / $nbs; echo $m; } ?> </body> </html>
yg_be
Messages postés
23317
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
10 novembre 2024
1 552
>
Utilisateur anonyme
24 juil. 2017 à 09:09
24 juil. 2017 à 09:09
l'instruction est
print_r ($_POST);
Utilisateur anonyme
>
yg_be
Messages postés
23317
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
10 novembre 2024
24 juil. 2017 à 12:17
24 juil. 2017 à 12:17
Ca marche MERCIII,
Mais un autre message d'erreur apparait:
( ! ) Notice: Undefined index: soustraction in /storage/emulated/0/www/Calcul/rs.php on line 7 à 13.
Sauriez vous m'aider?
Mais un autre message d'erreur apparait:
( ! ) Notice: Undefined index: soustraction in /storage/emulated/0/www/Calcul/rs.php on line 7 à 13.
Sauriez vous m'aider?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
24 juil. 2017 à 13:37
24 juil. 2017 à 13:37
Bonjour,
Les <option> ne renvoient pas de valeur, seul le <select> en renvoie une.
C'est pour ça que les $_POST['soustraction'], ['addition'], etc. n'existent pas.
Donc il ne faut pas faire $c == $a (resp. $s $d $m), mais $c == '+' (resp. '-' '/' '*')
Et supprimer les lignes $a = $_POST (resp. $s $d $m)
Xavier
Les <option> ne renvoient pas de valeur, seul le <select> en renvoie une.
C'est pour ça que les $_POST['soustraction'], ['addition'], etc. n'existent pas.
Donc il ne faut pas faire $c == $a (resp. $s $d $m), mais $c == '+' (resp. '-' '/' '*')
Et supprimer les lignes $a = $_POST (resp. $s $d $m)
Xavier
Utilisateur anonyme
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
24 juil. 2017 à 14:02
24 juil. 2017 à 14:02
Merci de ta réponse ainsi qu'a yg_be,
Mais voila un nouveau message d'erreur la je pense que ca vient de logiciel mais bon le voilà:
Parse error: syntax error, unexpected ')' in /storage/emulated/0/www/Calcul/rs.php on line 14
Et voila la ligne 14
Help me please
Mais voila un nouveau message d'erreur la je pense que ca vient de logiciel mais bon le voilà:
Parse error: syntax error, unexpected ')' in /storage/emulated/0/www/Calcul/rs.php on line 14
Et voila la ligne 14
if ($c == +){
Help me please
jordane45
Messages postés
38279
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2024
4 697
Modifié le 24 juil. 2017 à 15:07
Modifié le 24 juil. 2017 à 15:07
Bonjour,
Première erreur je pense .... le TYPE dans la FORM.
On utilise METHOD et non TYPE.
https://www.w3schools.com/tags/tag_form.asp
Voici ton code corrigé :
fichier rs.php
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Cordialement,
Jordane
Première erreur je pense .... le TYPE dans la FORM.
On utilise METHOD et non TYPE.
https://www.w3schools.com/tags/tag_form.asp
Voici ton code corrigé :
<!DOCTYPE html> <head> <title>Untitled</title> <meta charset="UTF-8"/> <link rel="stylesheet" href="c.css" type="text/css"/> </head> <body> <form method="post" action="rs.php"> <label for="nombre"></label> <input type="text" name="nombre" id="nombre"/> <select name="s"> <option name="addition">+</option> <option name="soustraction">-</option> <option name="division">/</option> <option name="multiplication">*</option> </select> <label for="nombres"></label> <input type="text" name="nombres" id="nombres"/> <input type="submit" value="envoyer" /> </form> </body> </html>
fichier rs.php
<?php //affichage des erreurs PHP error_reporting(E_ALL); ini_set('display-errors','on'); //Recupération PROPRE des variables AVANT de les utiliser $nb =!empty($_POST['nombre']) ? $_POST['nombre'] : NULL; $nbs = !empty($_POST['nombres']) ? $_POST['nombres'] : NULL; $c = !empty($_POST['s']) ? $_POST['s'] : NULL; if($nb && $nbs){ switch($c){ case "addition": $rea = $nb + $nbs; break; case "soustraction": $rea = $nb - $nbs; break; case "division": $rea = $nb / $nbs; break; case "multiplication": $rea = $nb * $nbs; break; default: $err = "Merci de choisir un type d'opération "; break; } }else{ $err = "Aucun chiffre n'a été saisi !"; } if(!empty($err)){ echo $err; }else{ echo $rea; } ?>
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Cordialement,
Jordane
Modifié le 23 juil. 2017 à 12:08
voila le code
<!DOCTYPE html>
<head>
<title>Untitled</title>
<meta charset="UTF-8"/>
<link rel="stylesheet" href="c.css" type="text/css"/>
</head>
<body>
<?php
$rea = $nb + $nbs;
$res = $nb - $nbs;
$red = $nb / $nbs;
$m = $nb * $nbs;
$nb=$_POST['nombre'];
$nbs=$_POST['nombres'];
$c=$_POST['s'];
$a=$_POST['addition'];
$s=$_POST['soustraction'];
$d=$_POST['division'];
$m=$_POST['multiplication'];
if ($c == $a) {
$nb +$nbs;
echo $rea;
}
if ($c == $s){
$nb - nbs;
echo $res;
}
if ($c == $m){
$nb * nbs;
echo $re;
}
if ($c == $d){
$nb / $nbs;
echo $m;
}
?>
</body>
</html>
<!DOCTYPE html>
<head>
<title>Untitled</title>
<meta charset="UTF-8"/>
<link rel="stylesheet" href="c.css" type="text/css"/>
</head>
<body>
<form type="post" action="rs.php">
<label for="nombre"></label>
<input type="text" name="nombre" id="nombre"/>
<select name="s">
<option name="addition">+</option>
<option name="soustraction">-</option>
<option name="division">/</option>
<option name="multiplication">*</option>
<label for="nombres"></label>
<input type="text" name="nombres" id="nombres"/>
<input type="submit"></input>
</form>
</body>
</html>
Modifié le 23 juil. 2017 à 12:12
( ! ) Parse error: syntax error, unexpected end of file in /storage/emulated/0/www/Calcul/rs.php on line 36
HELP ME PLEASE!!
<!DOCTYPE html>
<head>
</head>
<body>
<?php
$nb=print_r ['nombre'];
$nbs=print_r ['nombres'];
$c=print_r ['s'];
$a=print_r ['addition'];
$s=print_r ['soustraction'];
$d=print_r ['division'];
$m=print_r ['multiplication'];
$rea = $nb + $nbs;
$res = $nb - $nbs;
$red = $nb / $nbs;
$m = $nb * $nbs;
if ($c == $a) {
$nb +$nbs;
echo $rea;
if ($c == $s){
$nb - nbs;
echo $res;
if ($c == $m){
$nb * nbs;
echo $re;
if ($c == $d){
$nb / $nbs;
echo $m;
?>
</body>
</html>
23 juil. 2017 à 14:00
tu as supprimé les accolades fermantes, je pense que c'est cela qui cause l'erreur "parse".