如何使用PHP获取输入字段值

时间:2012-11-19 04:10:25

标签: php

我有一个输入字段如下:

<input type="text" name="subject" id="subject" value="Car Loan">

我想获取输入字段值Car Loan并将其分配给会话。我如何使用PHP或jQuery做到这一点?

7 个答案:

答案 0 :(得分:51)

使用PHP的$_POST$_GET superglobals通过HTML标记的名称检索输入标记的值。

例如,更改表单中的方法,然后按输入名称回显该值:

使用$_GET方法:

<form name="form" action="" method="get">
  <input type="text" name="subject" id="subject" value="Car Loan">
</form>

显示值:

<?php echo $_GET['subject']; ?>

使用$_POST方法:

<form name="form" action="" method="post">
  <input type="text" name="subject" id="subject" value="Car Loan">
</form>

显示值:

<?php echo $_POST['subject']; ?>

答案 1 :(得分:12)

使用PHP从表单中获取值的示例:

将其放入foobar.php:

<html>
<body>
  <form action="foobar_submit.php" method="post">
    <input name="my_html_input_tag"  value="PILLS HERE"/>

    <input type="submit" name="my_form_submit_button" 
           value="Click here for penguins"/>

    </form>
</body>
</html>

阅读以上代码,以便了解它的作用:

“foobar.php是一个包含HTML表单的HTML文档。当用户按下表单中的提交按钮时,表单的action属性运行:foobar_submit.php。表单将作为POST请求提交。在表单内部是一个名为“my_html_input_tag”的输入标签。它的默认值是“PILLS HERE”。这会导致文本框出现文本:“PILLS HERE”在浏览器上。右边是一个提交按钮,当单击它,浏览器URL将更改为foobar_submit.php,并运行以下代码。

将此代码放在与foobar.php相同的目录中的foobar_submit.php中:

<?php
  echo $_POST['my_html_input_tag'];
  echo "<br><br>";
  print_r($_POST); 
?>

阅读以上代码,以便了解它的作用:

上面的HTML表单填充了$ _POST超全局,其中键/值对表示表单内的html元素。 echo按键打印出值:'my_html_input_tag'。如果找到了密钥,则返回其值:“PILLS HERE”。

然后print_r打印出来自$ _POST的所有键和值,这样你就可以看到其中的其他内容。

名称为my_html_input_tag的输入标记的值已放入$ _POST,您在另一个PHP文件中检索它。

答案 2 :(得分:6)

您可以将值$value视为:

$value =  $_POST['subject'];

或:

$value = $_GET['subject'];,具体取决于使用的表单方法。

session_start();
$_SESSION['subject'] =  $value;

将值分配给会话变量主题。

答案 3 :(得分:3)

对于全球使用,您可以使用:

$val = $_REQUEST['subject'];

并添加您的会话,只需

session_start();
$_SESSION['subject'] =  $val;

在这种情况下你不需要jQuery。

答案 4 :(得分:2)

如果获取请求使用$_GET['subject']或其帖子请求使用,$_POST['subject']

答案 5 :(得分:2)

function get_input_tags($html)
{
    $post_data = array();

    // a new dom object
    $dom = new DomDocument; 

    //load the html into the object
    $dom->loadHTML($html); 
    //discard white space
    $dom->preserveWhiteSpace = false; 

    //all input tags as a list
    $input_tags = $dom->getElementsByTagName('input'); 

    //get all rows from the table
    for ($i = 0; $i < $input_tags->length; $i++) 
    {
        if( is_object($input_tags->item($i)) )
        {
            $name = $value = '';
            $name_o = $input_tags->item($i)->attributes->getNamedItem('name');
            if(is_object($name_o))
            {
                $name = $name_o->value;

                $value_o = $input_tags->item($i)->attributes->getNamedItem('value');
                if(is_object($value_o))
                {
                    $value = $input_tags->item($i)->attributes->getNamedItem('value')->value;
                }

                $post_data[$name] = $value;
            }
        }
    }

    return $post_data; 
}

error_reporting(~E_WARNING);
$html = file_get_contents("https://accounts.google.com/ServiceLoginAuth");

print_r(get_input_tags($html));

答案 6 :(得分:-2)

<form action="" method="post">
<input type="text" name="subject" id="subject" value="Car Loan">
<button type="submit" name="ok">OK</button>
</form>
<?php
if(isset($_POST['ok'])){
echo $_POST['subject'];
}
?>