santospedro1993 Posted June 7, 2012 at 11:28 PM Report #461274 Posted June 7, 2012 at 11:28 PM (edited) Eu tenho uma tabela que automaticamente acrescenta uma linha quando tem novo cliente, acho que se diz listar conteúdo, so gostaria de saber como podia acrescentar tipo um botão noutra coluna para apagar o cliente nessa especifica coluna, ate agora so consegui por um que apagava tudo.... nao e la bem o que eu queria. <?php $res = mysql_query('select * from cliente'); /*Executa o comando SQL, no caso para pegar todos os usuarios do sistema e retorna o valor da consulta em uma variavel ($res) */ echo '<div id="tabela"><table border=5><tr><td>Cliente</td><td>Morada</td><td>Localidade</td><td>Telefone</td></tr>'; /*Enquanto houver dados na tabela para serem mostrados será executado tudo que esta dentro do while */ while($escrever=mysql_fetch_array($res)){ /*Escreve cada linha da tabela*/ echo '<tr><td>' . $escrever["C_NOME"] . '</td><td>' . $escrever["C_MORADA"] . '</td><td>' . $escrever["C_LOCALIDADE"] . '</td><td>' . $escrever["C_TELEFONE"] . '</td></tr>'; }/*Fim do while*/ echo '</table></div>'; /*fecha a tabela apos termino de impressão das linhas*/ mysql_close($conn);file:///C:/Users/Home/Downloads/index.php ?> Desculpem mandar assim sou novo aqui Edited June 8, 2012 at 12:36 PM by brunoais geshi!
psiico Posted June 7, 2012 at 11:53 PM Report #461278 Posted June 7, 2012 at 11:53 PM (edited) Boas, antes de mais deves usar as tags de code=<linguagem> ente [], para que haja codehighlight, em vez de quote. No while podes fazer em vez de echo '<tr><td>' . $escrever["C_NOME"] . '</td><td>' . $escrever["C_MORADA"] . '</td><td>' . $escrever["C_LOCALIDADE"] . '</td><td>' . $escrever["C_TELEFONE"] . '</td></tr>'; podes fazer: echo '<tr><td>' . $escrever["C_NOME"] . '</td><td>' . $escrever["C_MORADA"] . '</td><td>' . $escrever["C_LOCALIDADE"] . '</td><td>' . $escrever["C_TELEFONE"] . '</td><td>Botão para delete</td></tr>'; adicionando <td>Botão para delete</td> antes do ultimo </tr> assim a cada resultado que escrevas vais adicionar um espaço para o tal botão. Para poderes apagar um registo em concreto é aconselhável trabalhares com a chave primária dos clientes, isto é, o seu ID, por norma. Se não estiveres a usar IDs aconselho a adicionares (chave primária e auto increment). Falo nisto porque não estou a ver referência alguma a um ID único. Então para restringires o apagar apenas a um registo terás que na query SQL para apagar, adicionar: WHERE C_ID = id que terás que passar ao clique do botão delete. Espero ter sido claro, qualquer dúvida responde. Edited June 7, 2012 at 11:55 PM by psiico Psiico // Portfolio
brunoais Posted June 8, 2012 at 12:37 PM Report #461387 Posted June 8, 2012 at 12:37 PM Eu já tratei de arranjar o teu post. Não me dês muito trabalho, ok 😉? "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
santospedro1993 Posted June 10, 2012 at 01:56 AM Author Report #461722 Posted June 10, 2012 at 01:56 AM Já resolvi a parte de criar um botão delete, agora terei de pensar no de update. Mas estou neste momento a tratar do visual e a pensar como vai funcionar o meu login visto que irei ter 2 a 3 tabelas, os user alunos, director e admin. Se tiverem sugestões avisem.
dash Posted June 10, 2012 at 07:46 AM Report #461731 Posted June 10, 2012 at 07:46 AM Já resolvi a parte de criar um botão delete, agora terei de pensar no de update. Mas estou neste momento a tratar do visual e a pensar como vai funcionar o meu login visto que irei ter 2 a 3 tabelas, os user alunos, director e admin. Se tiverem sugestões avisem. O Update é igual ao outro botão, geras a tabela com o botão lá dentro e dás-lhe a acção pretendida. Para que precisas de 3 tabelas para o login?
pmg Posted June 10, 2012 at 10:23 AM Report #461736 Posted June 10, 2012 at 10:23 AM ... irei ter 2 a 3 tabelas, os user alunos, director e admin ... Não, não, não. Faz uma única tabela em que uma das colunas tem o tipo de user. Este tipo seria a Foreign Key doutra tabela cujas linhas identificam o tipo de utiilzador (aluno, director, admin). Uma pergunta para ires pensando: o director não pode ser um aluno? um ex-aluno? o admin? What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
santospedro1993 Posted June 18, 2012 at 03:48 PM Author Report #463692 Posted June 18, 2012 at 03:48 PM (edited) <?php if(!isset($_POST['join'])){ echo '<div class="form"><center><table border="1"> <form action="register.php" method="POST"> <tr align="right"><td>Utilizador <input type="text" name="user"><br> <tr align="right"><td>Nome <input type="text" name="nome"><br> <tr align="right"><td>Password <input type="password" name="password"><br> <tr align="right"><td>Password <input type="password" name="password2"><br> </table> <input type="submit" name="join" value="Criar Conta"> </form></center></div>'; } else{ $user=$_POST["user"]; $nome=$_POST["nome"]; $password=$_POST["password"]; $password2=$_POST["password2"]; if($password!= $password2){ echo "<center><p>As passwords devem ser iguais</center>";exit; } include ("ligaBD.php"); $existe="select * from users where user='".$user."'"; $faz_existe= mysqli_query($ligaBD, $existe); $jaexiste= mysqli_num_rows($faz_existe); if ($jaexiste==0){ $insere_user = "insert users values('".$user."', '".$nome."', '".$password."')"; $faz_insere_user = mysqli_query($ligaBD, $insere_user); echo "<center>Registo Completo - <a href=\"index.php\">Entrar na Conta</center></a>"; } else echo "<center><p> O Utilizador ja se encontra registado!</center>"; } ?> Alguem me podia ajudar, esta tudo a funcinar o unico problema e que nao esta a inserer na base de dados, suponho que o erro esteja aqui: $insere_user = "insert users values('".$user."', '".$nome."', '".$password."')"; $faz_insere_user = mysqli_query($ligaBD, $insere_user); Edited June 18, 2012 at 03:56 PM by santospedro1993
MASNathan Posted June 18, 2012 at 04:20 PM Report #463710 Posted June 18, 2012 at 04:20 PM <?php if(!isset($_POST['join'])){ echo '<div class="form"><center><table border="1"> <form action="register.php" method="POST"> <tr align="right"><td>Utilizador <input type="text" name="user"><br> <tr align="right"><td>Nome <input type="text" name="nome"><br> <tr align="right"><td>Password <input type="password" name="password"><br> <tr align="right"><td>Password <input type="password" name="password2"><br> </table> <input type="submit" name="join" value="Criar Conta"> </form></center></div>'; } else{ $user=$_POST["user"]; $nome=$_POST["nome"]; $password=$_POST["password"]; $password2=$_POST["password2"]; if($password!= $password2){ echo "<center><p>As passwords devem ser iguais</center>";exit; } include ("ligaBD.php"); $existe="select * from users where user='".$user."'"; $faz_existe= mysqli_query($ligaBD, $existe); $jaexiste= mysqli_num_rows($faz_existe); if ($jaexiste==0){ $insere_user = "insert users values('".$user."', '".$nome."', '".$password."')"; $faz_insere_user = mysqli_query($ligaBD, $insere_user); echo "<center>Registo Completo - <a href=\"index.php\">Entrar na Conta</center></a>"; } else echo "<center><p> O Utilizador ja se encontra registado!</center>"; } ?> Alguem me podia ajudar, esta tudo a funcinar o unico problema e que nao esta a inserer na base de dados, suponho que o erro esteja aqui: $insere_user = "insert users values('".$user."', '".$nome."', '".$password."')"; $faz_insere_user = mysqli_query($ligaBD, $insere_user); dá algum erro? ou simplesmente não insere?
santospedro1993 Posted June 18, 2012 at 04:55 PM Author Report #463727 Posted June 18, 2012 at 04:55 PM Ups desculpem, simplesmente não insere nada
dash Posted June 18, 2012 at 05:11 PM Report #463742 Posted June 18, 2012 at 05:11 PM Assim às cegas: $insere_user = "insert users values('".$user."', '".$nome."', '".$password."')"; -> $insere_user = "insert INTO users values('".$user."', '".$nome."', '".$password."')";
pmg Posted June 18, 2012 at 05:13 PM Report #463746 Posted June 18, 2012 at 05:13 PM $insere_user = "insert users values('".$user."', '".$nome."', '".$password."')"; $faz_insere_user = mysqli_query($ligaBD, $insere_user); Experimenta assim, com o proprio PHP / MySQL a dizer-te o que esta mal: $insere_user = "insert users values('".$user."', '".$nome."', '".$password."')"; $faz_insere_user = mysqli_query($ligaBD, $insere_user) or die(mysqli->error($ligaBD)); What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
santospedro1993 Posted June 18, 2012 at 05:50 PM Author Report #463767 Posted June 18, 2012 at 05:50 PM Column count doesn't match value count at row 1 Ja deu o erro, fui a net e vi que tenho de por o (no meu caso) o campo id mas esta feito assim: $query = "INSERT INTO table (id, first_name, last_name) VALUES('','$_POST[first_name]','$_POST[last_name]')"; mas no meu o codigo esta feito de outra maneira: $insere_user = "insert users values('".$user."', '".$nome."', '".$password."')"; $faz_insere_user = mysqli_query($ligaBD, $insere_user) or die(mysqli->error($ligaBD)); Como faço no meu código? Obrigado por me estarem a ajudar:D
dash Posted June 18, 2012 at 05:59 PM Report #463771 Posted June 18, 2012 at 05:59 PM (edited) Isso é lógica... INSERT INTO <a tua tabela - utilizadores> (os campos da tabela) VALUES(o valor que cada campo deve tomar) Edited June 18, 2012 at 06:00 PM by dash
brunoais Posted June 18, 2012 at 06:00 PM Report #463772 Posted June 18, 2012 at 06:00 PM Aconselho-te a não misturar a maneira procedimental com o OO do mysqli. Usa só um dos 2 (aconselho o Object Oriented). "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
santospedro1993 Posted June 18, 2012 at 06:16 PM Author Report #463782 Posted June 18, 2012 at 06:16 PM (edited) Bem.. Obrigado por tudo pessoal vou começar a fazer o relatório do site que fiz, isto e para um projecto de Programação de Sistemas Informáticos (ou de informação, acho que mudou). Se quiserem ver como ficou e um site básico, para mim serviu para basicamente aprender a fazer um site com base de dados, porque este ano era o ano em que íamos dar isto mas o nosso stor punha se a ver o bolsa e nos claro, íamos jogar. Acho que ja estou um bocado melhor vamos la ver agora se faço isto para a pap.. Se quiserem ver e dar alguma ideia a nível de sugestões de segurança, ou algo que podia ficar melhor: http://darkps.byethost14.com/ Para verem a área admin: user: oi pass: oi Ja me esquecia, o código ficou assim: $insere_user = "insert INTO users (id, nome, user, password) values('', '".$nome."', '".$user."', '".$password."')"; $faz_insere_user = mysqli_query($ligaBD, $insere_user) or die(mysqli_error($ligaBD)); Edited June 18, 2012 at 06:34 PM by santospedro1993
dash Posted June 18, 2012 at 07:09 PM Report #463796 Posted June 18, 2012 at 07:09 PM Dei uma vista de olhos e a dica sobre segurança que te posso dar é uma regra de ouro: as passwords em circunstância alguma devem ficar na base de dados descodificadas.
santospedro1993 Posted June 18, 2012 at 08:12 PM Author Report #463809 Posted June 18, 2012 at 08:12 PM Qual método de encriptação recomendas? Tenho de por essa encriptação no registo e no login certo?
dash Posted June 18, 2012 at 08:35 PM Report #463823 Posted June 18, 2012 at 08:35 PM Há várias hipóteses, mas para treino talvez devas começar por testas a mais simples de implementar (segurança mais reduzida): md5. A encriptação é feita aquando o registo, e depois é gravada na base de dados. Depois no login só tens de encriptar o parametro que utilizador colocar na password e comparar com o que existe na base de dados.
santospedro1993 Posted June 18, 2012 at 09:07 PM Author Report #463842 Posted June 18, 2012 at 09:07 PM (edited) Ja consegui por no login: $sql = "SELECT `id`, `nome`, `nivel` FROM `users` WHERE (`user` = '". $user ."') AND (`password` = '".md5($password) ."') LIMIT 1"; E no registo tambem $insere_user = "insert INTO users (id, nome, user, password) values('', '".$nome."', '".$user."', '".md5($password)."')"; Esta certo? Edited June 18, 2012 at 09:19 PM by santospedro1993
brunoais Posted June 18, 2012 at 09:12 PM Report #463846 Posted June 18, 2012 at 09:12 PM (edited) Acho que acabaste de ter um ataque inesperado deste requinte. De qq modo: $password=md5($_POST["password"]); md5 é hashing e não cifração. Há que perceber bem a diferença entre essas duas coisas. Edited June 18, 2012 at 09:12 PM by brunoais "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
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