为什么PHP没有从我的选择中接收值?

时间:2015-04-30 15:10:13

标签: php html

  

注意:未定义的索引:第6行的C:\ xampp \ htdocs \ admin_reg_usuario.php中的perm_tipo

我从PHP页面收到此错误,该页面应该从a接收值 html select form,我用POST发送这个信息,这是我选择的代码:

<select name="perm_tipo">
            <?php
                 $con=mysql_connect("localhost","root","") or die(mysql_error());
                  mysql_select_db("test",$con) or die(mysql_error());              
                  $sql = "SELECT id_permiso,tipo_permiso FROM cat_permisos";              
                  $rs = mysql_query($sql) or die(mysql_error());

                while($row = mysql_fetch_array($rs)){ 
                   echo "<option value='".$row["id_permiso"]."'>".$row["tipo_permiso"]."</option>";            
                }
                mysql_free_result($rs); 

               mysql_close($con);
                ?>
            </select>

和另一个使用我使用的值

的php页面
$permiso = $_POST['perm_tipo'];

我不太确定我做错了什么,语法和名字都没问题。

编辑:现在正在工作,var_dump($ _ POST);代码使它工作??,= S

1 个答案:

答案 0 :(得分:0)

好的,所以你将表单提交到同一个PHP页面。

这意味着当您第一次访问该页面时,$_POST为空。点击提交后,当表单与$_POST一起发送到同一页面时,会填充perm_tipo

您需要确保使用$_POSTisset发送到您的PHP页面。这将检测您的表单何时提交。当$_POST为空时,这也不会执行代码,这就是您收到“Notice:”错误的原因。

<?php

if (isset($_POST['perm_tipo']))
{
    $con=mysql_connect("localhost","root","") or die(mysql_error());

    mysql_select_db("test",$con) or die(mysql_error());              
    $sql = "SELECT id_permiso,tipo_permiso FROM cat_permisos";              
    $rs = mysql_query($sql) or die(mysql_error());

    while($row = mysql_fetch_array($rs)){ 
        echo "<option value='".$row["id_permiso"]."'>".$row["tipo_permiso"]."</option>";            
    }
    mysql_free_result($rs); 

    mysql_close($con);
}

?>