2016-07-06 6 views
-1

Я слежу за этим руководством (http://www.tutorialspoint.com/php/php_mysql_login.htm), чтобы создать пользовательскую Php & MySQL Login System, но я не могу заставить свою работу работать.MySQL Php Login System

Вход в систему может быть неудачным, он проверяет базу данных, он аутентифицирует пользователя как истинный или ложный, но он не перенаправляет пользователя после его завершения. Он просто возвращает их на страницу входа в систему и не отображает элементы HTML, Php или CSS.

Я приложил и ядро ​​login.php & session.php

login.php:

include("databaseconfig.php"); 
    session_start(); 

    if($_SERVER["REQUEST_METHOD"] == "POST") { 
    // username and password sent from form 

    $myusername = mysqli_real_escape_string($db,$_POST['username']); 
    $mypassword = mysqli_real_escape_string($db,$_POST['password']); 

    $sql = "SELECT * FROM pacientes WHERE nombre = '$myusername' and apellidos = '$mypassword'"; 
    $result = mysqli_query($db,$sql); 
    $row = mysqli_fetch_array($result,MYSQLI_ASSOC); 
    $active = $row['active']; 

    $count = mysqli_num_rows($result); 

    // If result matched $myusername and $mypassword, table row must be 1 row 

    if($count == 1) 
    { 
    session_register("myusername"); 
    $_SESSION['login_user'] = $myusername; 

    header("location: http://www.google.com/"); 
    } 
     else { 
     $error = "Your Login Name or Password didn't work!"; 
     } 
    } 

session.php

include('databaseconfig.php'); 
    session_start(); 

    $user_check = $_SESSION['login_user']; 

    $ses_sql = mysqli_query($db,"SELECT nombre FROM pacientes WHERE nombre = '$user_check' "); 

    $row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC); 

    $login_session = $row['nombre']; 

    if(!isset($_SESSION['login_user'])){ 
    header('location: www.google.co.uk'); 
    } 

Я не уверен, почему это не перенаправляясь на новую страницу. Он даже не перенаправляется на Google. Как я сказал;

Подключение к базе данных работает, Код проверяет наличие базы данных, Код не отправляет пользователя на следующую страницу.

Целью этой системы является то, что пользователи войдут в систему и смогут просмотреть свой профиль. Но я не могу заставить систему перенаправить на любую страницу на данный момент.

Я ценю вашу поддержку и надеюсь, что вы сможете помочь.

+0

Вы уверены, что он идет в этом 'если ($ кол == 1)'? –

+0

Проверьте журналы, возможно, у вас есть информация о выходе из памяти перед вызовом 'header'. Кроме того, это плохой учебник, вы должны использовать подготовленные инструкции. –

+0

Неважно, из какой части мира вы находитесь: использование не-английских имен переменных в php или mysql просто неверно. – Peon

ответ

0

Вы должны написать это в login.php

include("databaseconfig.php"); 
    session_start(); 

    if($_SERVER["REQUEST_METHOD"] == "POST") { 
    // username and password sent from form 

    $myusername = mysqli_real_escape_string($db,$_POST['username']); 
    $mypassword = mysqli_real_escape_string($db,$_POST['password']); 

    $sql = "SELECT * FROM pacientes WHERE nombre = '$myusername' and apellidos = '$mypassword'"; 
    $result = mysqli_query($db,$sql); 
    $row = mysqli_fetch_array($result,MYSQLI_ASSOC); 
    $active = $row['active']; 

    $count = mysqli_num_rows($result); 

    // If result matched $myusername and $mypassword, table row must be 1 row 

    if($count > 0) 
    { 
    session_register("myusername"); 
    header('location: http://www.google.com/'); 
    $_SESSION['login_user']=$row['nombre']; 
    } 
     else { 
     echo "Your Login Name or Password didn't work!"; 
     } 
    } 

Надеемся, что это будет решить вашу проблему