Ir ao conteúdo
  • Cadastre-se

Painel de Usuários - Com Problemas


Posts recomendados

Alguém poderia identificar o erro desse código? Eu estava querendo criar um painel de administrador, e nesse painel, eu estava criando um painel onde aparecia os usuários cadastrados, só que, quando vou acessar ele está dando esse erro.

 

Painel de Usuários - Erro

Screenshot_12.thumb.png.d6512b08e77ab480d0715e4388b13086.png

 

Código do Painel de Usuários - localizar_todos_clientes.php

<?php
include 'conexao.php';
$busca=mysqli_query("Select login, senha From cadastros where login");
    
    while ($reg=mysqli_fetch_assoc($busca))()
    {
        echo "<hr>";
        echo "<br>Login: " . $_POST['login'];
        echo "<br>Nome: " . $_POST['nome'];
    }
?>

Banco de Dados - conexao.php

<?php
      $conexao = mysqli_connect("localhost","root", "", "carlos-sampaio");
    
      if (mysqli_connect_errno()):
         echo "Falha ao conectar ao MySQL: " . mysqli_connect_error();
  endif;
  ?>

 

Link para o comentário
Compartilhar em outros sites

21 minutos atrás, Campistaaa disse:

while ($reg=mysqli_fetch_assoc($busca))()     {         echo "<hr>";         echo "<br>Login: " . $_POST['login'];         echo "<br>Nome: " . $_POST['nome'];     }

 

O while é da seguinte maneira:

while(true){
	// Do something
}

 

E no seu código tem parênteses adicionais.

while ($reg=mysqli_fetch_assoc($busca))() #Não deve existir esses parênteses adicionais
{
  echo "<hr>";
  echo "<br>Login: " . $_POST['login'];
  echo "<br>Nome: " . $_POST['nome'];
}

 

Sem os parênteses fica assim:

while ($reg=mysqli_fetch_assoc($busca))
{
  echo "<hr>";
  echo "<br>Login: " . $_POST['login'];
  echo "<br>Nome: " . $_POST['nome'];
}

 

Acredito que com essa correção de sintaxe já ajude.

Link para o comentário
Compartilhar em outros sites

5 minutos atrás, JonathanMMachado disse:

 

O while é da seguinte maneira:


while(true){
	// Do something
}

 

Ou seja, no seu código:


while ($reg=mysqli_fetch_assoc($busca))() #Não deve existir esses parênteses adicionais
{
  echo "<hr>";
  echo "<br>Login: " . $_POST['login'];
  echo "<br>Nome: " . $_POST['nome'];
}

Sem os parênteses fica assim:

while ($reg=mysqli_fetch_assoc($busca))
{
  echo "<hr>";
  echo "<br>Login: " . $_POST['login'];
  echo "<br>Nome: " . $_POST['nome'];
}

Acredito que com essa correção de sintaxe já ajude.

Agora apareceu outro problema, e aquele ainda persiste.Screenshot_16.thumb.png.83799523ea52681a80cb8b164f3c42cd.png

Link para o comentário
Compartilhar em outros sites

@Campistaaa

É necessario passar 2 parametros na funcão :

no seu esta assim :

44 minutos atrás, Campistaaa disse:

$busca=mysqli_query("Select login, senha From cadastros where login");

 

deve ser assim :

$busca=mysqli_query("Select login, senha From cadastros where login", $conexao);

$conexao é a variavel do seu conexao.php

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Campistaaa Olá, 

 

Vamos aos erros.

 

1) Sua query de busca está errada.   Se quer listar todos os usuários cadastrados não precisa do where.

$busca=mysqli_query("Select login, senha From cadastros");

Mas não é só isso.  o mysqli_query() espera dois parâmetros como já foi citado. O parâmetro é referente a conexao. e ela precisa ser a primeira:

 

$busca=mysqli_query($conexao,  "Select login, nome From cadastros");

Além disso, não é legal listar as senhas, então troque para o nome  dela.

 

2) o WHILE tem parenteses a mais, como já foi mencionado também.

 Como você está usando a sintaxe alternativa no IF,  use-a no while também.  Também troque o assoc por array ou object..  por preferência, recomendo o object.

 

while ($reg = mysqli_fetch_object($busca)):

  echo "<hr>
        Login: $reg->login <br>
        Nome:  $reg->nome <br>
       ";
endwhile;

Note que no seu código você está tentando imprimir em tela com $_POST[]  , seria só quando você emitisse dados por um form. como vem do banco de dados, precisa usar a variável que foi designada para os dados no caso o $reg.

PS: o formato "  ->login " é característico do feth_object()

Assim você trata o dado como objeto. Fica muito mais limpo.

 

Então seu código completo fica:

 

<?php
include 'conexao.php';
$busca = mysqli_query($conexao, "Select login, nome From cadastros");
    
    while ($reg = mysqli_fetch_object($busca)):
    
        echo "<hr>
              Login:  $reg->login <br/>
              Nome:   $reg->nome<br/>";
    endwhile;
?>

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...