我有一个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);
});
答案 0 :(得分:3)
您当前的代码可能会引入XSS vulnerability。相反,利用有效JSON是有效JavaScript的事实:
var username = <?php echo json_encode($login); ?>;
在某些情况下,使用请求来自其他网址(通常编码为纯文本,XML或JSON)的数据的XMLHttpRequest或WebSocket也可能更好。一种情况是在用户加载网页后添加新项目后通知用户。
答案 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;变量对我来说。上面的作品虽然有点像魅力。希望它安全,不会导致任何问题。
再次感谢你们