- Este tópico contém 7 respostas, 2 vozes e foi atualizado pela última vez 2 anos, 4 meses atrás por Tutora Jessica.
-
AutorPosts
-
-
3 de julho de 2022 às 18:02 #96790Rui Aparecido BrazParticipante
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();
?>
-
4 de julho de 2022 às 09:56 #96822Tutora JessicaModerador
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?
-
4 de julho de 2022 às 14:41 #96839Rui Aparecido BrazParticipante
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> -
5 de julho de 2022 às 09:20 #96874Tutora JessicaModerador
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 🖖 -
5 de julho de 2022 às 21:47 #96911Rui Aparecido BrazParticipante
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.
-
6 de julho de 2022 às 09:59 #96932Tutora JessicaModerador
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 🖖 -
6 de julho de 2022 às 13:21 #96941Rui Aparecido BrazParticipante
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;
} -
7 de julho de 2022 às 11:25 #96991Tutora JessicaModerador
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! 🖖🏽
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.