Write user data in session after login

2

In the login screen I ask to release the access to the system, after that I would like to make a complete query of that user's data and save it in the SESSION.

    <?php
    // inclui o arquivo de inicialização
    require 'init.php';

    // resgata variáveis do formulário
    $email = isset( $_POST[ 'email' ] ) ? $_POST[ 'email' ] : '';
    $telefone = isset( $_POST[ 'telefone' ] ) ? $_POST[ 'telefone' ] : '';
    if ( empty( $email ) || empty( $telefone ) ) {
      echo "Informe Email e Senha corretamente.";
      exit;
    }

    // cria o hash da senha
    $telefoneHash = make_hash( $telefone );

    $PDO = db_connect();
    $sql = "SELECT id, name AND email FROM users WHERE email = :email AND telefone = :telefone ";
    $stmt = $PDO->prepare( $sql );
    $stmt->bindParam( ':email', $email );
    $stmt->bindParam( ':telefone', $telefoneHash );
    $stmt->execute();
    $users = $stmt->fetchAll( PDO::FETCH_ASSOC );
    if ( count( $users ) <= 0 ) {
      echo "Email ou Senha incorretos";
      exit;
    }

    // pega o primeiro usuário
    $user = $users[ 0 ];
    session_start();
    $_SESSION[ 'logged_in' ] = true;
    $_SESSION[ 'user_id' ] = $user[ 'id' ];
    $_SESSION[ 'user_name' ] = $user[ 'name' ];

    //AQUI É QUE PRECISO PREENCHER
    //$_SESSION['user_endereco'] =  $variavelbanco;
    //$_SESSION['user_numero'] =  $variavel2banco;
    ?>
    
asked by anonymous 15.12.2017 / 21:22

1 answer

1

First you change your select:

$sql = "SELECT id, name, email, telefone, endereco, numero, bairro, cidade FROM users WHERE email = :email AND telefone = :telefone ";

Then you fill in:

    $user = $users[ 0 ];
    session_start();
    $_SESSION[ 'logged_in' ] = true;
    $_SESSION[ 'user_id' ] = $user[ 'id' ];
    $_SESSION[ 'user_name' ] = $user[ 'name' ];

    //AQUI É QUE PRECISO PREENCHER
    $_SESSION['user_endereco'] =  $user[ 'endereco' ]." ".$user[ 'numero' ]." - ".$user[ 'bairro' ]." - ".$user[ 'cidade' ];
    $_SESSION['user_numero'] =  $user[ 'telefone' ];
    
16.12.2017 / 16:23