移动到其他服务器时出现PHP登录问题

移动到其他服务器时出现PHP登录问题,php,login,server,subdomain,Php,Login,Server,Subdomain,我有一个非常基本的登录系统,我已经在我的本地主机上测试过了,还有一个免费的托管站点,我用它来测试我的项目,一切都很好 我刚刚将站点作为子域移动到站点地面,并且登录已停止工作。该网站仍在加载我在此位置创建的数据库中的内容,因此我知道问题不是由于未能连接到数据库造成的 在.htaccess文件中也没有任何东西可以阻止用户登录,如果将其移动到新服务器时出现问题,我将如何找到解决方法?尝试登录时,页面不会返回任何错误 登录PHP: <?php require 'includes/connect.

我有一个非常基本的登录系统,我已经在我的本地主机上测试过了,还有一个免费的托管站点,我用它来测试我的项目,一切都很好

我刚刚将站点作为子域移动到站点地面,并且登录已停止工作。该网站仍在加载我在此位置创建的数据库中的内容,因此我知道问题不是由于未能连接到数据库造成的

在.htaccess文件中也没有任何东西可以阻止用户登录,如果将其移动到新服务器时出现问题,我将如何找到解决方法?尝试登录时,页面不会返回任何错误

登录PHP:

<?php

require 'includes/connect.php';

session_start();

if(isset($_POST['login'])){
$username = $_POST['username'];
$password = md5 ($_POST['password']);


$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT COUNT(user_id) FROM nathan WHERE username='$username' AND password='$password'";
$q = $pdo->prepare($sql);
$q->execute();

$count = $q->fetchColumn();

if($count == 1){
    $_SESSION['username'] = $username;

    header('Location: admin.php');
} 
}        

?>
数据库连接:

<?php
class Database
{
private static $dbName = "some_DB" ;
private static $dbHost = "localhost" ;
private static $username = "some_user";
private static $password = "password123";

private static $cont  = null;

public function __construct() {
    die('Init function is not allowed');
}

public static function connect()
{
   // One connection through whole application
   if ( null == self::$cont )
   {     
    try
    {
      self::$cont =  new PDO( "mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, self::$username, self::$password); 
    }
    catch(PDOException $e)
    {
      die($e->getMessage()); 
    }
   }
   return self::$cont;
}

public static function disconnect()
{
    self::$cont = null;
}
}
?>
会话PHP:

<?php

session_start();

if (!isset($_SESSION['username'])){
header('Location: login.php');
};
?>

您可能希望在查看时检查您的cookie,并验证您确实获得了包含会话信息的cookie集。如果这不起作用,我对您环境的有限看法将表明您不允许来自该特定子域的cookie


另一个需要检查的是存储会话数据的目录。如果没有填充,那么您将无法持续会话。

正如我上面的海报所说,这肯定是因为cookies,请参阅本文以了解解决方案

您不应该将密码直接存储在数据库中,这是不安全的,您应该在登录时使用密码\u散列对其进行散列,然后将其与散列\u equals进行比较