如何将php变量从php文件传递给js文件?

时间:2016-05-06 21:36:27

标签: javascript php jquery html5 variables

我有一个html / php复合文档,它使用用户的登录变量。 (这来自登录时单独的php文件):

    <html> Welcome <?php echo $login; ?> </html>

//Now when the user uses the chatbox, and clicks send, I would like to pass the data (inclusive of the username) from this html file to the .js so it can in turn pass onto another php file. (ps I tried the following but to no avail, as the .js file is external to the html/php composite):

    $("#newMsgSend").click(function()//triggers script to send the message
        {
            $("#newMsgCnt").val(''); // clears the box when the user sends a message
            var username = "<?php echo $login; ?>";
            alert(username); 
        });

3 个答案:

答案 0 :(得分:3)

您当前的代码可能会引入XSS vulnerability。相反,利用有效JSON是有效JavaScript的事实:

var username = <?php echo json_encode($login); ?>;

在某些情况下,使用请求来自其他网址(通常编码为纯文本,XML或JSON)的数据的XMLHttpRequestWebSocket也可能更好。一种情况是在用户加载网页后添加新项目后通知用户。

答案 1 :(得分:0)

当用户登录时,为该用户创建会话并使用数据库中的数据(例如用户名,电子邮件,电话号码等)填充它 - 如下所示(假设登录正确且可信:< / p>

process.cwd()

然后,只要您想访问该信息,请在页面顶部包含以下内容:

$_SESSION['user'] = $row; //where $row is the row of data returned from the db

然后访问

等信息
session_start();

然后你的html会是这样的:

$userfirst_name=$_SESSION['user']['first_name'];

请注意,会话开始必须位于您要访问sessiobn变量的每个页面的顶部。然后清除用户详细信息(例如,当用户注销时,您可以使用以下内容:

<h1> Welcome <?php echo "$userfirst_name"; ?> </h1>

答案 2 :(得分:-2)

感谢两位:Ivan Rodriguez Torres和phihag。我在两个帖子的中间找到了一个解决方案:

<input id="login" readonly type="text" <?PHP echo "value= '$login'/>"; ?>

伊万的建议是以某种方式回归&#34;未定义&#34;变量对我来说。上面的作品虽然有点像魅力。希望它安全,不会导致任何问题。

再次感谢你们