【问题标题】:Set php session value to text box value将 php 会话值设置为文本框值
【发布时间】: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


【解决方案1】:

使用 session_start(); 在开始页面你需要使用 $_SESSION['name']; 请注意,在 session_start 之前你不能有任何回显,否则你会得到一个错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-11
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多