Login and null php data

Asked

Viewed 77 times

0

I’m having a problem with the login and profile function. What I understood from the tests was that when a var_dump is given in $_SESSION it shows an array that comes NULL and another with the information. Is it possible to have 2 different sessions ? Because renaming one of the sessions to $_SESSION2 (I don’t know if you can) takes only an array with the information. But still in checking the profile page the information arrives in that NULL check even taking all fields (I debugged the code and it seems that does not send the information to profile.php).

In the code is var_dump ($_SESSION); var_dump ($password); var_dump ($users); Exit; after session_start(); and before put the variables in $_SESSION returns me 2 of the same array being one of them NULL and another with the correct data also and does not speak that I have undefined variables, however, putting the "var_dump" then says that my variables are null

<?php

include("conexao.php");
//require '../PDO/init.php';


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

// resgata variáveis do formulário
$nome = isset($_POST['nome']) ? $_POST['nome'] : '';
$senha = isset($_POST['senha']) ? $_POST['senha'] : '';

//se estiver vazio
 if (empty($nome) && empty($senha))
 {

  //header("Location: ../pages/perfil.php");
    echo "Informe email e senha";
    exit;
}


$sql = $conn->prepare("SELECT * FROM cadastrotime WHERE nome=:NOME AND senha=:SENHA");
 /*var_dump ($senha);
 exit;*/

$sql->bindParam(':NOME', $nome);
$sql->bindParam(':SENHA', $senha);

$sql->execute();

$users = $sql->fetchAll(PDO::FETCH_ASSOC);
//echo "<pre>"; print_r($users); echo "</pre>";

if (count($users) <= 0)
{ /*var_dump ($senha);
  exit;*/
    header("Location: ../pages/login.php");
    echo "nome ou senha incorretos";
    exit;
}

// pega o primeiro usuário

//echo "<pre>"; print_r($users); echo "</pre>";
/*var_dump ($users);
exit;*/  

session_start();
/*var_dump ($_SESSION);
var_dump ($senha);
var_dump ($users);
exit;*/ /* AQUI RETORNA 2 ARRAY UM DELES SENDO NULL */
$_SESSION['logged_in'] = true;
$_SESSION['user_id'] = $users['id'];
$_SESSION['user_nome'] = $users['nome'];
$_SESSION['user_email'] = $users['email'];
$_SESSION['user_senha'] = $users['senha'];
$_SESSION['user_nomeLider'] = $users['nomeLider'];
$_SESSION['user_pais'] = $users['pais'];
$_SESSION['user_qtdJogador'] = $users['qtdJogador'];
$_SESSION['user_cpf'] = $users['cpf'];
$_SESSION['user_membro1'] = $users['membro1'];
$_SESSION['user_membro2'] = $users['membro2'];
$_SESSION['user_membro3'] = $users['membro3'];
$_SESSION['user_membro4'] = $users['membro4'];
$_SESSION['user_membro5'] = $users['membro5'];
//echo "<pre>"; print_r($users); echo "</pre>";
/*var_dump ($_SESSION);
var_dump ($senha);
var_dump ($users);
exit;*/ /* AQUI RETORNA 2 ARRAY UM DELES SENDO NULL E FALANDO "Undefined index: "variavel" in "meu arquivo"*/




header('Location: ../pages/perfilTime.php');

?>  
```  
aqui o meu html só com o formulário
```    
<?php
//session_start();
include("../PDO/conexao.php");
require_once '../PDO/init.php';

if(!isset($_SESSION['user_nome']) && !isset($_SESSION['user_senha']) )
var_dump($_SESSION['user_nome']);
var_dump($_SESSION['user_senha']);
exit;
//header("location:../pages/index.php");

?>


        <!-- FORMULARIO DE EDIÇÃO -->


        <div class ="formulario">
        <form method="POST" action="../PDO/alteraTime.php">
        <div class="card">      
            <div class="card-body">
              <h4 class="card-title">Painel de edição do Time</h4>
              <p>Bem-vindo ao seu painel, <?php echo $_SESSION['user_nome']; ?> | <a href="../PDO/logout.php">Sair</a></p>
              <!-- ../PDO/logout.php -->
                <p class="card-description">
                  Basic form layout
                </p>

            <form class="forms-sample">
              <div class="form-group">
                <label for="exampleInputEmail1">NOME</label>

                <input type="text" name="nome" class="form-control" value="<?php  echo $_SESSION['user_nome'];?>">

              </div>

            <div class="form-group">
              <label for="exampleInputEmail1">EMAIL</label>
                <input type="email" name="email" class="form-control" id="email" value="<?php  echo $_SESSION['user_email'];?>">
            </div>

            <div class="form-group">
              <label for="exampleInputPassword1">SENHA</label>
                <input type="text" name="senha" class="form-control" id="senha" value="<?php echo $_SESSION['user_senha'];?>">
            </div>

            <div class="form-group">
              <label for="exampleInputEmail1">Nome do Líder</label>
                <input type="text" name="cpf" class="form-control" id="cpf" value="<?php echo $_SESSION['user_nomeLider']?>">
            </div>

            <div class="form-group">
              <label for="exampleInputEmail1">Pais de origem</label>
                <input type="text" name="cpf" class="form-control" id="cpf" value="<?php echo $_SESSION['user_pais']?>">
            </div>

            <div class="form-group">
              <label for="exampleInputEmail1">Quatidade de jogadores</label>
                <input type="text" name="cpf" class="form-control" id="cpf" value="<?php echo $_SESSION['user_qtdJogador']?>">
            </div>

            <div class="form-group">
              <label for="exampleInputEmail1">CPF do Líder</label>
                <input type="text" name="cel" class="form-control" id="cel" value="<?php echo $_SESSION['user_cpf']?>">
            </div>

            <div class="form-group">
              <label for="exampleInputEmail1">Membro 1 do time</label>
                <input type="text" name="cel" class="form-control" id="cel" value="<?php $_SESSION['user_membro1']?>">
            </div>

            <div class="form-group">
              <label for="exampleInputEmail1">Membro 2 do time</label>
                <input type="text" name="cel" class="form-control" id="cel" value="<?php echo $_SESSION['user_membro2']?>">
            </div>

            <div class="form-group">
              <label for="exampleInputEmail1">Membro 3 do time</label>
                <input type="text" name="cel" class="form-control" id="cel" value="<?php echo $_SESSION['user_membro3']?>">
            </div>

            <div class="form-group">
              <label for="exampleInputEmail1">Membro 4 do time</label>
                <input type="text" name="cel" class="form-control" id="cel" value="<?php echo $_SESSION['user_membro4']?>">
            </div>

            <div class="form-group">
              <label for="exampleInputEmail1">Membro 5 do time</label>
                <input type="text" name="cel" class="form-control" id="cel" value="<?php echo $_SESSION['user_membro5']?>">
            </div>

            <button type="submit" class="btn btn-success mr-2">CONFIRMAR</button>

              <button class="btn btn-light">CANCELAR</button>
              </form>
              </div>
            </div>
          </div>

          <!-- FIM FORMULÁRIO -->


``


  • instead of fetchAll use only fetch that will bring only the first record since it comes to login and password, test and if it doesn’t work you call the array using number, example: instead of $users['id'] use $users[0] etc to do the test

  • I already discovered the error, I forgot to set to search $users = $sql->fetchAll(PDO::FETCH_ASSOC)[0]; to return only the first line that query information hit

No answers

Browser other questions tagged

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