Javascript PHP-如何重定向到同一页面并更改DOM';s

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

我有一个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'];

$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>";