2015-06-10 2 views
0

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

У меня есть этот сценарий входа, который я адаптировал из онлайн-учебника. То, что я хотел бы сделать, - это войти в систему с именем пользователя и паролем, и если они верны, имейте в виду, что результаты их работы в другой таблице (той же базе данных) отображаются и отображаются. Я могу заставить его войти, но все. Вот код Логин:

<?php //Start the Session 
session_start(); 
require('connect.php'); 
//3. If the form is submitted or not. 
//3.1 If the form is submitted 
if (isset($_POST['username']) and isset($_POST['password'])){ 
//3.1.1 Assigning posted values to variables. 
$username = $_POST['username']; 
$password = $_POST['password']; 
//3.1.2 Checking the values are existing in the database or not 
$query = "SELECT * FROM `user` WHERE username='$username' and password='$password'"; 

$result = mysql_query($query) or die(mysql_error()); 
$count = mysql_num_rows($result); 
//3.1.2 If the posted values are equal to the database values, then session will be created for the user. 
if ($count == 1){ 
$_SESSION['username'] = $username; 
}else{ 
//3.1.3 If the login credentials doesn't match, he will be shown with an error message. 
echo "Invalid Login Credentials."; 
} 
} 
//3.1.4 if the user is logged in Greets the user with message 
if (isset($_SESSION['username'])){ 
$username = $_SESSION['username']; 
echo "Hi " . $username . "! "; 
echo "This is the results of your inquiry.<br><br>"; 




/*This is where I'm assuming the new query needs to go. 
Query a different table named "data" and pick out information according to 
$username which was put in earlier */ 




echo "<br><a href='logout.php'>Logout</a>"; 

}else{ 
//3.2 When the user visits the page first time, simple login form will be displayed. 
?> 
<!DOCTYPE html> 

<html> 
<head> 
    <title>Lab Sign In Page</title> 
    <link rel="stylesheet" type="text/css" href="style.css"> 
</head> 

<body> 
    <!-- Form for logging in the users --> 

    <div class="register-form"> 
    <?php 
     if(isset($msg) & !empty($msg)){ 
      echo $msg; 
     } 
    ?> 

    <h1>Login</h1> 

    <form action="" method="post"> 
     <p><label>User Name :</label> <input id="username" type="text" name="username" placeholder= 
     "username"></p> 

     <p><label>Password   :</label> <input id="password" type="password" name="password" 
     placeholder="password"></p><a class="btn" href="register.php">Signup</a> <input class= 
     "btn register" type="submit" name="submit" value="Login"> 
    </form> 
    </div><?php } 


    ?> 
</body> 
</html> 

А «Join» является то, что я получаю, когда я Google его, но это не кажется правильным. Может ли кто-нибудь помочь?

+0

Что вы имеете в виду под "после того, как их результаты лабораторных анализов. И вне темы, в будущем шифруйте пароли, а также загляните в библиотеку mysqli. – VladNeacsu

ответ

0

Вы можете просто использовать другой запрос для получения его легко:

$sql = mysql_query("SELECT * FROM data WHERE user = '" . mysql_real_escape_string($username) . "'"); 

После этого вы можете обработать с этим.

Обратите внимание, что вы не должны использовать MySQL-драйвер, поскольку он устарел, вместо этого используйте MySQLi (mproved). И вам следует избегать значений POSTED, это очень важно!

+0

Спасибо за предложения mysqli. Тем не менее, я все еще дергаюсь. его переход на страницу test.php, которая не существует, потому что ее html внизу. Со старым кодом URL-адрес останется прежним, но страница изменится на эхо приветствия. Новый, похоже, хочет перейти на страницу test.php, которая является формой, но не является несуществующей с момента ее создания на странице login.php. Я знаю, я, наверное, плотный, но действительно ценю вашу помощь. –

0
  1. Ваш последний оператор else пытается повторить HTML.
  2. Вы должны использовать mysqli или PDO, так как mysql устарел.

    <?php //Start the Session 
    session_start(); 
    // require('connect.php'); 
    // Establish connection with database 
    $con=mysqli_connect("localhost","root","","test"); 
    // Check connection 
    if (mysqli_connect_errno()){ echo "Failed to connect to MySQL: " . mysqli_connect_error(); } 
    //3. If the form is submitted or not. 
    //3.1 If the form is submitted 
    if (isset($_POST['username']) and isset($_POST['password'])){ 
        //3.1.1 Assigning posted values to variables. 
        $username = $_POST['username']; 
        $password = $_POST['password']; 
        //3.1.2 Checking the values are existing in the database or not 
        $query = "SELECT * FROM `people` WHERE username='$username' and password='$password'"; 
    
        $result = mysqli_query($con,$query) or die(mysqli_error()); 
        $count = mysqli_num_rows($result); 
        //3.1.2 If the posted values are equal to the database values, then session will be created for the user. 
        if ($count == 1){ 
        $_SESSION['username'] = $username; 
         echo "Valid"; 
        }else{ 
        //3.1.3 If the login credentials doesn't match, he will be shown with an error message. 
        echo "Invalid Login Credentials."; 
        } 
    } 
    
    //3.1.4 if the user is logged in Greets the user with message 
    if (isset($_SESSION['username'])){ 
        $username = $_SESSION['username']; 
        echo "Hi " . $username . "! "; 
        echo "This is the results of your inquiry.<br><br>"; 
    

    echo "Имя пользователя: $ username
    "; echo "Session Username:". $ _ SESSION ['username'];

    // Это то место, где я предполагаю, что новый запрос должен идти. // Запрос другую таблицу с именем «данные» и выбрать информацию в соответствии с $ имя пользователя, который был введен в ранее

    эхо «


    Выход из системы»;

    }else{ 
        //3.2 When the user visits the page first time, simple login form will be displayed. 
    } 
    ?> 
    <!DOCTYPE html> 
    
    <html> 
    <head> 
        <title>Lab Sign In Page</title> 
        <link rel="stylesheet" type="text/css" href="style.css"> 
    </head> 
    
    <body> 
        <!-- Form for logging in the users --> 
    
        <div class="register-form"> 
        <?php 
         if(isset($msg) & !empty($msg)){ 
          echo $msg; 
         } 
        ?> 
    
        <h1>Login</h1> 
    
        <form action="test.php" method="post"> 
         <p><label>User Name :</label> <input id="username" type="text" name="username" placeholder= 
         "username"></p> 
    
         <p><label>Password :</label> <input id="password" type="password" name="password" 
         placeholder="password"></p><a class="btn" href="register.php">Signup</a> <input class= 
         "btn register" type="submit" name="submit" value="Login"> 
        </form> 
        </div> 
    </body> 
    </html>