Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取所有输入字段和值_Php_Html_Dom_Domdocument - Fatal编程技术网

Php 如何获取所有输入字段和值

Php 如何获取所有输入字段和值,php,html,dom,domdocument,Php,Html,Dom,Domdocument,如何使用php从HTML表单中获取包含type=“text”的所有输入字段?这是我的代码: if(isset($\u POST['submit'])){ $dom=新的DOMDocument(); 打印“”; foreach($dom->getElementsByTagName(“输入”)作为$inputs){ 打印$inputs->value.“/”$inputs->name.“”; } 打印“”; } 我还将从每个输入字段中获取名称和值。如果我运行我的代码,我什么也得不到。以下是我的htm

如何使用php从HTML表单中获取包含
type=“text”
的所有输入字段?这是我的代码:

if(isset($\u POST['submit'])){
$dom=新的DOMDocument();
打印“”;
foreach($dom->getElementsByTagName(“输入”)作为$inputs){
打印$inputs->value.“/”$inputs->name.“
”; } 打印“”; }
我还将从每个输入字段中获取名称和值。如果我运行我的代码,我什么也得不到。以下是我的html代码:

$data = $_REQUEST;
unset($data["submit"]);
print_r($data);
这可能会对您有所帮助

<input name="text[3]" type="text" value=""/>
<input name="text[4]" type="text" value=""/>

为什么不把输入元素和它们的名字结合起来呢

        $str='
        <form action="" method="post">
            <input name="1" type="text" value="Can you help me?"/>
            <input name="2" type="text" value="Thanks"/>
            <input name="3" type="text" value=""/>
            <!--and a lot more input fields.-->
            <select name="fred"><option value=1>1</select>
            <input type="checkbox" name="bert" value=1>
            <input type="radio" name="wilma" value=1 />
            <textarea name="sue"></textarea>
            <input name="submit" type="submit" value=""/>
        </form>';   

        $dom = new DOMDocument;
        $dom->loadHTML( $str );
        $xpath = new DOMXpath( $dom );
        $col=$xpath->query('//form/input|//form/textarea');

        if( is_object( $col ) ){
            foreach( $col as $node ) echo $node->tagName.' '.$node->nodeValue.'<br />';
        }


它将以数组形式出现$\u POST

使用DOMDocument,您可以调用xpath查询来查找如下元素:-

$col=$xpath->query('//form/input[@type="text"]');

所有提交的数据都将在
$\u POST
数组中。未设置$\u POST[“提交”]是否返回前3个输入?
$col=$xpath->query('//form/input[@type="text"]');