将php会话值设置为文本框值

时间:2014-04-29 02:28:32

标签: javascript php jquery ajax session

我正在为一项作业开发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会话中?

谢谢!

1 个答案:

答案 0 :(得分:0)

在首页使用 session_start(); ,您需要使用$ _SESSION [&#39; name&#39;]; 请注意,在session_start之前您无法回复任何内容,否则您将收到错误