2013-07-09 3 views
0

Так что я пытаюсь показать пользователям имя_пользователя после того как он или она вошел в систему, но я просто не могу заставить его работать ... Вот коды я использую:Показать имя пользователя после входа в систему

. Во-первых, пользователь должен войти

<div> 
    <form method="POST" action="login.php"> 
     <h2>LOGIN</h2> 
     <input type="text" placeholder="Username" name="username" /> 
     <input type="password" placeholder="Password" name="password" /> 

     <br /> 

     <input class="btn btn-large btn-primary" type="submit" name="login" value="Log In" /> 
    </form> 
    </div> 

После использования формы, это sript загрузит, это «login.php»:

<?php 

session_start(); 
if(!$_SERVER['REQUEST_METHOD'] == 'POST') { 
    echo "Go away.<br /><br />"; 
    exit(); 
} 


     if(mysql_connect('localhost', 'root', '')) { 
    if(mysql_select_db('users')) { 
     $username = $_POST['username']; 
     $password = $_POST['password']; 

     $query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'"; 
     $zoekresultaat = mysql_query($query); 

     if($zoekresultaat = mysql_affected_rows() > 0) { 
      $record = mysql_fetch_assoc($zoekresultaat); 

      $_SESSION['login'] = true; 
      $_SESSION['username'] = $record['username']; 

      header('location: dashboard.php'); 
      } else { 
       header('location: loginerror.php'); 
      } 
      exit(); 
    } exit(); { 
     echo "Can't find database."; 
    } 
} else { 
    echo "Can't connect to database."; 
} 

?> 

Когда это будет сделано, пользователь получает перенаправлен на «dashboard.php», который является из-за:

<?php include "includes/menu.php";?> 


<div id='content'> 
<h1><strong>Welkom <?php echo $_SESSION['username']; ?></strong></h1> 
<p></p> 
</div> 


<?php include "includes/foot.php";?> 

проблема, когда я пытаюсь войти, я получаю следующее сообщение об ошибке:

Примечание: Undefined переменной: _SESSION в D: \ XAMPP \ HTDOCS \ NGP \ dashboard.php в строке 5

Я действительно потерялся и надеюсь получить здесь несколько ответов! Спасибо заранее!

+0

Прежде чем использовать $ _SESSION, вы должны сделать session_start(). –

+1

Вы храните пароли в ясном тексте! Никогда не делай этого! Храните только соленый хэш паролей. –

+0

Сохранение паролей в текстовом виде является наименее опасным, если соединение с базой данных выполняется на пользователе root. – skrilled

ответ

3

Включите session_start(); строка в общем файле include.

+0

Спасибо! Оно работает! –