отображать данные из базы данных, в которую я вхожу

Я новичок в пхп. Захожу под админом и пароль бла-бла-бла. Я перенаправляю страницу login.php на страницу adminMain.php. в adminMain.php

Я хочу отображать приветствие __ как __. это пустое пространство - это данные, которые я вызываю из базы данных. добро пожаловать азлан как администратор.

azlan — это идентификатор пользователя, а admin — это роль пользователя в базе данных, но когда я пробую эту кодировку, она появляется. но он появляется и у другого пользователя.

пример: приветствуйте азлана как администратора и приветствуйте абу как администратора

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

Благодарю. это мой adminMain.php

<?php

 mysql_connect("localhost","mhmdazlan","baby900") or die(mysql_error());
 mysql_select_db("epbthelpdesk") or die(mysql_error());

 $query = "SELECT * FROM login"; 
 $result = mysql_query($query); 
  while($row = mysql_fetch_array($result, MYSQL_ASSOC))
  {
     echo $row['username'] . " " . $row['userrole'];
        echo "<br>";
  }


?>

php
person lightyagami    schedule 21.08.2014    source источник
comment
Семейство PHP MySQL устарело, и его поддержка прекратится. Пожалуйста, просмотрите PDO или Mysqli. Я надеюсь, что это не ваш настоящий пароль в коде.   -  person ljacqu    schedule 21.08.2014
comment
SELECT * FROM login возвращает каждую строку из таблицы входа. Вам нужно добавить в запрос предложение WHERE, чтобы добавить имя пользователя, вошедшего в систему. Это также понадобится вам для самой процедуры входа, потому что вам нужно проверить имя пользователя и пароль для существующих учетных записей.   -  person GolezTrol    schedule 21.08.2014


Ответы (4)


трудно не видеть ваш код, но на данный момент вы извлекаете каждое поле из логина. должно быть как

$query = "ВЫБЕРИТЕ * ИЗ логина, где имя пользователя = '$ имя пользователя' и роль пользователя = '$ пользовательская роль' ";

person Display name    schedule 21.08.2014

Пытаться

https://github.com/joshcam/PHP-MySQLi-Database-Class

Образец кода

<?php

require_once ('MysqliDb.php');

$db = new MysqliDb ('localhost', 'mhmdazlan', 'baby900', 'epbthelpdesk');

if(isset($_POST['username'])) $username = $_POST['username']; else die('no username');

$cols = array("username", "userrole");
$db->where("username", $username);
$user = $db->getOne("login",$cols);

if($user) {
    var_dump($user);
}
else die('no user');
person Teodor    schedule 21.08.2014

Попробуй это

    <?php


      $con=mysql_connect("localhost","mhmdazlan","baby900","epbthelpdesk");
     // Check connection
     if (mysql_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysql_connect_error();
     }
      $query = "SELECT * FROM login"; 
      $result = mysql_query($query,$con); 
      while($row = mysql_fetch_array($result))
      {
          echo $row['username'] . " " . $row['userrole'];
          echo "<br>";
      }


    ?>
person Jangya satapathy    schedule 21.08.2014
comment
да появляется. но в данных базы данных появляются все администраторы и пользователи. я хочу, чтобы отображались данные пользователя, под которым я вошел в систему. - person lightyagami; 27.08.2014
comment
Измените свой запрос, например «SELECT * FROM login WHERE username=ваше введенное имя пользователя LIMIT 1», или вы также можете передать идентификатор пользователя. - person Jangya satapathy; 28.08.2014

вы хотите получить только информацию о вошедшем в систему администраторе. Поэтому вы должны использовать предложение where в своем запросе.

  <?php

 mysql_connect("localhost","mhmdazlan","baby900") or die(mysql_error());
 mysql_select_db("epbthelpdesk") or die(mysql_error());

 $query = "SELECT * FROM login where username=your entered name"; 
 $result = mysql_query($query); 
  while($row = mysql_fetch_array($result, MYSQL_ASSOC))
  {
     echo $row['username'] . " " . $row['userrole'];
        echo "<br>";
  }


?>
person arunrc    schedule 21.08.2014