[RESOLU] Variable non définie

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Variable non définie

Re: Variable non définie

par Jahrom » 05 mars 2021, 15:45

Ok merci pour l'info :wink:

Re: Variable non définie

par Saian » 05 mars 2021, 15:41

Si tu utilises la balise code ou php l'indentation du code est bien conservée. ;)

Re: Variable non définie

par Jahrom » 05 mars 2021, 15:34

Merci pour ta réponse. Pour l'indentation, ici c'est un copier-coller donc tout s'ajuste sur la gauche mais j'utilise PhpStorm et c'est effectué dans le logiciel.
J'ai trouvé l'erreur, c'est un problème de majuscule minuscule pour le 'submit'.

//ici Submit avec S majuscule
<input name="Submit" type="submit" value="Calculer">

et

//ici submit avec S minuscule
if (isset ($_POST["submit"])) {

Merci d'avoir pris le temps de répondre :D

Re: Variable non définie

par Spols » 05 mars 2021, 10:20

En régle genarale, on peut initier une variable en lui donnant une valeur nulle ou une chaine vide
$var = '';
ou
$var = null
mais bien souvent on se contente de savoir si elle est initier ou non vide avec isset ou empty avant de l'utiliser afin de gérer le cas ou elle n'éxiste pas.

mais ce n'est pas ce que je te conseillerai.
regarde ton code, indente le pour mieux comprendre l'ordre des conditions et dis toi que si $_POST['submit'] n'est pas initier, inutile de récupèrer $nombre1, $operator et $nombre2. un autre ordre est possible et résoudra ton problème

Variable non définie

par Jahrom » 04 mars 2021, 17:14

Bonjour à tous,

J'ai un petit soucis, je dois afficher le résultat d'une variable ($result) dans le navigateur.
Le soucis c'est que cette variable n'est pas définie , je ne sais pas comment la définir en dehors de la condition sachant quelle utilise 2 autres variables pour donner son résultat.
Pour info il s'agit d'un exercice de création d'une "calculatrice".

Merci d'avance pour votre aide

Voici le code :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>

<HEAD>
<TITLE>Calculatrice</TITLE>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
</HEAD>

<BODY>

<form method="POST" action="Calculatrice.php">
<input name="number1" type="text" placeholder="Renseigner un premier nombre" style="width : 200px">
<select name="operator">
<option value ="plus">+</option>
<option value ="moins">-</option>
<option value ="multiplié par">x</option>
<option value ="divisé par">/</option>
</select>
<input name="number2" type="text" placeholder="Renseigner un second nombre" style="width : 200px">
<input name="Submit" type="submit" value="Calculer">
</form>

<?php

$number1 = isset($_POST["number1"]) ? $_POST["number1"] : '';
$operator = isset($_POST["operator"]) ? $_POST["operator"] : '';
$number2 = isset($_POST["number2"]) ? $_POST["number2"] : '';

if ($number1 && $operator && $number2) {
if (isset ($_POST["submit"])) {
if (is_numeric($number1) && is_numeric($number2)) {
if ($operator == "plus") {
$result = $number1 + $number2;
}
if ($operator == "moins") {
$result = $number1 - $number2;
}
if ($operator == "multiplié par") {
$result = $number1 * $number2;
}
if ($operator == "divisé par") {
$result = $number1 / $number2;
}
}
}
echo "<h1>Le résultat de $number1 $operator $number2 est égal à $result.</h1>";
} else {
echo "Veuillez saisir des valeurs et cliquez sur \"Calculer\" pour obtenir le résultat";
}
?>