我有一个输入字段如下:
<input type="text" name="subject" id="subject" value="Car Loan">
我想获取输入字段值Car Loan
并将其分配给会话。我如何使用PHP或jQuery做到这一点?
答案 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'];
}
?>