Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z logowaniem w PHP


Czaromirus

Rekomendowane odpowiedzi

Opublikowano

Witam, tworzę system logowania w PHP i nie wiem co tu jest źle napisane. Strona się nie wczytuje.

<?php

session_start();

class Login {
    
    protected $password;
    protected $login;
    public $error;
    protected $connection;
    public $result;
    public $zapytanie;
    public $nick;
    
    public static function connectToMySQL(){
        $mysql_server = "localhost"; 
        $mysql_admin = "root"; 
        $mysql_pass = "niePowiem"; 
        $mysql_db = "authme"; 
        new mysqli_connect($mysql_server, $mysql_admin, $mysql_pass, $mysql_db) or die('Brak połączenia z serwerem MySQL.');
        $this->$connection = new mysqli($mysql_server, $mysql_admin, $mysql_pass, $mysql_db) or die('Brak połączenia z serwerem MySQL.');
    }
    
    public static function getValue(){
        if((!isset($_POST['login'])) || (!isset($_POST['pass']) || $_POST['login']==null || $_POST['pass']==null)){
            header('Location: ../zaloguj.php');
            $this->$error = "Błędny login lub hasło!";
            exit();
        }
    }
    
    public static function setLogin($infoLogin){
        $this->$login = htmlentities($infoLogin, ENT_QUOTES, "UTF-8");
    }
    
    public static function setPassword($infoPassword){
        $passHTML = htmlentities($infoPassword, ENT_QUOTES, "UTF-8");
        $this->$password = md5($passHTML);
    }
    
    public static function getLogin(){
        return $this->$login;
    }
    
    public static function getPassword(){
        return $this->$password;
    }
    
    public static function getQuestion(){
        $this->$connection->query($connection, sprintf("SELECT * FROM authme WHERE realname='%s' AND password='%s'",
                                mysqli_real_escape_string($connection, self::getLogin()),
                                mysqli_real_escape_string($polaczenie, self::getPassword()))) or die("błąd zapytania");
        $this->$zapytanie = $this->$connection->query($connection, sprintf("SELECT * FROM authme WHERE realname='%s' AND password='%s'",
                                mysqli_real_escape_string($connection, self::getLogin()),
                                mysqli_real_escape_string($polaczenie, self::getPassword()))) or die("błąd zapytania");
    }
    
    public static function getResult(){
        if($this->$zapytanie->num_rows !==0){
            $this->$result = true;
            return true;
        } else {
            $this->$result = false;
            $this->$error = "Błędny login lub hasło!";
            return false;
        }
    }
    
    public static function getError(){
        return $this->$error;
    }
    
    public static function removeError(){
        $this->$error = null;
    }
    
    public static function zaloguj($pass, $logins){
        self::connectToMySQL();
        self::getValue();
        self::setLogin($logins);
        self::setPasword($pass);
        self::getQuestion();
        if($this->$result == true){
            self::removeError();
            $r = mysqli_fetch_array($this->$zapytanie);
            $_SESSION['logged']->$nick = $r['realname'];
            header('Location: ../index.php');
            exit();
        } else {
            $_SESSION['logged']->$error = "Błędny login lub hasło!";
            header('Location: ../zaloguj.php');
            exit();
        }
    }
    
}

$_SESSION['logged'] = new Login;
$_SESSION['logged']::zaloguj($_POST['pass'], $_POST['login']);

?>

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...