美好的一天!
我正在创建我的简单网站。它有一个登录页面。一切都在我的localhost中运行良好。我可以成功登录。
所以,现在。我已将我的网站与数据库一起上传到Godaddy。
现在,如果我使用正确的凭据登录,就像我在localhost中所做的那样。我无法登录。它将我重定向回登录页面。没有错误抛出。
但是,如果我使用错误的凭据登录,则会向我抛出错误“用户名或密码不正确” - >这就是我的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 :(得分:0)
您的数据库详细信息未列为PHP变量,因此您将无法执行mysqli_connect($dbname,$lhost,$uname,$pword)
。它可能无法修复,但没有提供其他详细信息,因此很难排除故障。尝试提供PHP脚本。
答案 1 :(得分:0)
您可能需要检查的内容很少:
最好能提供相关的PHP代码。