Php 未在html中过帐的空输入类型

Php 未在html中过帐的空输入类型,php,html,post,input,Php,Html,Post,Input,我创建了一个PHP函数,它将为数据库中的任何表创建一个表单。此函数允许您指定表格的名称以及html表单中所需的所有列的列表。如果用户在文本输入中输入一些内容,那么一切都很好。如果没有,那么在尝试检索列名时会发生奇怪的事情。请参阅下面的函数 function generateSubmissionFromTable($db, $tablename, $rowstoinclude,$action) { $query = 'SHOW COLUMNS from '.$tablena

我创建了一个PHP函数,它将为数据库中的任何表创建一个表单。此函数允许您指定表格的名称以及html表单中所需的所有列的列表。如果用户在文本输入中输入一些内容,那么一切都很好。如果没有,那么在尝试检索列名时会发生奇怪的事情。请参阅下面的函数

function generateSubmissionFromTable($db, $tablename, $rowstoinclude,$action)
    {
        $query = 'SHOW COLUMNS from '.$tablename;   
        $colsresult = mysql_query($query,$db);

        $table = array();
        while($row = mysql_fetch_array($colsresult))
        {
            array_push($table,$row[0]);
        }

        $finalcolumns = array();
        foreach($table as $row)
        {
            foreach($rowstoinclude as $inc)
            {
                if($row == $inc)
                {
                    array_push($finalcolumns,$row);
                }
            }
        }
        echo '<form name="loginy" method="post" action="'.$action.'">';
        foreach($finalcolumns as $column)
        {
            echo 'Please enter the '.$column.'<br/>';
            echo '<input type=text name=column['.$column.'] value="blah"/><br/>';
        }
        echo '<input type="hidden" name="tablename" value="'.$tablename.'" />';         
        echo '<button type="button" size="4" style="font-size:35px;" onClick="document.loginy.submit()">Submit</button>';
        echo '</form>';
    }
例如,现在我有一个表,我想为3列(名称、链接、描述)输入它,我填写前2列,而不是底部,查询如下生成

QUERY=INSERT INTO LinksWebsites(name,link) VALUES (blah,blah,) 
正如您所看到的,查询缺少列(名称、链接、描述),但是如果您查看帖子,有什么奇怪的

POST =Array ( [column] => Array ( [name] => blah [link] => blah [description] => ) [tablename] => LinksWebsites )

它显示了所有的键,但是我提取键的PHP方法并没有显示所有的键!(可能与当前($array)和key($array)调用有关?

尝试在html中放置一个java脚本,在提交之前,您将在其中放置一个php函数,即文本输入不能为空

    <script>
    function validateForm()
    {
    if (inputbox==null || inputbox=="")
    {alert("Input should not be empty");
    return false; 
    }
    }
    </script>

函数validateForm()
{
如果(inputbox==null | | inputbox==“”)
{警报(“输入不应为空”);
返回false;
}
}

只需在表单标记中包含
onsubmit=“return validateForm()”

Wow。我永远不会使用此代码,建议您也停止使用它。它容易受到SQL注入的攻击<代码>mysql函数已被弃用,您应该使用
mysqli
PDO
。为什么在
啊,废话,)
分隔符
在和行中?@AarolamaBluenk除了发出SQL语句的实际调用之外,代码还有其他问题吗?我正在使用PHP来制作假人,所以我对这段代码没有太多的经验。
    <script>
    function validateForm()
    {
    if (inputbox==null || inputbox=="")
    {alert("Input should not be empty");
    return false; 
    }
    }
    </script>