我们可以在会话变量中使用输入类型值而无需任何表单提交
就像有一个输入字段 现在我想在$ _session ['anyname']中保存上面的输入字段值;当页面中没有表格时。
答案 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"];
现在,每当输入字段失去焦点时,会话变量将使用当前值进行更新。