Javascript PHP-如何重定向到同一页面并更改DOM';s
我有一个HTML登录表单,当用户登录时,我想将该用户重定向到另一个页面并更改其中的一些DOM。此重定向是通过验证用户和密码的PHP脚本完成的。 我有这个:Javascript PHP-如何重定向到同一页面并更改DOM';s,javascript,php,html,Javascript,Php,Html,我有一个HTML登录表单,当用户登录时,我想将该用户重定向到另一个页面并更改其中的一些DOM。此重定向是通过验证用户和密码的PHP脚本完成的。 我有这个: <?php set_time_limit(0); header('content-type: text/html; charset=utf-8'); header("access-control-allow-origin: *"); include 'connect.php'; $pass= $_POST['pass']; $sq
<?php
set_time_limit(0);
header('content-type: text/html; charset=utf-8');
header("access-control-allow-origin: *");
include 'connect.php';
$pass= $_POST['pass'];
$sql = "SELECT password FROM users WHERE password ='$pass'";
$result = mysql_query($sql);
$row=mysql_fetch_array($result);
if($row[0]!='') {
$query = mysql_query("SELECT user FROM users WHERE password ='$pass'");
$user = mysql_fetch_array($query, MYSQL_ASSOC);
$user=$user["user"];
echo "<script>window.location = 'http://localhost/public_html/as/index.php?pass=$pass';document.getElementById('log').innerHTML = 'LOGGED WITH: $user';$('#login-form').slideUp();document.getElementById('logout').style.display='';$('#log').unbind('click');</script>";
} else {
echo "<script>document.getElementById('text').value = ''; document.getElementById('text').placeholder = 'Type a valid key';</script>";
}
?>
您不能使用该链接。对于这个问题,您有两种解决方案
在php中使用SESSION[]
array定义用户是否登录到目标页面,检查会话数组中的变量是否已设置,在页面上回显javascript以执行所需操作
使用查询字符串告诉目标页面用户已登录,并在目标页面中使用php,回显您的javascript代码
我认为你的问题有更好的解决办法。但为了满足您的要求,这是我的报价。:)
编辑:
在php文件的第一行中使用:
session_start();
当用户名和密码通过时,按如下方式设置会话数组:
$\会话[“用户名”]=$userName;
php脚本的结尾如下所示:
if(isset($_SESSION["userName"]))
echo "<script>....your code that you want run when user login...</script>";
if(isset($\u会话[“用户名]))
echo“…您希望在用户登录时运行的代码…”;
JavaScript只能更改运行它的页面的DOM。如果您想更改其他页面的DOM,请在重定向时传递URL中的相关数据,或使用会话cookie。“这只是为了学习如何处理登录表单,所以不必担心安全问题。”但您需要了解安全性!如果我的密码恰好是”或1=1--代码>你的日子不好过!我的问题是:登录后重定向到同一页面时,如何更改某些DOM?感谢您的建议@barzegari,但问题是:主页是[当用户登录时,它会被删除][因此,两个页面的javascript代码是相同的,唯一的变化是在导航栏中:“LOGIN”消失并显示usename。DOM的这一变化瞬间起作用,但当新页面完全加载时,它看起来像主页:/如果我理解,你将页面重定向到自身?是真的吗?是的,因为我有一个显示数据d的图表根据登录的用户:)所以最好的解决方案是使用会话。我认为。不会改变任何东西:/这只是改变变量
if(isset($_SESSION["userName"]))
echo "<script>....your code that you want run when user login...</script>";