Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Campistaaa

Painel de Usuários - Com Problemas

Recommended Posts

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;
  ?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)
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.

Editado por JonathanMMachado

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • 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

    Compartilhar este post


    Link para o post
    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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Ainda continua com o mesmo erro T-T

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @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;
    ?>

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • @DiF MDS mano, vce e absurdamente bom, porque n cria um canal ensinando php, css essas coisas. Você e muito bom nisso, eu sei que ia crescer rapidinho.

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×