2017-01-12 34 views
0

我有一个实验室项目,需要解决一个简单的多项式方程(a x^2 + b x + c),其中a,b,c是一个形式。我实现了这个代码,但似乎即使是html脚本也不起作用。我真的需要你的帮助,因为我花了将近一天的时间来找出错误,但我找不到任何错误。在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> 

回答

0

这工作:

<!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

修正了一些代码,做了一个评论一件事情,应注意清洗也代码。

<?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>