-2

下面的代码在没有给出值时返回一个错误字符串,因为我不想通过默认的“0”来验证空白,所以我使用了 if(!empty()){ //code },; 请有人帮我找出使用此语句的正确方法,因为我有大约 100 个文本框,并且错误会很长,以至于用户在验证 for 后会害怕。请任何贡献都会有很大帮助。提前致谢

  <html>
  <head>
     <title>xxx</title>
     <link rel="stylesheet" type="text/css" href="tbl.css" />
  </head>

  <body>

  <div id='main' >

  <div id='table' >

  <form action="tbl1.php" method="POST" name="calculator" >


   <div id='table1' > 
      <table width='' border='3' cellpadding='' cellspacing='' align='center'>
<tr><th colspan='2'>Maths</th></tr>
<tr><th title='ingredients'>Input</th><th>Grade <sub>G<sub>g</sub></sub></th></tr>
<tr><th>Input 1: </th><td><input type="text" name="input1"><br/></td></tr>
<tr><th>Input 2: </th><td><input type="text" name="input2"><br/></td></tr>


<tr><th colspan='2'><input type="submit" name="validate1" value="OK" /></th></tr>
   </table>
   </div>

   </form>
   </div>
     </div>

      </body>
     </html>

  <?php
   $casa=$_POST['input1'];
   $ice=$_POST['input2'];

   if (isset($_POST['validate1'])){


 if(!empty($casa)){

 $wcasa=($casa + 0.62);
 $ecasa=($casa + 1.45);
 $rcasa=($casa + 0.012);
 /*return FALSE;*/
 }
  if(!empty($ice)){
 $wice=($ice + 0.68);
     $eice=($ice + 1.38);
      $pice=($ice + 0.026);
     }

 ?>
      <div id='data' >
        <table width='' border='3' cellpadding='' cellspacing='' align='center'>
      <caption><h2><?php echo 'Your result is: '?></h2></caption>
     <tr><th>Wax</th></th><th>Ep</th><th>Fought</th></tr>
    <tr><td><?php echo '<b>'.$w.'</b>';?></td><td><?php echo '<b>'.$e.'</b>';?>
     </td><td><?php         
      echo '<b>'.$p.'</b>';?></td></tr>
    <tr><td></td><td></td></tr>
  <tr><td></td><td></td></tr>

     <?php  
   }

?>

4

1 回答 1

2

重写这部分代码:

$casa=$_POST['input1'];
$ice=$_POST['input2'];

对此:

if (!empty($_POST['input1']))
  $casa = $_POST['input1'];
if (!empty($_POST['input2']))
  $ice = $_POST['input2'];

它应该工作:)

于 2013-08-11T12:28:42.737 回答