Php - Pick variable by _GET or _POST? How to make name appears instead of Cpf

Asked

Viewed 659 times

0

Well, I’m doing a project where the student enters by Cpf and date of birth. However, in the user div <div=class"user"> in home.php (where the greeting and user name should be) Cpf appears instead of the name.

Which method do I use to make the linked Cpf user name appear?

Div Usuario

The files I am using are, formulary_logon_student, Getting: where to start the Session with Cpf and password; taking the file to home.php if registered, and verifica_student to check the user login. inserir a descrição da imagem aqui

Code of the archives

Gettingin

<?php
    //inicia a sessão
    session_start();
    //verifica se a variavel global de sessão não está setada
    if (!isset($_SESSION['cpf'])){
        //Caso seja verdade, ou seja, a variável não está setada, a sessão é destruida
        session_destroy();
        //Redireciona para o index.php
        header("Location: ../index.php");
        //cancela a execução do PHP
        exit;
    }
    //Caso a variável esteja setada, não faz nada
?>

verifica_alunos.php

<?php

header('Content-Type: text/html; charset=UTF-8');
    //inicia a sessão 
    session_start();
    include "../libs/banco.php";
    //Recebendo login e a senha do form pelo metodo POST
    $cpf        = $_POST['cpf'];
    $nascimento = $_POST['nascimento'];
    //Criando a string de consulta
    $sql = "SELECT * FROM sgmd_alunos WHERE cpf='$cpf' AND nascimento='$nascimento'";
    //Criando um vetor para recuperar os dados do usuário logado
    $linha = mysql_fetch_array(mysql_query($sql));
    //executando a string de consulta
    $sql = mysql_query($sql);
    //verificando quantos registros a consular retona
    $numero = mysql_num_rows($sql);
    //verificar se o usuário é autenticado de fato no banco de dados
    if ($numero==1){
        //Criando uma variavel global de sessão que armazena o login do usuario
        $_SESSION['cpf'] = $linha['cpf'];
        $_SESSION['id'] = $linha['id'];
        //comando header() redireciona para outra página
        header("Location: home.php");
    }
    else{
        header("Location: formulario_login_alunos.php?erro=1");
    }
?>

and home.php NOTE: in home.php a is where the user name should appear

<?php
    include "../libs/banco.php";
    include "../bs.php";
    include "verifica_alunos.php";
?>
<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- As 3 meta tags acima * devem * vir primeiro no head; Qualquer outro conteúdo principal deve vir * após * estas tags -->
    <meta name="description" content="SGMD">
    <meta name="author" content="cairoofelipe">
    <link rel="icon" href="../../favicon.ico">

    <title></title>


  </head>

<body>


    <div class="col-md-10 col-sm-10 col-xs-11">
    <div class="row">
       <div class="header clearfix">
        <nav>
          <ul class="nav nav-pills pull-right">
            <li role="presentation" class="active"><a href="#">Home</a></li>
            <li role="presentation"><a href="#">Sobre</a></li>
            <li role="presentation"><a href="#">Contato</a></li>
          </ul>
        </nav>
        <h4 class="text-muted"></h4>
      </div>
      </div>
      </div>
     <div class="col-md-2 col-sm-2 col-xs-1">
     <div class="row user">
     <h4> <?php echo "Olá ".$_SESSION['cpf'];?></h4>
     </div>
     </div>

    <div class="container">


      <div class="jumbotron">
        <h1>SGMD</h1>
        <p class="lead"></p>
        <form class="form-group">
    <input class="form-control input-lg" type="text" placeholder="Pesquisar no sistema">
    <br>
    <button class="btn btn-success" type="submit">Buscar</button>
        </form>
      </div>

      <div class="row marketing">
        <div class="col-lg-6">
          <a href="pronatec.html"><h4 class="well"></h4></a>
          <a href="#"><h4 class="well">Subheading</h4></a>
          <a href="#"><h4 class="well">Subheading</h4></a>
        </div>

        <div class="col-lg-6">
          <a href="#"><h4 class="well">Subheading</h4></a>
          <a href="#"><h4 class="well">Subheading</h4></a>
          <a href="#"><h4 class="well">Subheading</h4></a>
        </div>
      </div>

      <footer class="footer">
        <p></p>
      </footer>

    </div> <!-- /container -->



    <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
  </body>
</html>

I believe the solution should be some get method, but do not know how to use and make appear the name of the Cpf user

Database:

db

1 answer

2


In this line:

<h4> <?php echo "Olá ".$_SESSION['cpf'];?></h4>

You are saying that the output must be the data contained in the Cpf session variable, can change to the name:

<h4> <?php echo "Olá ".$linha['nome'];?></h4>

Or if you want to do it for the session:

if ($numero==1){
        //Criando uma variavel global de sessão que armazena o login do usuario
        $_SESSION['cpf'] = $linha['cpf'];
        $_SESSION['id'] = $linha['id'];
        $_SESSION['nome'] = $linha['nome'];
        //comando header() redireciona para outra página
        header("Location: home.php");
    }

And then...

<h4> <?php echo "Olá ".$_SESSION['nome'];?></h4>

Browser other questions tagged

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