Debutant cher pourquoi ca va pas :)

Signaler
Messages postés
8
Date d'inscription
vendredi 11 février 2005
Statut
Membre
Dernière intervention
2 juillet 2007
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
bonjour à tous,



je tient avant tout a présiser que je ne suis qu'un amateur, je debut et j'ai un problème qui ne ce posait pas avant :



voici un code sence calculer le delta en fonction de chiffre donne dans un formulaire:



<?php

$a=$_POST["a"];

$b=$_POST["b"];

$c=$_POST["c"];



$div=2*$a;





$delta=$b*$b-4*$a*$c;





if ($delta=0) { $x='-$b/$div'; }

if ($delta<0) print("pas de solution");

if ($delta>0) { $x1='-b+rac($delta)/$div; $x2=-b-rac($delta)/$div'; }



print("
delta=");

print("
$delta");

print("le(s) reponces sont");

print("$x, $x1, $x2");



?>



bon, c'est du bricolas d'amateur



lorsque que je l'exectute rien ne marche et c'est erreur sont afficher :



delta=

0le(s) reponces sont


Notice: Undefined variable: x in c:\program files\easyphp1-8\www\delta.php on line 25





Notice: Undefined variable: x1 in c:\program files\easyphp1-8\www\delta.php on line 25





Notice: Undefined variable: x2 in c:\program files\easyphp1-8\www\delta.php on line 25


, ,



pour tester mes script j'utilise EasyPHP1-8



je suis perdu svp aider moi

13 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,



il ne se posait pas avant car ta configuration de php (php.ini) a changé.

L'error_reporting est à E_ALL sans doute, maintenant (je te laisse
chercher dans la doc sur ce point). Et c'est très bien, c'est une bonne
habitude de programmation :-)



L'erreur dit que tes variables ne sont pas définies.



Pourquoi.... :

if ($delta=0) { $x='-$b/$div'; } => ceci est faux.

if ($delta==0) { $x='-$b/$div'; } => l'operateur de comparaison ici est == et non pas un simple =.

Ici tu as assigné 0 à $delta...

Puis on passe à la condition suivante :

if ($delta < 0) => on ne rentre pas, puisque tu as assigné 0 à $delta...

if ($delta > 0)) => idem

Bref la 1ère condition n'en est pas une (enfin si, tu demandes si
l'assignation à 0 de $delta est ok. Elle l'est toujours)., et tu ne
rentres pas dans les 2 autres, donc tes $x n'existent en effet pas, au
moment où tu essayes de les afficher.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Bref, change if ($delta == 0) et tout marchera bien; normalement.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Voire $delta === 0 mais c'est une autre explication...
Messages postés
261
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
27 septembre 2008

Bonjour a toi, ne t inquiete pas moi aussi je suis un amateur
J ai fait un script qui fait exactement la meme chose et il marche tres bien la je vais le faire pour les complexes mais vois tu certains ici te diront que je suis un boulet donc il ne vaut mieux pas que je te reponde.
Mais ne t inquiete pas des supermembres vont venir te repondre mais attention ! il y a des centaines de scripts comme celui ci donc tu aurai pu trouver la solution ailleurs en analysant ces scripts (attention a toi)
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
" if ($delta=0) { $x='-$b/$div'; }

if ($delta<0) print("pas de solution");

if ($delta>0) { $x1='-b+rac($delta)/$div; $x2=-b-rac($delta)/$div'; }



print("
delta=");

print("
$delta");

print("le(s) reponces sont");

print("$x, $x1, $x2");"



Normal tout ca :)



tu devrais plutôt faire :



<?php

if ( $delta == 0 ) {

$x = '-$b/$div';

echo 'La solution est : '.x;

} elseif ( $delta < 0 {

echo 'Pas de solution possible';

} else {

$x1='-b+rac($delta)/$div;

$x2=-b-rac($delta)/$div';

echo 'Les solutions possibles sont : x1 => '.$x1.' et x2 => '.$x2;

}

?>



La ca marche :)
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,



adess00 > oui on sait...



phenix88be > essaie ça :



<?php

if(isset($_POST['a']) AND isset($_POST['b']) AND isset($_POST['c']))

{

$a=$_POST['a'];

$b=$_POST['b'];

$c=$_POST['c'];



$div=2*$a;





$delta=$b*$b-4*$a*$c;





if ($delta===0)

{

$x=-$b/$div;

}

elseif ($delta<0) echo 'pas de solution';

elseif ($delta>0)

{

$x1=-$b+sqrt($delta)/$div;

$x2=-$b-sqrt($delta)/$div;

}



echo ' delta=',$delta,'


le(s) reponces sont : ',$x,', ',$x1,', ',$x2;

?>



ça devrait fonctionner :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
j'ai oublié une accolade :



<?php

if(isset($_POST['a']) AND isset($_POST['b']) AND isset($_POST['c']))

{

$a=$_POST['a'];

$b=$_POST['b'];

$c=$_POST['c'];



$div=2*$a;





$delta=$b*$b-4*$a*$c;





if ($delta===0)

{

$x=-$b/$div;

}

elseif ($delta<0) echo 'pas de solution';

elseif ($delta>0)

{

$x1=-$b+sqrt($delta)/$div;

$x2=-$b-sqrt($delta)/$div;

}



echo ' delta=',$delta,'


le(s) reponces sont : ',$x,', ',$x1,', ',$x2;

}

?>

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
261
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
27 septembre 2008

Mais vous etes vraiment des connards.C est hallucinant !!
Vous faites exactement le contraire de ce que vous pretendez ne pas faire.Faut vraiment etre con pour faire sa. J ai jamais vu des gens aussi stupides.
J etai presque dans le meme cas mais lui c encore pire il ne fait aucun effort franchement pour ecrire sa if ($delta=0).
Enfin, comment argumenter avec des gens qui se contredise, c est impossible.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Ta gueule boulet ;-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Toujours un problème avec le header() adess00 ? Même en te donnant le
lien, en te le recopiant, et en te le ré-expliquant 4 ou 5 fois ?



Ca devient grave la...:/
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Si encore il n'avait qu'un problème avec le header...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Chui sur qu'il t'aime :)
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
j'ai surtout pitié de lui en fait...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>