Módulo 2 -aula 12

Home Fóruns PHP/MYSQL Módulo 2 -aula 12

Visualizando 7 respostas da discussão
  • Autor
    Posts
    • #96790
      Rui Aparecido Braz
      Participante

      Quando insiro um usuário com mesmo login, a mensagem com login já existente não aparece, aparece é uma tela em branco.

      seque parte do arquivo em que a mensagem deveria aparecer, mas não aparece:

      if($senha1 === $senha2) {
      if(empty($usuario) || empty($nome) || empty($senha1) || empty($senha2) || empty($tipo)) {
      echo msg_erro(“Todos os dados são obrigatórios!”);
      } else {
      $senha = gerarHash($senha1);
      $q = “INSERT INTO usuarios(usuario, nome, senha, tipo) VALUES(‘$usuario’, ‘$nome’, ‘$senha’, ‘$tipo’)”;
      if($banco->query($q)) {
      echo msg_sucesso(“Usuário $nome cadastrado com sucesso!”);
      } else {
      echo msg_erro(“Não foi possível criar o usuário $usuario. Talvez o login já esteja sendo usado”);
      }
      }
      } else {
      echo msg_erro(“Senhas não conferem. Repita o procedimento.”);
      }
      }

      }

      echo voltar();

      ?>

    • #96822
      Tutora Jessica
      Moderador

      Bom dia Rui, me envie por favor o seu código completo para que eu possa fazer testes, você chegou a ver se esta incluindo certinho no banco?

    • #96839
      Rui Aparecido Braz
      Participante

      No banco de esta tudo ok!

      codigo completo:

      <!DOCTYPE html>
      <html lang=”pt-br”>
      <head>
      <title>Título da Página</title>
      <meta charset=”UTF-8″/>
      <link rel=”stylesheet” type=”text/css” href=”estilos/estilo.css”/>
      <link rel=”stylesheet” href=”https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200″ />
      <title>Cadastrar novo usuário</title>
      </head>
      <body>
      <?php
      require_once “includes/banco.php”;
      require_once “includes/login.php”;
      require_once “includes/funcoes.php”;
      ?>
      <div id=”corpo”>
      <?php
      if(!is_admin()) {
      echo msg_erro(‘Área restrita! Você não é administrador!’);
      } else {
      if (!isset($_POST[‘usuario’])) {
      require “user-new-form.php”;
      } else {
      $usuario = $_POST[‘usuario’] ?? null;
      $nome = $_POST[‘nome’] ?? null;
      $senha1 = $_POST[‘senha1’] ?? null;
      $senha2 = $_POST[‘senha2’] ?? null;
      $tipo = $_POST[‘tipo’] ?? null;

      if($senha1 === $senha2) {
      if(empty($usuario) || empty($nome) || empty($senha1) || empty($senha2) || empty($tipo)) {
      echo msg_erro(“Todos os dados são obrigatórios!”);
      } else {
      $senha = gerarHash($senha1);
      $q = “INSERT INTO usuarios(usuario, nome, senha, tipo) VALUES(‘$usuario’, ‘$nome’, ‘$senha’, ‘$tipo’)”;
      if($banco->query($q)) {
      echo msg_sucesso(“Usuário $nome cadastrado com sucesso!”);
      } else {
      echo msg_erro(“Não foi possivel criar o usuário $usuario. Talvez o login já esteja sendo usado.”);
      }
      }
      } else {
      echo msg_erro(“Senhas não conferem. Repita o procedimento.”);
      }
      }
      }

      echo voltar();
      ?>
      </div>
      </body>
      </html>

    • #96874
      Tutora Jessica
      Moderador

      Olá Rui, então, analisei direitinho e seu código esta completo, ele da algum erro específico?
      Se sim, compartilhe aqui o erro, senão, você pode dar uma olhadinha na função voltar para ver se esta completa também, pois nessa parte do código esta tudo correto.
      Ele só fica nessa tela branca quando é repetido o mesmo usuário?
      Te aguardo 🖖

    • #96911
      Rui Aparecido Braz
      Participante

      Olá Jessica, o que acontece é o seguinte a tela em branco só aparece quando vou cadastrar um usuário com mesmo login, nas demais etapas tudo ocorre como manda o script.

    • #96932
      Tutora Jessica
      Moderador

      Bom dia Rui, revise novamente a função msg_erro e a função voltar, ou nos envie aqui os códigos dessas funções para que possamos lhe ajudar, o erro pode estar dentro dessas funções, já que nesse código enviado não tem nenhum erro.
      Te Aguardo 🖖

    • #96941
      Rui Aparecido Braz
      Participante

      Segue as referidas funções:

      function voltar() {
      return “<span class=’material-symbols-outlined’>
      arrow_back_ios
      </span>
      “;
      }

      function msg_erro($m) {
      $resp = “<div class=’erro’><span class=’material-symbols-outlined’>
      Cancel
      </span>$m</div>”;
      return $resp;
      }

    • #96991
      Tutora Jessica
      Moderador

      Olá Rui, veja se consigo me fazer entender, você vai precisar ir depurando o código, no caso testando cada função, ai ao invés de colocar uma div para ver se mostra tudo, você pode por um echo, para ver se funciona.
      Se funcionar e aparecer certinho é sinal de que a função está sendo chamada e ai é só resolver a div.
      Senão aparecer tem que rever o código que chamou antes, porque a função não está sendo chamada.
      Espero que assim você consiga resolver o problema.
      Boa sorte e bons estudos! 🖖🏽

Visualizando 7 respostas da discussão
  • Você deve fazer login para responder a este tópico.