Как я могу отобразить имя пользователя во всех следующих страницах после успешного входа в систему с помощью HTML PHP?

голоса
1
<?php
    session_start();
    $host=localhost;
    $username=root;
    $admin=$_POST['Name'];
    $pass=$_POST['Password'];
    $dummy=0;
    $con=mysqli_connect($host,$username,'');
    mysqli_select_db($con,package);
    $query=select * from admin where admin_id like '$admin' ;
    $sql=mysqli_query($con,$query);
    while($row=mysqli_fetch_array($sql,MYSQLI_ASSOC))
    {   
        $dummy=1;
        if($row['password']=='$pass')
        {
            header(Location:booking.html);
        }
        else
        {
            $_SESSION['user'] = $admin;
            header(Location:admin_login.php);
        }
    }
    if($dummy==0)
    {
        header(Location:contact.html);
    } 
    mysqli_close($con);
?>

Это мой админ страница Войти в PHP, как я должен хранить имя пользователя и использовать его в HTML? Я использовал session_start (), но не знаю, как использовать это на странице HTML

Задан 20/10/2018 в 05:21
источник пользователем
На других языках...                            


3 ответов

голоса
1

Прежде всего, у вас есть какая-то ошибка в отображаемом файле PHP, см ниже для исправления:

<?php

session_start();
$host="localhost";
$username="root";
$admin=$_POST['Name'];
$pass=$_POST['Password'];
$dummy=0;
$con=mysqli_connect($host,$username,'');
mysqli_select_db($con,"package");
$query="select * from admin where admin_id like '$admin' ";
$sql=mysqli_query($con,$query);
while($row=mysqli_fetch_array($sql,MYSQLI_ASSOC))
{   
    $dummy=1;
    if($row['password']=='$pass')
    {
        $_SESSION['user_id'] = $row['admin_id'];
        $_SESSION['user'] = $admin;
        header("Location:booking.html");
        exit();
    }
    else
    {
        header("Location:admin_login.php");
        exit();
    }
}
if($dummy==0)
{
    header("Location:contact.html");
    exit();
} 
mysqli_close($con);

?>

я закрепилась ниже 2 Ошибки в коде:

  1. Вы должны написать exit()после вызова header('location:...'). В противном случае выполнение скрипта будет продолжаться, оно не прекратится сам.
  2. Вы должны установить $_SESSION['user']переменную , если Имя пользователя и пароль соответствуют с записью базы данных , но вы устанавливаете переменную сеанса , если пароль не совпадают, то это не будет работать.

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

<?php
session_start();
if ( ! isset($_SESSION["user_id"]) || empty($_SESSION["user_id"]) )
{
   header("Location:admin_login.php");
   exit();
}
// if user is authentic then display username
echo " Hello, " . $_SESSION["user"];
Ответил 20/10/2018 в 10:54
источник пользователем

голоса
0

Показать Войти имя пользователя на всех страницах.

  1. изменить все расширения страницы .html в .php
  2. Вы уже установили сеанс на странице входа в систему т.е. $ _SESSION [ «пользователь»] = $ администратора;
  3. использовать ниже код для отображения значения сеанса во всех страницах.

    session_start();
    echo $_SESSION['user'];
    

определить session_start (); верх страницы и эхо стоимости сеанса через страницу, где вы хотите.

Ответил 20/10/2018 в 06:03
источник пользователем

голоса
0

При использовании session_start () , печенье отправляется пользователю, и на каждой странице вы вызываете session_start () позволяют получить доступ к супер глобальному $ _SESSION.

Когда пользователь прошел проверку подлинности, вы можете установить:

$_SESSION["Username"] = $username;
$_SESSION["UserID"] = $userid;

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

if ( ! empty ( $_SESSION["UserID"]))
{
  // User is authenticated
  echo "Welcome back, " . $_SESSION["Username"] . "!";
}

Все переменная добавляется в $ _SESSION будет доступна для будущих страниц при запуске сеанса. Вам не нужно ничего делать, чтобы сохранить эти данные, PHP будет делать это автоматически, когда выполнение скрипта заканчивается.

Ответил 20/10/2018 в 05:35
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more