diego-md 0 Denunciar post Postado Junho 2, 2009 Bom dia, troquei idéias com meu professor e o mesmo disse que para buscar o id de um usuário, devo usar $_GET... Bom, para terem conhecimento, tenho uma página em php que mostra no canto direito superior o seguinte: Usuário logado: diego-md@bol.com.br | Sair Clicando no email, direciona para o perfil da pessoa, e é nessa página que estou com problemas, o que devo alterar na minha página que programei abaixo?? <?php include ("conectar.php"); session_start(); $email = $_SESSION['email']; // echo $email; if ($email = "") { header("Location: login.php"); } else $sql = "Select nome, datanasc, sexo, email, msn, skype, orkut, telefone, celular, senha FROM usuario WHERE email = '.$email.'"; $select = mysql_query($sql) or die ('Erro ao executar a consulta aos logins'); $linhas = mysql_num_rows($select); if ($linhas == 0) echo "Nenhum Usuario Cadastrado!"; else { while($row = mysql_fetch_array($select)) echo "<table border='1' width='400' align='center'> <tr> <td>Nome: </td><td>".$row["nome"]."</td> </tr> <tr> <td>Senha: </td><td>".$row["senha"]."</td> </tr> <tr> <td>Email: </td><td>".$row["email"]."</td> </tr> <tr> <td>Sexo: </td><td>".$row["sexo"]."</td> </tr> </table>"; } ?> Alguém pode me dar uma luz??? Compartilhar este post Link para o post Compartilhar em outros sites
hooligans 0 Denunciar post Postado Junho 2, 2009 tu não tá pegando por _GET amigo olha se é por GET seria algo assim <a href="www.seusite.com.br?email="<?php echo $email; ?>"><?php echo $email; ?></a> ai pra resgatar $email = $_GET['email']; Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Junho 2, 2009 Sim meu amigo, era isso que necessitava, trocar de $_POST para $_GET, mas isso seria inserido aonde?? na página do perfil ou no link do email?? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Junho 2, 2009 Nos 2. No link você faria com <a href, igual o hooligans colocou. No segundo, você troca $_SESSION por $_GET. Deve funcionar Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Baldner 0 Denunciar post Postado Junho 2, 2009 na página que vai contar o link: exemplo: <?php echo"<a href=\"busca_cadastro.php?mail=teste@teste.com.br\" >teste</a>"; ?> e na página busca_cadastro.php fica mais ou menos assim... <?php include ("conectar.php"); session_start(); $email = $_SESSION['email']; $email_v = $_GET['mail']; // echo $email; if ($email = "") { header("Location: login.php"); } else { $sql = "Select nome, datanasc, sexo, email, msn, skype, orkut, telefone, celular, senha FROM usuario WHERE email_v = '.$email.'"; $select = mysql_query($sql) or die ('Erro ao executar a consulta aos logins'); $linhas = mysql_num_rows($select); if ($linhas == 0) echo "Nenhum Usuario Cadastrado!"; else { while($row = mysql_fetch_array($select)) echo "<table border='1' width='400' align='center'> <tr> <td>Nome: </td><td>".$row["nome"]."</td> </tr> <tr> <td>Senha: </td><td>".$row["senha"]."</td> </tr> <tr> <td>Email: </td><td>".$row["email"]."</td> </tr> <tr> <td>Sexo: </td><td>".$row["sexo"]."</td> </tr> </table>"; } ?> fica mais ou menos assim. sugiro que você faça a validação em um arquivo externo, da mesma forma que você fez a conexão com o banco de dados, mais isso é o de menos :) qualquer coisa grita att Anderson Baldner - Mondoo [O que você pensa?] editando pra dar outra sugestão eu não sei qual o objetivo do seu scrpt, mais você não acharia melhor fazer a consulta por ID. você pode criar uma coluna na sua tabela chamada ID, auto increment, e assim fica mais simples e menos "fonte de spams". Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Junho 2, 2009 Já ouvi falar que é muito melhor fazer com ID, seria muito diferente, pois coloquei isso agora <?php echo "<b>Usuário logado:</b> <a href='consulta_usuario.php?mail='$email''>$email</a> | <b><a href='logoff.php'>Sair</a></b>" ?> e <?php include ("conectar.php"); session_start(); // $email = $_SESSION['email']; $email = $_GET['email']; //echo $email; if ($email = "") { header("Location: login.php"); } else $sql = "Select nome, datanasc, sexo, email, msn, skype, orkut, telefone, celular, senha FROM usuario WHERE email = '.$email.'"; ... e não funcionou, até comentei o código e pedi pra mostrar o email que estava chegando, e chega o email normal, mas na hora de fazer a consulta diz que não existe nenhum usuário... Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Junho 2, 2009 Primeiro. Use as TAG's CODE do forum para colocar códigos. Sobre o código é o seguinte. Pode ser simples problema de concatenação. Troque isto. echo "<b>Usuário logado:</b> <a href='consulta_usuario.php?mail='$email''>$email</a> | <b><a href='logoff.php'>Sair</a></b>" Por isto. echo '<b>Usuário logado:</b> <a href="consulta_usuario.php?mail='.$email.'">$email</a> | <b><a href="logoff.php">Sair</a></b>'; E isto. $sql = "Select nome, datanasc, sexo, email, msn, skype, orkut, telefone, celular, senha FROM usuario WHERE email = '.$email.'"; Por isto. $sql = "Select nome, datanasc, sexo, email, msn, skype, orkut, telefone, celular, senha FROM `usuario` WHERE email = ".$email.""; Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Junho 2, 2009 Agora ocorreram alguns bugs... echo '<b>Usuário logado:</b> <a href="consulta_usuario.php?mail='.$email.'">$email</a> | <b><a href="logoff.php">Sair</a></b>'; no link, ao invés de aparecer o email que se logou aparece $email, e mesmo eu alterando algumas aspas duplas para simples e vice-versa, não funciona.... e na consulta está assim: $sql = "Select nome, datanasc, sexo, email, msn, skype, orkut, telefone, celular, senha FROM `usuario` WHERE email = ".$email.""; aparece o erro "Erro ao executar a consulta aos logins" Compartilhar este post Link para o post Compartilhar em outros sites
_zeh_ 0 Denunciar post Postado Junho 2, 2009 email: echo '<b>Usuário logado:</b> <a href="consulta_usuario.php?mail='.$email.'">'.$email.'</a> | <b><a href="logoff.php">Sair</a></b>'; sql: $sql = "Select `nome`, `datanasc`, `sexo`, `email`, `msn`, `skype`, `orkut`, `telefone`, `celular`, `senha` FROM `usuario` WHERE email LIKE ".$email; o que eu vi de erro foi isto, falta de aspas simples no codigo pro email, e falta de `` no nome das tabelas, além de uma aspa dupla a mais no final da sql. Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Junho 2, 2009 echo '<b>Usuário logado:</b> <a href="consulta_usuario.php?mail='.$email.'">'.$email.'</a> | <b><a href="logoff.php">Sair</a></b>'; PS: Tinha esquecido de concatenar a outra variavel ali hehe. Errinho basico rs. PS²: O código SQL ta ok. email: echo '<b>Usuário logado:</b> <a href="consulta_usuario.php?mail='.$email.'">'.$email.'</a> | <b><a href="logoff.php">Sair</a></b>'; sql: $sql = "Select `nome`, `datanasc`, `sexo`, `email`, `msn`, `skype`, `orkut`, `telefone`, `celular`, `senha` FROM `usuario` WHERE email LIKE ".$email; o que eu vi de erro foi isto, falta de aspas simples no codigo pro email, e falta de `` no nome das tabelas, além de uma aspa dupla a mais no final da sql. Agora que ta errado do SQL. Note que você abriu a aspa dupla e fechou aonde? Aquela aspa dupla que voce achou ter a mais, é da string da consulta. O correto seria do jeito que eu enviei. Só faltou concatenar aquela variavel la como eu disse. Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Baldner 0 Denunciar post Postado Junho 2, 2009 cara, oque está acontecendo é o seguinte: se você está usando a variavel $email para resgatar a sessão(session), você deve usar uma variavel diferente para receber o valor que você pegar pelo GET. tente isso Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Junho 3, 2009 Está apresentando erro na consulta... o mesmo erro de sempre... cara, oq tenho que alterar para chamar pelo id do usuario??? Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Baldner 0 Denunciar post Postado Junho 3, 2009 cara, a primeira coisa a ser feita, é você criar um campo chamado ID na sua tabela MYSQL, como chave primária e auto_increment, para assim ele gerar números sequenciais que serão os IDs dos seus cadastros. tendo feito isso, você não vai mais escrever o link dessa forma: <? echo"<a href=\"exemplo.php?email=$email\" >e-mail</a>"; ?>mais sim dessa forma <? echo"<a href=\"exemplo.php?id=$id\" >e-mail</a>"; ?> (lembrando, que a variavel $id, vai vir de uma consulta ao seu banco de dados) <?php include ("conectar.php"); session_start(); $email = $_SESSION['email']; $id = $_GET['id']; // echo $email; if ($email = "") { header("Location: login.php"); }else { $sql = "Select * FROM usuario WHERE ID = '$id' "; $select = mysql_query($sql) or die ('Erro ao executar a consulta aos logins'); $linhas = mysql_num_rows($select); if ($linhas == 0){ echo "Nenhum Usuario Cadastrado!"; }else{ while($row = mysql_fetch_array($select)){ echo "<table border='1' width='400' align='center'> <tr> <td>Nome: </td><td>".$row["nome"]."</td> </tr> <tr> <td>Senha: </td><td>".$row["senha"]."</td> </tr> <tr> <td>Email: </td><td>".$row["email"]."</td> </tr> <tr> <td>Sexo: </td><td>".$row["sexo"]."</td> </tr> </table>"; } } ?> fiz umas mudanças no seu código,mais não tenho o vertrigo aqui para testa-lo.caso tenha algum erro ou dúvida é só dizer. fique atento para a abertura e fechamento das chaves que marcam o início e o fim de alguns "processos" do PHP, como depois do WHILE e antes do ELSE. tenta isso ae e depois me fala Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Junho 3, 2009 boa tarde... achei o problema... meu colega estava me dando uma mão e confiei nele... porém ele achou um erro dele eninguém percebeu... o problema está no if... <?php include ("conectar.php"); session_start(); $email = $_GET['email']; // echo $email; if ($email = "") // echo $email; header("Location: index.php"); else { $sql = "Select * from usuario where email = '$email'"; $select = mysql_query($sql) or die ('Erro ao executar a consulta aos logins'); $linhas = mysql_num_rows($select); } ... Eu dei um echo $email antes do if e um echo $email depois do if... e pra minha surpresa, ele mostrava o email do antes do if e depois não... então pecebemos que o if estava zerando o email... vejam if ($email = "")Agora consertei... <?php include ("conectar.php"); session_start(); $email = $_GET['email']; if ($email == "") header("Location: index.php"); else { $sql = "Select * from usuario where email = '$email'"; $select = mysql_query($sql) or die ('Erro ao executar a consulta aos logins'); $linhas = mysql_num_rows($select); } if ($linhas == 0) echo "Nenhum Usuario Cadastrado!"; else { while($row = mysql_fetch_array($select)) echo "<div align='center'><br><br><br><br> <table width='350' align='center'> <tr> <td align='right'>Nome: </td><td>".$row["nome"]."</td><br> </tr> <tr> <td align='right'>Data de Nascimento: </td><td >".$row["datanasc"]."</td> </tr> <tr> <td align='right'>Sexo: </td><td>".$row["sexo"]."</td> </tr> <tr> <td align='right'>Email: </td><td>".$row["email"]."</td> </tr> <tr> <td align='right'>MSN: </td><td>".$row["msn"]."</td> </tr> <tr> <td align='right'>Skype: </td><td>".$row["skype"]."</td> </tr> <tr> <td align='right'>Orkut: </td><td>".$row["orkut"]."</td> </tr> <tr> <td align='right'>Telefone: </td><td>".$row["telefone"]."</td> </tr> <tr> <td align='right'>Celular: </td><td>".$row["celular"]."</td> </tr> </table> </div>"; } ?> e está funcionando... vlw o empenho de todoss.. obrigado Compartilhar este post Link para o post Compartilhar em outros sites
_zeh_ 0 Denunciar post Postado Junho 3, 2009 Agora que ta errado do SQL. Note que você abriu a aspa dupla e fechou aonde? Aquela aspa dupla que voce achou ter a mais, é da string da consulta. O correto seria do jeito que eu enviei. Só faltou concatenar aquela variavel la como eu disse. $sql = "Select `nome`, `datanasc`, `sexo`, `email`, `msn`, `skype`, `orkut`, `telefone`, `celular`, `senha` FROM `usuario` WHERE email LIKE '".$email."'"; alguma duvida sobre a sql? a saida disso é ser uma sql assim}: $sql = "Select `nome`, `datanasc`, `sexo`, `email`, `msn`, `skype`, `orkut`, `telefone`, `celular`, `senha` FROM `usuario` WHERE email LIKE "CARLOSANTOS@UTFPR.EDU.BR Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Junho 3, 2009 Agora que ta errado do SQL. Note que você abriu a aspa dupla e fechou aonde? Aquela aspa dupla que voce achou ter a mais, é da string da consulta. O correto seria do jeito que eu enviei. Só faltou concatenar aquela variavel la como eu disse. $sql = "Select `nome`, `datanasc`, `sexo`, `email`, `msn`, `skype`, `orkut`, `telefone`, `celular`, `senha` FROM `usuario` WHERE email LIKE ".$email; alguma duvida sobre a sql? a saida disso é ser uma sql assim: $sql = [b]"[/b]Select `nome`, `datanasc`, `sexo`, `email`, `msn`, `skype`, `orkut`, `telefone`, `celular`, `senha` FROM `usuario` WHERE email LIKE [b]"[/b]CARLOSANTOS@UTFPR.EDU.BR Certinho cara... funcionou.... vlw msmo... Compartilhar este post Link para o post Compartilhar em outros sites