Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 戈达迪:登录不起作用_Php_.htaccess_Login - Fatal编程技术网

Php 戈达迪:登录不起作用

Php 戈达迪:登录不起作用,php,.htaccess,login,Php,.htaccess,Login,你好 我正在制作我的简单网站。它有一个登录页面。在我的本地主机中,一切都运行良好。我可以成功登录 所以,现在。我已经把我的网站连同数据库一起上传到了Godaddy 现在,如果我使用正确的凭据登录,就像我在localhost中所做的一样。我无法登录。它将我重定向回登录页面。没有抛出错误 但是,如果我使用错误的凭据登录,它会向我抛出一个错误“错误的用户名或密码”->这就是我的login.php中的内容 这意味着我能够成功地与数据库联系,对吗?可能是什么问题 我正在使用XAMPP,7.1.1,我认为这

你好

我正在制作我的简单网站。它有一个登录页面。在我的本地主机中,一切都运行良好。我可以成功登录

所以,现在。我已经把我的网站连同数据库一起上传到了Godaddy

现在,如果我使用正确的凭据登录,就像我在localhost中所做的一样。我无法登录。它将我重定向回登录页面。没有抛出错误

但是,如果我使用错误的凭据登录,它会向我抛出一个错误“错误的用户名或密码”->这就是我的login.php中的内容

这意味着我能够成功地与数据库联系,对吗?可能是什么问题

我正在使用XAMPP,7.1.1,我认为这是最新的,因为我上周刚刚下载了这个。我还注意到GoDaddy PHP版本是5.6

我已配置服务器的凭据

dname = myDB;
lhost = localhost;
uname = username;
pword = password;
附:这些凭证不是我的准确凭证

我也试过了

dname = myDB;
lhost = website ip address;
uname = username;
pword = password;
还是不走运=(

编辑:用于登录的Php脚本

<?php
require("../../includes/bootstrap.php");
require("../../templates/user/users/login.php");
session_save_path("../../cgi-bin/tmp");
session_start();
session_regenerate_id();
try{
$ACCOUNT_SECURITY = new CORE_ACCOUNT_SECURITY();
$ACCOUNT_SECURITY->blocking();
if(isset($_POST['username']) && $_POST['password']){
  $sql = "SELECT * FROM users WHERE username=?";
  $SQL_CLASS = new SQL_SERVER_CONNECTION();
  $PDO_HANDLER = $SQL_CLASS->PDO_CONNECTION();

  $statement = $PDO_HANDLER->prepare($sql);

  $statement->execute(array($_POST['username']));
  if($statement->rowCount()>0){
    $userdata = $statement->fetch(PDO::FETCH_ASSOC);
    if(password_verify($_POST['password'], $userdata['password'])){
      $_SESSION['uid']=$userdata['id'];
      $_SESSION['unm']=$userdata['username'];
      $_SESSION['upriv']="user";
      $_SESSION['params']=[];
      header("location:user.php");
    }else{echo "Incorrect Username or password";sleep(3);exit;}   
  }else{echo "Incorrect Username or password";sleep(3);exit;}
}
}catch(Exception $e){
echo "Your Request is Temporarily Denied for Security Purpose";
}
?>
这是我的user.php

<?php
require("../../includes/bootstrap.php");
session_save_path("../../cgi-bin/tmp");
session_start();
session_regenerate_id();
if(!CORE_ACCOUNT_SECURITY::isloggedin()){
header("location:login.php");       
exit;
}else{      
if($_SESSION['upriv']=='user'){
  require("../../templates/user/users/user.php");
}else{header("location:../../");}                        
}
?>


您的数据库详细信息未列为PHP变量,因此您将无法执行
mysqli_connect($dbname、$lhost、$uname、$pword)
。它可能无法修复,但没有提供其他详细信息,因此很难排除故障。请尝试提供您的PHP脚本。

您可能需要检查以下几件事:

  • 请检查文件权限,可能没有权限
  • 你可以查看错误日志以了解到底发生了什么。通常情况下,godaddy会给你错误日志
  • 请检查数据库配置是否正确

  • 最好能提供相关的php代码。

    检查您的cpanel以获取DB域名。根据我的经验,这可能与网络主机IP不同。您能通过cpanel获得管理员访问权限吗?而不是在捕获中回显“请求被拒绝…”。试着回显$e->getMessage();应该给你理由failing@JasonJoslin好主意等一下sec@JasonJoslin,我有那个地方,它并没有给我一个错误。如果放置错误的凭据,它会给我“错误的用户名或密码”,您可以尝试添加ob_start();在脚本的顶部。看起来您可能有多个标题问题。您可以启用错误显示和观察者。它可能会向您显示错误。1。一切都检查过了。我试试这个。这是正确的。如您所见,我可能使用错误的凭据登录。请尝试将此行CORE_ACCOUNT_SECURITY::isloggedin()更改为(new CORE_ACCOUNT_SECURITY)->isloggedin();或者在isloggedin()函数中添加静态关键字,在哪里?在login.php或user.php中?
    <?php
    require("../../includes/bootstrap.php");
    session_save_path("../../cgi-bin/tmp");
    session_start();
    session_regenerate_id();
    if(!CORE_ACCOUNT_SECURITY::isloggedin()){
    header("location:login.php");       
    exit;
    }else{      
    if($_SESSION['upriv']=='user'){
      require("../../templates/user/users/user.php");
    }else{header("location:../../");}                        
    }
    ?>