【发布时间】:2012-11-07 00:08:53
【问题描述】:
我有一个输入字段如下:
<input type="text" name="subject" id="subject" value="Car Loan">
我想获取输入字段值Car Loan 并将其分配给会话。如何使用 PHP 或 jQuery 做到这一点?
【问题讨论】:
标签: php
我有一个输入字段如下:
<input type="text" name="subject" id="subject" value="Car Loan">
我想获取输入字段值Car Loan 并将其分配给会话。如何使用 PHP 或 jQuery 做到这一点?
【问题讨论】:
标签: php
使用 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']; ?>
【讨论】:
使用 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 请求提交。在里面form 是一个名为“my_html_input_tag”的输入标签。它的默认值是“PILLS HERE”。这会导致一个文本框出现在浏览器上,其中包含文本:“PILLS HERE”。右侧是一个提交按钮,当您单击它,浏览器 url 更改为 foobar_submit.php 并运行以下代码。
把这段代码放到foobar_submit.php中,和foobar.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 文件中检索它。
【讨论】:
您可以将值$value 获取为:
$value = $_POST['subject'];
或:
$value = $_GET['subject'];,取决于使用的表单方法。
session_start();
$_SESSION['subject'] = $value;
该值已分配给会话变量主题。
【讨论】:
对于全球使用,您可以使用:
$val = $_REQUEST['subject'];
并添加您的会话,只需
session_start();
$_SESSION['subject'] = $val;
在这种情况下你不需要 jQuery。
【讨论】:
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));
【讨论】:
如果是获取请求使用,$_GET['subject'] 或者如果是发布请求使用,$_POST['subject']
【讨论】:
<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'];
}
?>
【讨论】: