在php中的会话变量中输入字段值

时间:2010-01-13 00:26:01

标签: php javascript session variables

我们可以在会话变量中使用输入类型值而无需任何表单提交

就像有一个输入字段  现在我想在$ _session ['anyname']中保存上面的输入字段值;当页面中没有表格时。

3 个答案:

答案 0 :(得分:1)

在set.php中:

<?php

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

?>

非表单形式 page.php:

<?php session_start() ?>
<html>
<head>
<script type="text/javascript"
  src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
function setVal()
{
  var val = jQuery('#value').val()
  alert('Setting the value to "' + val + '"')
  jQuery.post('set.php', {value: val})
  alert('Finished setting the value')
}
jQuery(document).ready(function() {
  setTimeout('setVal()', 3000)
})
</head>
<body>

<form>
<input id="value" type="text" name="value" value="value">
<input id="value2" type="text" name="value2" value="value2">
</form>

</body>
</html>

这将记录该值(延迟3秒后)

在test.php中测试它:

<?php

session_start();
echo '<pre>';
echo htmlentities(var_export($_SESSION, true));
echo '</pre>';

?>

现在它在您的会话中没有表单提交

答案 1 :(得分:0)

我想你最好的办法是设置一个单独的PHP脚本,通过Javascript调用查询字符串(ajax.php?key=value)中的输入字段信息,并将该信息存储到$_SESSION变量中

PHP可能看起来像这样:

session_start();
foreach ($_GET as $key => $value)
   $_SESSION[$key] = $value;

答案 2 :(得分:0)

使用jQuery和PHP

HTML:

<input type="text" id="autosend" />

JavaScript

$(function(){
   $('#autosend').blur(function(){
       $.post('receiver.php',{fieldval:$(this).val()},function(response){
          alert(response);
       });
   })
})

PHP

$_SESSION["somename"] = $_POST["fieldval"];
echo $_SESSION["somename"];

现在,每当输入字段失去焦点时,会话变量将使用当前值进行更新。