Debutant cher pourquoi ca va pas :)

phenix88be Messages postés 8 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 2 juillet 2007 - 9 sept. 2005 à 16:49
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 10 sept. 2005 à 00:35
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

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 sept. 2005 à 16:55
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.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 sept. 2005 à 16:55
Bref, change if ($delta == 0) et tout marchera bien; normalement.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 sept. 2005 à 16:56
Voire $delta === 0 mais c'est une autre explication...
0
adess00 Messages postés 261 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 27 septembre 2008 1
9 sept. 2005 à 17:01
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
9 sept. 2005 à 17:30
" 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 :)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 sept. 2005 à 17:54
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>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 sept. 2005 à 18:03
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>
0
adess00 Messages postés 261 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 27 septembre 2008 1
9 sept. 2005 à 18:04
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.
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 sept. 2005 à 18:04
Ta gueule boulet ;-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
9 sept. 2005 à 23:05
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...:/
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 sept. 2005 à 23:12
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>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
10 sept. 2005 à 00:13
Chui sur qu'il t'aime :)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
10 sept. 2005 à 00:35
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>
0
Rejoignez-nous