gpt4 book ai didi

php - 登录加载页面

转载 作者:可可西里 更新时间:2023-11-01 01:06:54 24 4
gpt4 key购买 nike

我有一个用户可以登录的 php 站点。一旦他们提交了带有凭据的 POST 数据,他们就会被带到一个页面,该页面会启动一个 session 并检查 database。在用户最终被重定向到站点后端之前,此过程需要很长时间。在此期间,用户站在空白的白页上。我想显示某种加载页面,但是当页面上有任何可打印的内容时,由于重定向,我收到了 header 错误。

如何创建加载页面?我知道 ajax 是一种选择,但它是我唯一的选择吗?

更新:PHP应用耗时长主要是因为每次登录都依赖国外的API需要授权以及计费数据需要查询。我不是想掩盖我可以轻松修复的东西,我是想创建一个更好的用户界面。

登录过程大约需要 10 秒。

最佳答案

好吧,处理这个问题的简单方法如下:

一旦用户按下登录,使用javascript,隐藏登录按钮,注入(inject)一些 ajaxloader gif ,然后发送带有登录凭据的 AJAX 请求,正确加盐,让用户登录,将响应作为 JSON 发布,并拦截该响应,如果成功 - 进行重定向,如果失败 - 打印适当的消息。

一些代码:

登录处理程序.php

$user = new user();
if ($user -> login($_POST['uid'], $_POST['password'], $_POST['whatever']){
$response['type'] = 'success';
}
else{
$response['type'] = 'failure';
}
echo json_encode($response);

js-login.js

$("#login").click(function(){
// verify that user put user name, password and whatever, hide button and show ajax loader

$.get("login-handler.php", {user: user, password: password}, function(data){
if (data.type == "success"){
window.location = "http://example.com/new/location/whatever";
}
else{
//print message
}
}, "JSON");
});

编辑:但我想加入其他人的行列并考虑使用更快/不同的 API,因为 10 秒的加载时间是完全荒谬的,除非它是为你自己准备的,在这种情况下 - 让你自己崩溃。

关于php - 登录加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8811547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com