【问题标题】:Add session value to a js form file?将会话值添加到 js 表单文件?
【发布时间】:2012-04-23 12:57:58
【问题描述】:

想知道是否有人可以帮助我解决一个小问题。当我的用户像 <?php echo $_SESSION['SecurityID_ContactName']; ?> 这样登录到我的 php 站点时,我存储了会话值。

我可以在整个站点中重复使用这些值来显示登录的用户名,但是我现在需要将此值存储在创建表单的外部 js 文件中。然后,这会将登录的用户名放在提交回 mysql 的表单字段中?

js文件里面的表单有这样的字段:

        form += '<label>Name</label>';
        form += '<input type="text" id="author" placeholder="Your name" />';

我编辑它以保持会话:

        form += '<label>Name</label>';
        form += '<input type="text" id="author" value="<?php echo $_SESSION['SecurityAssist_ContactFullName']; ?>  />'";

这不起作用,没有真正的错误,因为它只是从 php 页面中删除了整个 js 脚本?我可以将会话值存储在 js 文件中吗?

亲切的问候

【问题讨论】:

    标签: php javascript html session


    【解决方案1】:

    您只是引用了错误的顺序;将其更改为:

    form += '<input type="text" id="author" value="<?php echo $_SESSION['SecurityAssist_ContactFullName']; ?>" />';
    

    【讨论】:

    • 您好,感谢您的回答,我尝试添加以上内容,但也从 php 页面中删除了整个 js 脚本,设法使用上述海报解决方案使其工作。谢谢
    【解决方案2】:

    您仍然可以将其存储在 HTML 中,例如在 body 标记上的 data- 属性中。

    <body data-username="<?php echo $_SESSION['SecurityAssist_ContactFullName']; ?>">
    

    您可以在 Javascript 中使用 getAttribute() 查询它,例如:

    var userName = document.body.getAttribute('data-username');
    ...
    form += '<input type="text" id="author" value="' + userName + '";
    

    Here is a small demo

    对于跨浏览器支持,您还可以使用jQueryattr()data())或查看this question


    另一个(IMO 不太干净)解决方案是将您的 Javascript 文件重命名为 .php。在这种情况下,网络服务器将运行它,因此您可以在其中使用 PHP 命令。在这种情况下,您应该发送适当的标头 (Content-type: text/javascript)。

    【讨论】:

    • 您好,非常感谢您的回答,将其存储在 html 中很有效,这种方法也可以用于添加存储其他会话吗?我还需要插入电子邮件会话值,是否可以将其添加到 js 中的 body 标记和 var 中?
    • 我不知道将数据存储在 HTML 属性中是否是个好主意。你可以很容易地用 JS 打印出来
    • 像 IE-8 或更早的旧浏览器可能没有这些属性(在 HTML5 中)
    • 嗯,是的,我也许应该在兴奋之前检查一下! FF 和 IE 似乎不喜欢这样,Chrome 还可以。我一直试图在 js 中打印出来但没有成功,只是从我的 php 页面中删除了脚本..
    • 是的,当然它适用于所有浏览器,但它可能会导致错误或验证错误,因为旧浏览器不“知道”这个属性。但实际上这并不重要,因为用户会意识到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 2014-03-01
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    相关资源
    最近更新 更多