2017-04-24 125 views
0

美好的一天!Godaddy:登錄無效

我正在做我的簡單網站。它有一個登錄頁面。在我的本地主機中一切正常。我可以成功登錄。

所以,現在。我已經將我的網站和數據庫一起上傳到Godaddy。

現在,如果我使用正確的憑據登錄,與我在本地主機上做的相同。我無法登錄。它將我重定向回登錄頁面。沒有錯誤拋出。

但是,如果我有錯誤的憑據登錄,它將引發我一個錯誤「錯誤的用戶名或密碼」 - >這是我的login.php

內,這意味着我必須能夠與數據庫成功地權聯繫?可能是什麼問題?

我正在使用XAMPP 7.1.1,我認爲這是最新的,因爲我剛剛下載了這個上週。我還注意到,GoDaddy的PHP版本是5.6

我已經爲服務器

dname = myDB; 
lhost = localhost; 
uname = username; 
pword = password; 

PS配置的憑據:此證書是不是我的確切憑據。

我也試過

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"; 
} 
?> 

我已經把一個錯誤日誌,這裏是被拋出

[24-Apr-2017 04:19:50 UTC] PHP Strict Standards: Non-static method CORE_ACCOUNT_SECURITY::isloggedin() should not be called statically in /home/*****/public_html/user/users/user.php on line 6 

這是我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:../../");}       
} 
?> 
+0

檢查您的cPanel的數據庫域名。根據我的經驗,這可能與webhosting IP不同。你可以通過你的cPanel獲得管理員權限嗎? –

+0

而不是在你的catch中回顯'Request Denied ...'。嘗試回顯$ e-> getMessage();應該給你失敗的原因 –

+0

@JasonJoslin,好主意=)等待一秒 – Maki

回答

0

數據庫的詳細信息都沒有被列爲PHP變量,所以你不會是能夠做到mysqli_connect($dbname,$lhost,$uname,$pword)。它可能無法解決它,但沒有提供其他細節,因此很難排除故障。嘗試提供您的PHP腳本。

+0

完成!請檢查我的編輯 – Maki

0

有可能是你需要檢查幾件事情:

  1. 請檢查文件權限,可能是沒有
  2. 您可以檢查錯誤日誌,以獲取究竟發生了正確的權限。通常情況下,godaddy給你錯誤日誌How to get Godaddy Error logs
  3. 請檢查您的數據庫配置正確的設置。

這將是最好的,如果你能提供你的相關的PHP代碼。

+0

你可以嘗試添加ob_start();在腳本的頂部。看起來你可能有多個標題問題。您可以啓用錯誤顯示和觀察者。它可能會告訴你錯誤。 – shojibur

+0

1.檢查一切。我試試這個3.這是正確的。正如你所看到的,我可以使用錯誤的憑據登錄。 – Maki

+0

出現錯誤 – Maki