Whiteangel Posted February 14, 2014 at 04:10 PM Report #545276 Posted February 14, 2014 at 04:10 PM Boas pessoal, estou a tentar fazer um login, e esta a funcionar +-, vou mostrar codigo para ver se alguem me consegues dizer poque me dá erro de que a variável senha2 nao esta declarada <?php $nome=$_POST['nome']; $login=$_POST['login']; $senha=$_POST['senha']; $email=$_POST['email']; //$senha2=$_POST['senha']; $conexao=mysql_connect('localhost', 'root','1807'); if(!$conexao) { echo 'Falha na ligação </br>'; echo mysql_error(); exit; } else{ mysql_select_db("empresa", $conexao); $pesquisar = mysql_query("SELECT * FROM login WHERE login='$login'", $conexao) ; $contagem = mysql_num_rows($pesquisar); //traz o resultado da pesquisa acima if ( $contagem == 1 ) { $errors = "Login escolhido já registado.<br>"; //se o login já existir, ele adiciona o erro } if ( $login == "" ) { $errors = "Você não digitou um login<br>"; //confere se o campo login não ficou vazio } if ( $senha == "" ) { $errors = "Você não digitou uma senha<br>"; //confere se o campo senha não ficou vazio } if ( $senha != $senha2 ) { $errors = "Você digitou 2 senhas diferentes.<br>"; //adiciona o erro caso o usuário digitou 2 senhas diferentes } if ( $errors == "" ) { //checa se houve ou não erros no cadastro $cadastrar = mysql_query("INSERT INTO login (nome, login, senha, email) VALUES ('$nome','$login','$senha','$email')", $conexao); //insere os campos na tabela if ( $cadastrar == 1 ) { echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif><br><br><br>Registo com sucesso.</font></div>"; //se cadastrou com sucesso o usuário aparece essa mensagem } else { echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif><br><br><br>Ocorreu um erro no servidor ao tentar se registar.</font></div>"; //caso houver um erro quanto as configurações aparece essa mensagem } } else { echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu os seguintes erros ao tentar se registar:<br><br>$errors</font></div>"; //mostra os erros do usuário, caso houver } } mysql_close($conexao); ?>
HappyHippyHippo Posted February 14, 2014 at 04:14 PM Report #545277 Posted February 14, 2014 at 04:14 PM qual a mensagem real que te é apresentada ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Whiteangel Posted February 14, 2014 at 04:27 PM Author Report #545285 Posted February 14, 2014 at 04:27 PM (edited) qual a mensagem real que te é apresentada ? Notice: Undefined variable: senha2 in C:\xampp\htdocs\Gestao\Enviar_Registo.php on line 39 Ocorreu os seguintes erros ao tentar se registar: Você digitou 2 senhas diferentes. Edited February 14, 2014 at 04:29 PM by Whiteangel
HappyHippyHippo Posted February 14, 2014 at 04:55 PM Report #545291 Posted February 14, 2014 at 04:55 PM que linha de código declara a variável $senha2 antes de a usares na seguinte linha ? if ( $senha != $senha2 ) { // <----------------------------------- $errors = "Você digitou 2 senhas diferentes.<br>"; //adiciona o erro caso o usuário digitou 2 senhas diferentes } IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Whiteangel Posted February 14, 2014 at 05:16 PM Author Report #545295 Posted February 14, 2014 at 05:16 PM que linha de código declara a variável $senha2 antes de a usares na seguinte linha ? if ( $senha != $senha2 ) { // <----------------------------------- $errors = "Você digitou 2 senhas diferentes.<br>"; //adiciona o erro caso o usuário digitou 2 senhas diferentes } nenhuma
HappyHippyHippo Posted February 14, 2014 at 05:21 PM Report #545297 Posted February 14, 2014 at 05:21 PM nenhuma então porque perguntas porque razão dá a mensagem de aviso que a variável não está declarada ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Whiteangel Posted February 14, 2014 at 05:22 PM Author Report #545298 Posted February 14, 2014 at 05:22 PM então porque perguntas porque razão dá a mensagem de aviso que a variável não está declarada ? Mas tenho que a declarar onde?? Nao reconhe no formulario o id="senha2"?
scorch Posted February 14, 2014 at 06:05 PM Report #545309 Posted February 14, 2014 at 06:05 PM No inicio, tens de fazer: $senha2 = $_POST['senha2']; PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.
Whiteangel Posted February 14, 2014 at 06:14 PM Author Report #545316 Posted February 14, 2014 at 06:14 PM No inicio, tens de fazer: $senha2 = $_POST['senha2']; Ja declarei $senha2 = $_POST['senha2']; Agora dá me erro aqui que nao esta declarado $erros, if ( $erros == "" ) { //checa se houve ou não erros no cadastro Mas se o declarar , da-me indice nao definido $erros=$_POST['erros'];
scorch Posted February 14, 2014 at 06:55 PM Report #545322 Posted February 14, 2014 at 06:55 PM Repara, muito provavelmente não tens nenhum elemento no form com o id = erros, pois não? Em termos gerais a variável $_POST contém apenas os dados submetidos por um formulário, o que não tem nada a ver com a função/objectivo da variável $erros. Ou seja, se não existir nenhum erro, a variável não será definida, logo o PHP emite um aviso. A solução é definir a variável $erros como vazia ao inicio: $erros = ''; if ( $contagem == 1 ) { PS: No código que tinhas em cima, a variável chamava-se $errors, e no código em baixo, $erros. PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now