2017-01-12 4 views
0

Ich habe ein Labor-Projekt, das eine einfache Polynom-Gleichung (a x^2 + b x + c) mit a, b, c in einer Form gegeben zu lösen. Ich habe diesen Code implementiert, aber es scheint, dass sogar das HTML-Skript nicht funktioniert. Ich brauche deine Hilfe wirklich, weil ich fast einen Tag damit verbracht habe, den Fehler zu finden, aber ich kann nichts falsch finden.Trinomial Gleichung Solver in PHP

<!DOCTYPE html> 
<html> 
    <meta charset="utf-8"/> 
    <head> 
     <title> 
      Exercise 2 
     </title> 
    </head> 
    <body> 
    <? if ((!isset($_POST['submit']))) 
    {?> 
     <h2>Please fill the trinomial coefficients a*x^2+b*x+c=0</h2> <br> 
     <form method="post"> 
     a= <input type="text" name="a" /> <br> 
     b= <input type="text" name="b" /> <br> 
     c= <input type="text" name="c" /> <br> 
     <input type="submit" value="Solve the equation" /> 
     </form> 
     <?php 
    } 
    else 
    { 
     $a=$_POST["a"]; 
     $b=$_POST["b"]; 
     $c=$_POST["c"]; 
     if ($a!=0) 
     { 
      $d=pow($b,2)-(4*a*c); 
      if ($d>=0) 
      { 
       $d=sqrt($d); 
       x1=(-$b-$d)/(2*$a); 
       x2=(-$b+$d)/(2*$a); 
       if (x1=x2) 
       { 
        echo ("1 solution: ". $x1); 
       } 
       else 
       { 
        echo ("Solutions x1 and x2 " .$x1. ", ". $x2); 
       } 
      } 
      else 
      { 
       $d=sqrt(-$d); 
       x1=-b/(2*$a); 
       x2=-$d; 
       x3=$d; 
       echo ("The trinomial has two complex solutions x1 and x2, which are: x1=". x1. " + ". x2. "*i and x2=". x1. " + ". x3. "*i"); 
      } 
     } 
     else 
     { 
      echo ("This is not a trinomial"); 
     } 
    } 
    ?> 
    </body> 
</html> 

Antwort

0

Dies funktioniert:

<!DOCTYPE html> 
<html> 
    <meta charset="utf-8"/> 
    <head> 
     <title> 
      Exercise 2 
     </title> 
    </head> 
    <body> 
    <?php if ((!isset($_POST['submit']))) 
    {?> 
     <h2>Please fill the trinomial coefficients a*x^2+b*x+c=0</h2> <br> 
     <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
     a= <input type="text" name="a" /> <br> 
     b= <input type="text" name="b" /> <br> 
     c= <input type="text" name="c" /> <br> 
     <input type="submit" name="submit" value="Solve the equation" /> 
     </form> 
     <?php 
    } 
    else 
    { 

     $a=$_POST["a"]; 
     $b=$_POST["b"]; 
     $c=$_POST["c"]; 
     if ($a!=0) 
     { 
      $d=pow($b,2)-(4*$a*$c); 
      if ($d>=0) 
      { 
       $d=sqrt($d); 
       $x1=(-$b-$d)/(2*$a); 
       $x2=(-$b+$d)/(2*$a); 
       if ($x1==$x2) 
       { 
        echo ("1 solution: ". $x1); 
       } 
       else 
       { 
        echo ("Solutions x1 and x2 " .$x1. ", ". $x2); 
       } 
      } 
      else 
      { 
       $d=sqrt(-$d); 
       $x1=-$b/(2*$a); 
       $x2=-$d; 
       $x3=$d; 
       echo ("The trinomial has two complex solutions x1 and x2, which are: x1=". $x1. " + ". $x2. "*i and x2=". $x1. " + ". $x3. "*i"); 
      } 
     } 
     else 
     { 
      echo ("This is not a trinomial"); 
     } 
    } 
    ?> 
    </body> 
</html> 
0

Fest einig Code, um einen Kommentar zu einem Dinge gemacht, die auch gereinigt Code festgestellt werden sollen.

<?php 
    if(isset($_POST['submit'])){ // had a syntax error with an extra (before isset also instead of checking if its not set just check if it is set makes it faster 
    //Submit has been pressed 
    $a=$_POST["a"]; 
    $b=$_POST["b"]; 
    $c=$_POST["c"]; 
     if ($a!=0){ 
     $d=pow($b,2)-(4*a*c); 
      if ($d>=0){ 
       $d=sqrt($d); 
       $x1=(-$b-$d)/(2*$a); 
       $x2=(-$b+$d)/(2*$a); 
       if ($x1=$x2){ 
        echo ("1 solution: ". $x1); 
       } else { 
        echo ("Solutions x1 and x2 " .$x1. ", ". $x2); 
       } 
      } else { 
       $d=sqrt(-$d); 
       $x1=-$b/(2*$a); 
       $x2=-$d; 
       $x3=$d; 
       echo ("The trinomial has two complex solutions x1 and x2, which are: x1=". x1. " + ". x2. "*i and x2=". x1. " + ". x3. "*i"); 
      } 
     } 
    } else { 
    //Submit has not been pressed yet 
    } 
?> 
<html> 
    <meta charset="utf-8"/> 
    <head> 
     <title> 
      Exercise 2 
     </title> 
    </head> 
    <body> 
     <h2>Please fill the trinomial coefficients a*x^2+b*x+c=0</h2> <br> 
     <form method="post"> 
     a= <input type="text" name="a" /> <br> 
     b= <input type="text" name="b" /> <br> 
     c= <input type="text" name="c" /> <br> 
     <input type="submit" value="Solve the equation" /> 
     </form> 
    </body> 
</html>