pedrosorio Posted May 31, 2008 at 02:24 PM Report Share #188742 Posted May 31, 2008 at 02:24 PM Olá a todos. Estou a ter um problema na inserção de valores de uma form na base de dados. Consigo inserir se usar strings no código, mas a partir da form não. Form: <form action="registar.php" method="post"> <table> <tr><td>Nick:</td><td> <input type="text" name="Nick" /></td></tr> <tr><td>Nome:</td><td> <input type="text" name="Nome" /></td></tr> <tr><td>Apelido:</td><td> <input type="text" name="Apelido" /></td></tr> <tr><td>Mail: </td><td><input type="text" name="Mail" /></td></tr> <tr><td>Password: </td><td><input type="password" name="Pass" /></td></tr> <tr><td>Confirm Password: </td><td><input type="password" name="Passc" /></td></tr> </table> <input type="submit" /> </form> $pass=md5($_POST[Pass]); $query="INSERT INTO pessoa (Nick, Nome, Apelido, Mail, Pass) VALUES ('$_POST[Nick]','$_POST[Nome]','$_POST[Apelido]','$_POST[$Mail]','$pass'))"; if (mysql_query($query,$con)); { echo 'Registado com sucesso!!!</br></br>Clica <a href="login.html">AQUI</a> para fazer login.'; } } Sim, antes faço a ligação e escolho a base de dados correcta. O problema está mesmo em enviar os dados com as variáveis a partir da form. Obrigado pela atenção. Não respondo a dúvidas por mensagem. Link to comment Share on other sites More sharing options...
fnds Posted May 31, 2008 at 02:46 PM Report Share #188756 Posted May 31, 2008 at 02:46 PM Dá algum erro? Link to comment Share on other sites More sharing options...
pedrosorio Posted May 31, 2008 at 02:47 PM Author Report Share #188757 Posted May 31, 2008 at 02:47 PM Não, esse é que é o problema... Aparece-me "Registado com sucesso!" o que indica que a query teve sucesso penso eu... EDIT: Ups... Tenho um parêntesis a mais no fim da query Obrigado! Não respondo a dúvidas por mensagem. Link to comment Share on other sites More sharing options...
fnds Posted May 31, 2008 at 02:52 PM Report Share #188759 Posted May 31, 2008 at 02:52 PM $pass=md5($_POST[Pass]); $query="INSERT INTO pessoa (Nick, Nome, Apelido, Mail, Pass) VALUES ('$_POST[Nick]','$_POST[Nome]','$_POST[Apelido]','$_POST[$Mail]','$pass'))"; if (mysql_query($query,$con)); { echo 'Registado com sucesso!!!</br></br>Clica <a href="login.html">AQUI</a> para fazer login.'; } } Não sei se reparas-te mas o tu não tens aspas no nome do campo post. Experimenta assim: $query='INSERT INTO pessoa (Nick, Nome, Apelido, Mail, Pass) VALUES ('.$_POST['Nick'].','.$_POST['Nome'].','.$_POST['Apelido'].','.$_POST['Mail'].','.$pass.')'; Edit: Tens uma ")" a mais no fim. Link to comment Share on other sites More sharing options...
pedrosorio Posted May 31, 2008 at 03:10 PM Author Report Share #188766 Posted May 31, 2008 at 03:10 PM Ok, agora o problema é outro. O login não funciona porque a query à base de dados não funciona. Tenho esta query: $query="SELECT * FROM pessoa WHERE Nick = '$_POST[Nick]'"; $result=mysql_query($query,$con); Não respondo a dúvidas por mensagem. Link to comment Share on other sites More sharing options...
Dumpster Posted May 31, 2008 at 03:11 PM Report Share #188767 Posted May 31, 2008 at 03:11 PM Tenta isto: $nick=$_POST['Nick']; $query="SELECT * FROM pessoa WHERE Nick = '$nick'"; $result=mysql_query($query,$con); The, old (but still), lulz O: Link to comment Share on other sites More sharing options...
pedrosorio Posted May 31, 2008 at 03:19 PM Author Report Share #188769 Posted May 31, 2008 at 03:19 PM Tenta isto: $nick=$_POST['Nick']; $query="SELECT * FROM pessoa WHERE Nick = '$nick'"; $result=mysql_query($query,$con); Não funcionou 😄 obrigado pela tentativa Não respondo a dúvidas por mensagem. Link to comment Share on other sites More sharing options...
Dumpster Posted May 31, 2008 at 03:22 PM Report Share #188771 Posted May 31, 2008 at 03:22 PM Tens a certeza que o nome do campo na tabela é Nick? Dá-te algum erro? O_o The, old (but still), lulz O: Link to comment Share on other sites More sharing options...
pedrosorio Posted May 31, 2008 at 03:27 PM Author Report Share #188773 Posted May 31, 2008 at 03:27 PM Tens a certeza que o nome do campo na tabela é Nick? Dá-te algum erro? O_o As queries não estão a dar erro nenhum. Acontece que a variável $result não fica com nenhum valor, ou seja, quando faço echo aparece-me "Resource id #2". Não respondo a dúvidas por mensagem. Link to comment Share on other sites More sharing options...
Dumpster Posted May 31, 2008 at 03:30 PM Report Share #188774 Posted May 31, 2008 at 03:30 PM Vê se isto dá em alguma coisa. Porque não te esqueças que o query devolve-te todos os valores, e não só o campo onde fazes a search. $nick=$_POST['Nick']; $query="SELECT * FROM pessoa WHERE Nick = '$nick'"; $result=mysql_query($query,$con); $nick_db=mysql_result($result,0,'Nick'); echo $nick_db; The, old (but still), lulz O: Link to comment Share on other sites More sharing options...
pedrosorio Posted May 31, 2008 at 03:35 PM Author Report Share #188776 Posted May 31, 2008 at 03:35 PM Ihhh Obrigado 😄 Desculpa lá ter estado a fazer-te perder tempo com uma coisa destas... Estava perfeitamente convencido que a query devolvia uma array, mas é preciso sacar os valores do campos com o mysql_result, claro... Que erro mais noob... Obrigadão 😄 Não respondo a dúvidas por mensagem. Link to comment Share on other sites More sharing options...
Dumpster Posted May 31, 2008 at 03:37 PM Report Share #188777 Posted May 31, 2008 at 03:37 PM Sempre às ordens 😄 The, old (but still), lulz O: Link to comment Share on other sites More sharing options...
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