2013-04-21 66 views
0

好吧,我有一个基本上像订单的脚本。不过,我唯一的输入选项是单选按钮。当我运行我的脚本时,我注意到它反转错误。相反,我希望它显示和清空字段。页面发回自己,并在提交之前更新我在底部留下的空白框。提交后,细节被填入众多。如果这有什么不同,我也使用了一个二维数组。所以我的问题是在表单中的空变量。我无法解决这个问题,我想这可能是我使用它的方式。对于接收数据的变量,我得到一个未定义的索引错误。在这种情况下,$settype$differentype作为错误出现,因为它们被定义为文本框中的任何内容。我认为通过使用empty()我可以消除这个问题。当然,我没有正确处理它。任何人都可以给我一些指导吗?谢谢。来自HTML表单的未定义值的PHP变量

<form name="form1" method="POST" action="order.php"> 
    <input type="radio" name="set" value="1" /> 1 
    <input type="radio" name="set" value="2" /> 2 
    <input type="radio" name="set" value="3" /> 3 
    <input type="radio" name="different" value="a" /> a 
    <input type="radio" name="different" value="b" /> 
    <input type="radio" name="different" value="c" /> 
    <input type="submit" name="submit1" value="login" /> 
</form> 

<?php 
    if(isset($_POST['submit'])) { 
     $settype = $_POST['set']; 
     $differentype = $_POST['different']; 
     if ($settype == '1' && $differenttype =='a'){ 
      $order = $field[0][1]; 
     } 
     if (empty($settype) && empty($differenttype)){ 
      $order = ""; 
     } 
    } 
?> 

<table> 
    <tr> 
     <td> 
      <?php print($order); ?> 
     </td> 
    </tr> 
</table> 
+0

@Joseph西尔伯感谢youfor固定我的代码。 – user2235005 2013-04-21 03:34:47

+0

您错过了一个关闭的PHP标签(bafore'

'),'differenttype'缺少'$'。 – 2013-04-21 03:39:15

+0

在我的实际代码中,它有$,它有结束标记。 – user2235005 2013-04-21 03:47:08

回答

0

您的输入内容提交哪里?这样<input type="submit" name="submit" value="submit" />

编辑1:你应该有一个默认的单选按钮选择的值一样

<input type="radio" name="set" value="1" checked="checked"/> 1 
<input type="radio" name="different" value="a" checked="checked" /> a 
+0

是的,它是这种格式。 user2235005 2013-04-21 03:44:54

+0

它不在您的代码中。我想这只是一个错字。如果它是'name =“submit1”'所以你的代码应该是'if(isset($ _ POST ['submit1'])){' – Amir 2013-04-21 03:50:47

+0

我原来的代码确实有submit1。其他一切正常。事实上,当我使用WAMP服务器打开文件时,不会显示任何错误。但是,当我按提交没有选择任何单选按钮,我得到一个错误,$ settype和$ diferenttype有一个未定义的索引。 – user2235005 2013-04-21 04:09:07