How do I show a user ID through Sesssions?

Asked

Viewed 221 times

-1

I have the following file for user validation, and I would like to show the user ID, only the test paths, but it does not return me anything in the "menu.php"

php validation.

<?php
// Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
if (!empty($_POST) AND (empty($_POST['email_login']) OR empty($_POST['senha_login']))) {
    header("Location: index.php"); exit;
}
// Tenta se conectar ao servidor MySQL
$conecta = mysqli_connect('localhost', 'root', '') or trigger_error(mysql_error());
// Tenta se conectar a um banco de dados MySQL
mysqli_select_db($conecta, 'bdteste') or trigger_error(mysqli_error());
$usuario = mysqli_real_escape_string($conecta, $_POST['email_login']);
$senha = mysqli_real_escape_string($conecta, $_POST['senha_login']);
// Validação do usuário/senha digitados
$sql = "SELECT `id_system`, `email_system`, `nome_system` FROM `usr_system` WHERE (`email_system` = '". $usuario ."') AND (`senha_system` = '". $senha ."') LIMIT 1";
$query = mysqli_query($conecta,$sql);
if (mysqli_num_rows($query) != 1) {
    // Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
    echo "Login inválido!";  
} else {
    // Salva os dados encontados na variável $resultado
    $resultado = mysqli_fetch_assoc($query);

    // Se a sessão não existir, inicia uma
    if (!isset($_SESSION)) session_start();
    $_SESSION["nome"]  = $resultado["nome_system"];
    // Salva os dados encontrados na sessão
    $_SESSION['UsuarioID'] = $resultado['id_system'];
    // Redireciona o visitante
    header("Location: menu.php");
    exit;
}
?>

    menu.php

    <?php
    session_start();
    // aqui a conexão

    echo "Bem vindo, ".$_SESSION['id_system'];
    ?>

1 answer

0


Hello, In this section you save two variables in the "name" and "User" section"

if (!isset($_SESSION)) session_start();
$_SESSION["nome"]  = $resultado["nome_system"];
// Salva os dados encontrados na sessão
$_SESSION['UsuarioID'] = $resultado['id_system'];

But in the.php menu file, you are trying to access this variable

$_SESSION['id_system'].

You can change the name of this variable $_SESSION['UsuarioID'] for $_SESSION['id_system'] or access $_SESSION['UsuarioID'] in the menu file.

  • Hi, I did what you said and the Index Of error came out. But nothing appears! Just "Welcome, 1" cmo do to appear the name instead of 1?

  • You have already tried to remove this session_start() excerpt from the menu file. And leave it only in the.php validation?

  • This error occurs when you can’t find the index in the array. It’s probably because you re-sign in to the.php menu file.

  • I tried now... it didn’t work!

  • Which return?

  • Vinius, it worked, thank you very much

Show 1 more comment

Browser other questions tagged

You are not signed in. Login or sign up in order to post.