2014-09-03 3 views
-4

Я использую PHP -LOGIN.NET (не MVC). Минимальное значение . Я пытаюсь сделать это, когда человек перейдет на index.php? Id = 2, и он покажет все данные пользователю с идентификатором 2, присвоенным ему/ей в базе данных mysql.php-login.net Минимальная страница пользователя пользователя

Я считаю, что я должен использовать

if(isset($_GET['user_id']) 

однако каждая ведьма так я пытаюсь использовать его, он не работает ..

вот index.php

require_once("config/db.php"); 


require_once("classes/Login.php"); 



$login = new Login(); 

if ($login->isUserLoggedIn() == true) { 

include("views/logged_in.php"); 

} else { 

include("views/not_logged_in.php"); 

здесь находится класс/login.php

class Login 
{ 

private $db_connection = null; 

public $errors = array(); 

public $messages = array(); 


public function __construct() 
{ 
    // create/read session, absolutely necessary 
    session_start(); 

    // check the possible login actions: 
    // if user tried to log out (happen when user clicks logout button) 
    if (isset($_GET["logout"])) { 
     $this->doLogout(); 
    } 

    // login via post data (if user just submitted a login form) 
    elseif (isset($_POST["login"])) { 
     $this->dologinWithPostData(); 
    } 
} 



private function dologinWithPostData() 
{ 

    if (empty($_POST['user_name'])) { 
     $this->errors[] = "Username field was empty."; 
    } elseif (empty($_POST['user_password'])) { 
     $this->errors[] = "Password field was empty."; 
    } elseif (!empty($_POST['user_name']) && !empty($_POST['user_password'])) { 


     $this->db_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 

     // change character set to utf8 and check it 
     if (!$this->db_connection->set_charset("utf8")) { 
      $this->errors[] = $this->db_connection->error; 
     } 

     // if no connection errors (= working database connection) 
     if (!$this->db_connection->connect_errno) { 


      $user_name = $this->db_connection->real_escape_string($_POST['user_name']); 


      $sql = "SELECT user_id, user_name, user_email, user_password_hash 
        FROM users 
        WHERE user_name = '" . $user_name . "' OR user_email = '" . 
$user_name . "';"; 
      $result_of_login_check = $this->db_connection->query($sql); 

      // if this user exists 
      if ($result_of_login_check->num_rows == 1) { 

       $result_row = $result_of_login_check->fetch_object(); 








       if (password_verify($_POST['user_password'], $result_row->user_password_hash)) { 

        // write user data into PHP SESSION (a file on your server) 
        $_SESSION['user_name'] = $result_row->user_name; 
        $_SESSION['user_email'] = $result_row->user_email; 
        $_SESSION['user_id'] = $result_row->user_id; 
        $_SESSION['user_login_status'] = 1; 






       } else { 
        $this->errors[] = "Wrong password. Try again."; 
       } 
      } else { 
       $this->errors[] = "This user does not exist."; 
      } 
     } else { 
      $this->errors[] = "Database connection problem."; 
     } 
    } 
    } 


    public function doLogout() 
{ 

    $_SESSION = array(); 
    session_destroy(); 

    $this->messages[] = "You have been logged out."; 

} 


    public function isUserLoggedIn() 
    { 
    if (isset($_SESSION['user_login_status']) AND $_SESSION['user_login_status'] == 1)    
{ 
    return true; 
    } 

    return false; 
    } 
} 

anyhelp будет решетка ..

Заранее спасибо.

+0

Нам нужно будет увидеть намного больше кода и получить более подробную информацию о проблеме. Вы получаете сообщения об ошибках? Любые результаты? –

+0

Вы не получаете доступ к своей проблеме правильно, вы возьмете isset ($ _ GET ['id']) –

ответ

1

Из всего, что вы дадите нам: Существует большая проблема: вы смотрите для входа в систему, когда люди на странице index.php?id=2

Так вар вы ожидаете в $_GET не user, но id!

if(isset($_GET['id']) 
+0

Да, я видел это, однако я не могу понять, где разместить код .. – DigitalOutcast

Смежные вопросы