Php 加载页面后转到第页

Php 加载页面后转到第页,php,javascript,jquery,Php,Javascript,Jquery,好的,在我的主页上,我正在检查用户名和密码,然后使用jquery document.location将您发送到登录页面,比如secure.php。。。。当它工作时,它会先将您发送到secure.php,然后开始加载图像。。。我怎样才能让它加载整个页面,然后将您发送到secure.php 例如:- $.ajax ({ url: loginCheck.php, type: 'POST', data: username + password ,

好的,在我的主页上,我正在检查用户名和密码,然后使用jquery document.location将您发送到登录页面,比如secure.php。。。。当它工作时,它会先将您发送到secure.php,然后开始加载图像。。。我怎样才能让它加载整个页面,然后将您发送到secure.php

例如:-

 $.ajax ({
         url: loginCheck.php,
         type: 'POST',
         data: username + password ,
         success: function (check){
                if(check==1)
                    document.location= /loginpage/secure.php
                else alert(invalid username or pass)

            }
         });

…这让我觉得非常不安全,但哦,好吧

除非您在jQuery中构建一个元框架,其中所有页面加载都在一个“shell”中执行,然后仅在准备好呈现时显示,否则答案是,我很确定,您不能


页面有一个明确的生命周期。jQuery和AJAX有点模糊了这条线,但是页面加载是一个控制脚本的单一事件。加载页面会使您用来加载页面的脚本消失。

编辑:我现在替换我的整个问题,因为我了解了您的意图。在secure.php中,将所有代码放在包含div中,如下所示:

<body>
    <div id="contentContainer">
        <!-- content goes here -->
    </div>
</body>
添加一个
窗口。onload
处理程序以显示div。与
onready
不同的是,在加载包括图像在内的所有内容之前,不会调用
onload

$(window).load(function() {
    $("#contentContainer").show();
});
您可能希望执行与“正在加载”div相反的操作,并显示一条消息“正在加载…”。即,最初显示它,并将其隐藏在onload处理程序中

编辑:通过在上一页的隐藏div中预加载图像,可以加快页面加载速度

Home.php

<div class="preloader">
    <img src="..." />
    ...
</div>

.preloader {
    display: none;
}

...
.预载机{
显示:无;
}

应该使用缓存的图像加载Secure.php。

如果我直接键入
http://yoursite.com/secure.php
在我的浏览器地址栏中,是否从未通过第一页并提供任何用户名和密码?你考虑过你的网站的这个用例吗?它只会将你回滚到主页,但使用JavaScript或服务器端逻辑“回滚到主页”?服务器端在secure.php中…你认为哪一部分是不安全的?对登录检查器的ajax调用将用户名和密码作为单个字符串。这与没有密码差不多,只是一个奇怪的用户名。它还阻止了使用盐哈希存储密码的最佳实践。那么密码为Pass的Joe和密码为no Pass的Joe是同一个人吗?就安全性而言,这听起来不太可靠。但这不是在幕后发生的吗?如何纠正它?我会将它们作为离散值发送,并将它们分别存储在您的存储库中。。。最好将密码设置为咸哈希。当您想要验证用户名和密码时,请使用提供的用户名从存储库中获取salt,使用salt对密码进行散列,并与存储的值进行比较。如果它匹配,很好去!如果不是。。。拍摄他们可能有点严重,但你可以发挥创造力。:)哦,我在登录检查中使用散列值+我自己的64位编码到散列中,所以。。。在上面的例子中,假设我正在做一个按钮点击功能,这将进入$(窗口)。加载(函数())??好的,所以我不认为我说得很清楚。。。我试图在secure.php加载所有内容之前推迟它的显示,这与homepage@Aggiephoenix-好的,我已经替换了我的全部答案。现在有点道理了。好吧,看来我把事情弄得更糟了。。。。我的登录页面的javascript代码与上面的代码类似,它通过ajax调用检查数据库中的用户名和密码是否正确。。完成后,如果用户名和密码正确,它会将您重定向到包含图像的内容页。因此,使用上面的代码,它会先将您发送到内容页,然后再花时间加载图像。。。我想知道的是,如果有一种方法可以让内容页面中的所有内容提前准备好,然后重定向到该页面page@Aggiephoenix-将图像加载到主页上的隐藏div中。当安全页面加载时,它应该使用缓存的图像。
<div class="preloader">
    <img src="..." />
    ...
</div>

.preloader {
    display: none;
}