我已将此登录页面设为正常 HERE 。
如果您尝试使用任何凭据登录,则会说错username
和password
,这是正确的。但是,当我向Godaddy托管上传完全相同的代码时,它无法正常工作。
我95%确定它已正确设置数据库,因为商店使用的是同一个数据库,而且商店工作正常。
HERE 是完全相同的页面,但我将托管更改为Godaddy。
顺便说一下,这是我第一次自己将网站上传到主机,所以我很容易错过了一些我不了解的设置。
这是我的管理员登录代码:
if (isset($_POST['submit_login'])){
$db = new database_manager();
$username = $_POST['user_name']; //getting username from form
$username = filter_var($username, FILTER_SANITIZE_STRING); // making sure string is clean
$user_input_password = $_POST['password']; //getting password that user has imputted from form
$real_password = $db->get_password($username);
$verified = $db->compare_passwords($user_input_password, $real_password);
//if they match take user to admin page
if ($verified){
$session = new session_manager();
$session->update_admin_session();
header("location: ./admin.php");
}
else{
echo ("<h1 id='reject'>Wrong Username or Password!</h1>");
}
}
这是密码验证程序功能部分:
public function get_password($username){
$real_password = "";
$sql = "SELECT * FROM users WHERE users.username ='$username'";// sql statment for getting password that matches username
$result = $this->db->query($sql);
//getting password from database
if($result->num_rows == 1){
$row = $result->fetch_assoc();
$real_password = $row["password"];
}
return $real_password; //sending the real password back to be compared with the password the user input
}
//comparing user password to password on database
public function compare_passwords ($user_input_password,$real_password){
$compare = password_verify($user_input_password , $real_password);
return $compare;
}
两个站点的代码和数据库完全相同。
欢迎任何帮助或意见/建议。 干杯XD
答案 0 :(得分:0)
但是当我向Godaddy托管上传完全相同的代码时,它并没有 工作
你检查了mysql连接或env设置吗?
$mysqli = new mysqli("111.111.1.1", "sampleuser", "samplepassword", "sampledb");
或
# DB Settings
DB_CONFIG=mysql:host=localhost;dbname=dbname
DB_USER=user
DB_PASS=pass123
答案 1 :(得分:0)
在go daddy服务器上部署后检查文件权限。