51

我有一个输入字段如下:

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

我想获取输入字段值Car Loan并将其分配给会话。如何使用 PHP 或 jQuery 执行此操作?

4

7 回答 7

74

使用 PHP$_POST$_GET超全局变量通过 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']; ?>
于 2012-11-19T04:22:37.997 回答
20

使用 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 会发生变化tofoobar_submit.php并运行以下代码。

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

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

阅读上面的代码,你就会知道它在做什么:

上面的 HTML 表单用代表表单内 html 元素的键/值对填充了 $_POST 超全局变量。echo 通过键打印出值:'my_html_input_tag'。如果找到键,它就是,它的值被返回:“PILLS HERE”。

然后 print_r 打印出 $_POST 中的所有键和值,以便您可以查看其中还有什么。

带有 name= 的输入标签的值my_html_input_tag被放入 $_POST 并且您在另一个 PHP 文件中检索它。

于 2014-04-02T19:21:32.847 回答
8

您可以将值$value设为:

$value =  $_POST['subject'];

或者:

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

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

该值被分配给会话变量主题。

于 2012-11-19T04:15:05.677 回答
4

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

$val = $_REQUEST['subject'];

并添加您的会话,只需

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

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

于 2012-11-19T04:22:12.260 回答
3
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));
于 2017-05-27T20:42:02.980 回答
2

如果它是一个获取请求使用,$_GET['subject']或者如果它是一个发布请求使用,$_POST['subject']

于 2012-11-19T04:15:10.073 回答
1
<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'];
}
?>
于 2017-11-13T04:03:58.657 回答