2015-12-11 4 views
0

У меня возникают проблемы с отображением информации о моих пользователях, которую они ввели при регистрации, после того, как они снова вошли в систему. Как только я зарегистрирую информацию, она будет правильно отображаться на моей странице учетной записи, но когда я выйду из системы и вернусь к ней, информация исчезнет. Как я могу получить доступ к информации для моего входа в систему?Отображать информацию о пользователях с MySQL и PHP

Это мой пользователь.

<?php 

include 'global_settings.php'; 

function NewUser() { 
    $firstName = $_POST['firstName']; 
    $lastName = $_POST['lastName']; 
    $email = $_POST['email']; 
    $username = $_POST['username']; 
    $password = $_POST['password']; 
    $query = "INSERT INTO userlogin (firstName, lastName, email, username, password) VALUES ('$firstName', '$lastName', '$email', '$username', '$password')"; 
    $data = mysql_query ($query)or die(mysql_error()); 
    if($data) { 
     session_start(); 
     $_SESSION["firstName"] = $firstName; 
     $_SESSION["lastName"] = $lastName; 
     $_SESSION["userName"] = $username; 
     $_SESSION["email"] = $email; 
     header("Location: ../chooseyoursport.php"); 
    } 
} 
NewUser(); 

function SignUp() { 
    if(!empty($_POST['username'])){ //checking the 'user' name which is from Sign-Up.html, is it empty or have some text 
     $query = mysql_query("SELECT * FROM userlogin WHERE Username = $username AND Password = $password") or die(mysql_error()); 
     if(!$row = mysql_fetch_array($query) or die(mysql_error())) { 
      newuser(); 
     } else { 
      echo "SORRY...YOU ARE ALREADY REGISTERED USER..."; 
     } 
    } 
} 
if(isset($_POST['submit'])) { 
    SignUp(); 
} 
?> 

Это мой логин пользователя.

<?php 
    error_reporting(0); 
    session_start(); 
    include 'global_settings.php'; 

    //Convert POST to normal variables 
    $password = $_POST['password']; 
    $username = $_POST['username']; 

    $sql = mysql_query("SELECT * FROM userlogin WHERE Username='$username' AND Password='$password'"); 
    $login_check = mysql_num_rows($sql); 

    // if login_check is greater than 0 then it will register a session (meaning if the user exists username and password are both correct) 

    if($login_check > 0){ 
     while($row = mysql_fetch_array($sql)){ 
      foreach($row AS $key => $val){ 
       $$key = stripslashes($val); 
      } 
      session_start(); 
      $_SESSION["firstName"] = $firstName; 
      $_SESSION["lastName"] = $lastName; 
      $_SESSION["userName"] = $username; 
      $_SESSION["email"] = $email; 
      header("Location: ../chooseyoursport.php"); 
      //echo "It worked"; 
     } 
    } else { 
     echo "You could not be logged in! Either your username or password is incorrect <br> Please try again!"; 
    } 


?> 
+0

искренне сомневающихся ваш пользователь подписаться код работает. Не с этими недостающими кавычками в запросе 'WHERE Username = $ username AND Password = $ password") ' –

+0

, и это не поможет вам' error_reporting (0); ' –

+0

[Ваш скрипт подвержен риску инъекций SQL.] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –

ответ

0

1) $$key = stripslashes($val); Double $$

2) Данные, которые вы кладете в $ _SESSION пусто;

3) session_start(); 2 раза в пространстве одной программы

4) И все остальное, что ребята уже говорили выше

 foreach($row AS $key => $val){ 
      $$key = stripslashes($val); 
     } 
     session_start(); 
     $_SESSION["firstName"] = $firstName; 
     $_SESSION["lastName"] = $lastName; 
     $_SESSION["userName"] = $username; 
     $_SESSION["email"] = $email; 
     header("Location: ../chooseyoursport.php"); 
Смежные вопросы