Batz Posted March 18, 2012 Report Share Posted March 18, 2012 (edited) Ae pessoal!To começando mexer com php, to fazendo um sitezinho pra testarai eu comecei a fazer cadastro de usuários e coloquei alguns ifs para que mensagens de erro apareçam quando algunsparâmetros não sejam cumpridos.O código php ficou assim:(vish ia por o código dentro dum spoiler pra organizar um pouco o tópico mas deu um erro 404, kkkkk)<?php mysql_select_db('job'); $con = conectar(); $aa_log = $_POST["aa_log"]; $aa_psw = $_POST["aa_psw"]; $aa_psw2 = $_POST["aa_psw2"]; $aa_remb = $_POST["aa_remb"]; $aa_cod = $_POST["aa_cod"]; $aa_sql = "SELECT login FROM handjob"; $aa_chk = mysqlexecuta($con,$aa_sql); include 'config.php'; //INCLUIR A CONEXAO include 'mysqlexecuta.php'; //EXECUTA O SCRIPT DE SEGURANCA if ($aa_cod == "azarath"){ if (!($aa_log == $aa_chk)){ if ($aa_psw == $aa_psw2){ $sql = "INSERT INTO handjob (login, senha, lembrete) Values('$aa_log','$aa_psw','$aa_remb')"; $res = mysqlexecuta($con,$sql); echo ?> <tr><td><p align='center' class='b4_lala'><?php "O Usuário ".$aa_log." foi cadastrado com sucesso!"?></p></td></tr><?php; ?><tr><td> <p align='center' class='b4_lala2'><a href='aa.html'>Fazer Login</a></td></tr><?php } else { echo ?> <tr><td> <p align='center' class='b4_lala'><?php "Sua senha e confirmação de senha estão com valores diferentes!" ?></p> </td></tr><?php; ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } } else { echo ?> <tr><td><p align='center' class='b4_lala'><?php "O Usuário ".$aa_log." já existe, escolha outro nome!"?></p></td></tr><?php; ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } } else { echo ?><tr><td><p align='center' class='b4_lala'><?php "O código chave que você inseriu está incorreto!"?></p></td></tr><?php; ?><tr><td><p align='center' class='b4_lala2'><a href='index.html'>Voltar ao Home</a></td></tr><?php } ?>Quando eu rodo o site e tento cadastrar alguém, não importa se eu preenchi os campos corretamente ou não, a unica coisa que aparecesão os 4 links ( 1 de quando era pra dar certo e os outros 3 que estao no else) e o banco de dados permanece inalteradoO que esta errado no codigo (ou apenas os deuses não querem que eu consiga fazer esse negocio, kkkk) ?já to a mais de duas horas mudando sinais de lugar e tentando outras combinações mas ate agr não deu certo =(Se alguém curte eletronica aew ouça: Swedish House Mafia - Greyhound ; ) Edited March 19, 2012 by Batz Quote Link to comment Share on other sites More sharing options...
0 blew Posted March 18, 2012 Report Share Posted March 18, 2012 fio, tu usou if { } else {} else {} else {}o if só pode ter somente um else...então façaif (condição 1) {codigo aqui ...} elseif (condição 2) {codigo aqui...} elseif (condição 3) {codigo aqui...} else {codigo aqui...} Quote Link to comment Share on other sites More sharing options...
0 Batz Posted March 18, 2012 Author Report Share Posted March 18, 2012 Ea blew!Bem você disse sobre eu usar varios ifs e pah, eu usei uma sequencia de if dentro de if e pra cada if existe um else, ou seja criei uma sequencia de condições e pra cada condição não cumprida existe uma mensagem de erro diferenteMas como sou um novato, não custa nada testar né? Vai que funciona...então tranformei aquele código nesse:<?php mysql_select_db('job'); $con = conectar(); $aa_log = $_POST["aa_log"]; $aa_psw = $_POST["aa_psw"]; $aa_psw2 = $_POST["aa_psw2"]; $aa_remb = $_POST["aa_remb"]; $aa_cod = $_POST["aa_cod"]; $aa_sql = "SELECT login FROM handjob"; $aa_chk = mysqlexecuta($con,$aa_sql); include 'config.php'; //INCLUIR A CONEXAO include 'mysqlexecuta.php'; //EXECUTA O SCRIPT DE SEGURANCA if (!($aa_cod == "azarath")){ echo ?><tr><td><p align='center' class='b4_lala'><?php "O código chave que você inseriu está incorreto!"?></p></td></tr><?php; ?><tr><td><p align='center' class='b4_lala2'><a href='index.html'>Voltar ao Home</a></td></tr><?php } elseif ($aa_log == $aa_chk){ echo ?> <tr><td><p align='center' class='b4_lala'><?php "O Usuário ".$aa_log." já existe, escolha outro nome!"?></p></td></tr> <?php; ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } elseif (!($aa_psw == $aa_psw2)){ echo ?> <tr><td> <p align='center' class='b4_lala'><?php "Sua senha e confirmação de senha estão com valores diferentes!" ?></p> </td></tr><?php; ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } else { $sql = "INSERT INTO handjob (login, senha, lembrete) Values('$aa_log','$aa_psw','$aa_remb')"; $res = mysqlexecuta($con,$sql); echo ?> <tr><td><p align='center' class='b4_lala'><?php "O Usuário ".$aa_log." foi cadastrado com sucesso!"?></p></td></tr><?php; ?><tr><td> <p align='center' class='b4_lala2'><a href='aa.html'>Fazer Login</a></td></tr><?php } ?>Então quando eu rodei...TADAAA! Aconteceu a mesma coisa que antes....Mas valeu pela atenção.... Quote Link to comment Share on other sites More sharing options...
0 blew Posted March 18, 2012 Report Share Posted March 18, 2012 cara, agora percebi que voce não ecoou a msg de erroapenas colocou <?php "O código chave que você inseriu está incorreto!"?>, e assim por diante...da um echo antes disso ai...e outra, não precisa abrir um monte de tag <?phpfaz tudo numa coisa só e a tabela, formulario e tal, você consegue montar tudo usando echo tambémou coisa, mysqlexecuta é o que??alguma classe que voce criou pra adicionar??outra coisa, na verdade é $aa_cod != "azarath"talvez seja esse o erro. Quote Link to comment Share on other sites More sharing options...
0 Batz Posted March 18, 2012 Author Report Share Posted March 18, 2012 echo ?><tr><td><p align='center' class='b4_lala'><?php "O código.....Sim eu ecoei :) , uma das vantagens da linguagem php é essa, quando você abre ela denovo ela continua deonde parou, porisso eu fiquei abrindo e fechando o php. E antes de fazer desse jeito eu tentei fazer todos os comandos dentro do echo mas o problema que dava era maior ainda,me parece que o echo não reconhece os comando de table ou sei lá, só sei que quando eu tentei por tudo no echo eleacabou ecoando trechos do código, ai eu mostrei pra um amigo meu e ele disse pra fazer a parte do html separada da do php edepois que eu fiz separado o negocio ficou menos feio.ou coisa, mysqlexecuta é o que??alguma classe que voce criou pra adicionar??O mysqlexecuta é isso aki:<?php /* $id - Ponteiro da Conexão $sql - Cláusula SQL a executar $erro - Especifica se a função exibe ou não(0=não, 1=sim) $res - Resposta */ function mysqlexecuta($id,$sql,$erro = 1) { if(empty($sql) OR !($id)) return 0; //Erro na conexão ou no comando SQL if (!($res = @mysql_query($sql,$id))) { if($erro) echo "Ocorreu um erro na execução do Comando SQL no banco de dados. Favor Contactar o Administrador."; exit; } return $res; } ?>Esse arquivo eu copiei do que meu professor passou no meu curso técnico, serve para fazer conexão com banco de dados e executar comandos sql.Está em um arquivo separado apenas para organização e para evitar repetições.outra coisa, na verdade é $aa_cod != "azarath" :) Adivinhe! Sim eu já tentei dessa forma, dei uma lida em alguns manuais de sql e vi que ambas as formas estão corretasAfinal ele fará o seguinte: ele verá $aa_cod não é igual a "azarath" e retornará false mas como antes do parenteses temos um ! o boolean será invertido retonado true da mesma forma que se ele checasse se $aa_cod é diferente de "azarath" ele iria retornar trueObrigado pela atenção! :) Quote Link to comment Share on other sites More sharing options...
0 blew Posted March 19, 2012 Report Share Posted March 19, 2012 num sabia disso hehe, nunca tinha tentado dessa forma...enfim, dps q eu me ligay do echo la antes de fechar o código ?> haha.. desconsidera isso q eu tinha falado..ta dificil ver o erro então cara...seguinte, tem um site chamado www.phpbrasil.comla tem um fórum, e os nego de lá são ferastenta la, talvez eles consigam resolver ^_^ Quote Link to comment Share on other sites More sharing options...
0 Batz Posted March 19, 2012 Author Report Share Posted March 19, 2012 Mais uma vez valeu ae a atenção blew, mas eu consegui arrumar sozinho o negocio (nada como uma boa noite de sono!)o código acabou ficando assim:<?php include 'config.php'; //INCLUIR A CONEXAO include 'mysqlexecuta.php'; //EXECUTA O SCRIPT DE SEGURANCA $con = conectar(); $aa_log = $_POST["aa_log"]; $aa_psw = $_POST["aa_psw"]; $aa_psw2 = $_POST["aa_psw2"]; $aa_remb = $_POST["aa_remb"]; $aa_cod = $_POST["aa_cod"]; mysql_select_db('job'); $aa_sql = "SELECT login FROM handjob WHERE login = '$aa_log'"; $aa_chk = mysqlexecuta($con,$aa_sql); if ($aa_cod == "azarath"){ if (!(mysql_num_rows($aa_chk)==1)){ if ($aa_psw == $aa_psw2){ $sql = "INSERT INTO handjob (login, senha, lembrete) Values('$aa_log','$aa_psw','$aa_remb')"; $res = mysqlexecuta($con,$sql); ?> <tr><td><p align='center' class='b4_lala'><?php echo "O Usuário $aa_log foi cadastrado com sucesso!";?></p></td></tr><?php ?><tr><td> <p align='center' class='b4_lala2'><a href='aa.html'>Fazer Login</a></td></tr><?php } else { ?> <tr><td> <p align='center' class='b4_lala'><?php echo "Sua senha e confirmação de senha estão com valores diferentes!"; ?></p> </td></tr><?php ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } } else { ?> <tr><td><p align='center' class='b4_lala'><?php echo "O Usuário $aa_log já existe, escolha outro nome!";?></p></td></tr><?php ?><tr><td><p align='center' class='b4_lala2'><a href='aa_new.html'>Voltar ao Cadastro</a></td></tr><?php } } else { ?><tr><td><p align='center' class='b4_lala'><?php echo "O código chave que você inseriu está incorreto!";?></p></td></tr><?php ?><tr><td><p align='center' class='b4_lala2'><a href='index.html'>Voltar ao Home</a></td></tr><?php } ?>Eu apenas mudei uma coisa ou outra de lugar e pronto! Funcionou! Quote Link to comment Share on other sites More sharing options...
Question
Batz
Ae pessoal!
To começando mexer com php, to fazendo um sitezinho pra testar
ai eu comecei a fazer cadastro de usuários e coloquei alguns ifs para que mensagens de erro apareçam quando alguns
parâmetros não sejam cumpridos.
O código php ficou assim:
(vish ia por o código dentro dum spoiler pra organizar um pouco o tópico mas deu um erro 404, kkkkk)
Quando eu rodo o site e tento cadastrar alguém, não importa se eu preenchi os campos corretamente ou não, a unica coisa que aparece
são os 4 links ( 1 de quando era pra dar certo e os outros 3 que estao no else) e o banco de dados permanece inalterado
O que esta errado no codigo (
ou apenas os deuses não querem que eu consiga fazer esse negocio, kkkk) ?já to a mais de duas horas mudando sinais de lugar e tentando outras combinações mas ate agr não deu certo =(
Se alguém curte eletronica aew ouça: Swedish House Mafia - Greyhound ; )
Edited by BatzLink to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.