【发布时间】:2014-04-29 02:28:32
【问题描述】:
我正在为一项任务开发一个 PHP“交互式文本游戏”。
在我的程序中,当用户完成前一个文本字段时,提示用户将信息(字符名称等)输入到一个接一个出现的各种文本框中。
我想要做的是获取文本框(用户输入)的值并将其存储在 PHP 会话中。我知道我想使用 AJAX 来动态获取文本值。
我不想先点击“提交”按钮,我想在用户按下回车键或点击开箱后立即存储值。
这是我到目前为止的代码示例,不包括不必要的行,例如 ajax/stylesheets/等。
这部分代码,即$('input').keypress 方法,应该从带有"#name" 的文本字段中获取文本,然后... 将其交给某个PHP 代码?我对 PHP 和 Javascript 非常陌生 :(
<?php
session_start();
$_SESSION['name'];
?>
<html>
<head>
<script>
$(document).ready(function() {
$('input').focus(function() {
$(this).val("");
$('input').keypress(function(event)
//.focusout(function()
{
if (event.which === 13) {
$(this).parent().next('div.sub-container').show();
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("name").innerHTML = xmlhttp.responseText;
alert(xmlhttp.responseText);
}
}
xmlhttp.open("GET", "globals.php?q=" + $(this).val(), true);
xmlhttp.send();
}
});
$('input').focusout(function() {
$(this).parent().next('div.sub-container').show();
});
});
});
</script>
</head>
<body>
<div class="container">
<form action="" method="get">
<div class="sub-container-init">
<p class = "text">Like all good stories, we need a compelling hero. Someone with a nice-sounding name. Have anything good?</p>
<input id="name" name="name" value="Name" />
</div>
<input type="submit" value="Submit" />
</form>
</div>
</body>
</html>
这在单独的页面globals.php 中。理想情况下,以下 PHP 将从文本字段获取的文本存储在我可以从其他页面访问的会话中。
<?php
$q=$_REQUEST["q"];
echo $q;
?>
总结:我如何将来自"#name" 的文本值存储在以后可以在同一页面中访问的 PHP 会话中?
谢谢!!
【问题讨论】:
-
旁注:
session_start();需要在所有使用会话的文件中。您没有在第二段代码中提及/显示它。 -
哦!谢谢!我会补充一点。我假设他们将引用相同的会话并可以访问相同的变量?
-
不客气。是的,如果在两个文件中使用相同的会话名称。
标签: javascript php jquery ajax session