kamin 1 Denunciar post Postado Agosto 7, 2014 Pessoal, venho aqui pedir vossa ajuda.estou com um sistema de login, que estou com dificuldade para exibir dados do usuários após login, gostaria que me dissesse qual código usar para mostrar, ou onde está o erro em minhas páginas.página no login.php está assim: <form id="form1" name="form1" method="GET" action="logar.php"> <table width="41%" border="0"> <tr> <td colspan="2"></td> </tr> <tr> <td><span class="Style6">Login:</span></td> <td><span class="Style6"> <label> <input name="login" type="text" id="login" /> </label> </span></td> </tr> <tr> <td><span class="Style6">Senha:</span></td> <td><span class="Style6"> <label> <input name="senha" type="password" id="senha" /> </label> </span></td> </tr> <tr> <td> </td> <td><span class="Style6"> <label> <center><input type="submit" name="Submit" value="Entrar" /></center> </label> </span></td> </tr> <tr> </span></td> </tr> </table> </form> no logar.php está assim: <?php session_start(); ?> <?php function alert_url($texto) { echo "<script>"; echo "window.alert(\"$texto\");"; echo "</script>"; } include("config.php"); $login = $_GET["login"]; $senha = $_GET["senha"]; $_GET = array_map("addslashes", $_GET); $dados = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM usuarios WHERE login = '".$login."' && senha = '".$senha."'")); if($dados[0]==0) { echo "<script>window.location = 'error.php'; </script>"; } else { $_SESSION['log'] = $_GET["login"]; $_SESSION['sen'] = $_GET["senha"]; echo "<script>window.location = 'userpage.php'; </script>"; } ?> na página restira ou principal está assim: <?php session_start(); if(!isset($_SESSION["log"]) AND !isset($_SESSION["sen"])) { echo "Não foi registrado sessions"; exit; } ?> eu encontrei o seguinte código na internet: <?php // Conexão com o Banco de Dados mysql_connect("mysql.myhost.com", "user", "sesame") or die (mysql_error ()); // Seleciona o Banco de Dados mysql_select_db("mydatabase") or die(mysql_error()); //query SQL $strSQL = "SELECT * FROM people"; // Executa a query (o recordset $rs contém o resultado da query) $rs = mysql_query($strSQL); // Loop pelo recordset $rs // Cada linha vai para um array ($row) usando mysql_fetch_array while($row = mysql_fetch_array($rs)) { // Escreve o valor da coluna FirstName (que está no array $row) echo $row['FirstName'] . "<br />"; } // Encerra a conexão mysql_close(); ?> porém esse código, está mostrando dados de todos os usuários da coluna indicadaexemplo echo $row['nome']mostra nome de todos os usuários, quero que mostre nome de quem está logado.espero que me ajudem Compartilhar este post Link para o post Compartilhar em outros sites
net32 1 Denunciar post Postado Agosto 7, 2014 Essa linha que vai buscar os dados está errada: $strSQL = "SELECT * FROM people"; Você deveria usar: $login = $_SESSION['log']; $strSQL = "SELECT * FROM people WHERE login = ".$login; Compartilhar este post Link para o post Compartilhar em outros sites
diegorosa 0 Denunciar post Postado Agosto 7, 2014 ola nessa linha $dados = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM usuarios WHERE login = '".$login."' && senha = '".$senha."'")); não é && é AND tenta ai pra ver Compartilhar este post Link para o post Compartilhar em outros sites
kamin 1 Denunciar post Postado Agosto 7, 2014 Essa linha que vai buscar os dados está errada: $strSQL = "SELECT * FROM people"; Você deveria usar: $login = $_SESSION['log']; $strSQL = "SELECT * FROM people WHERE login = ".$login; Essa linha que vai buscar os dados está errada: $strSQL = "SELECT * FROM people"; Você deveria usar: $login = $_SESSION['log']; $strSQL = "SELECT * FROM people WHERE login = ".$login; diegorosa, eu fiz oque falou e nada mudou. net32, eu fiz oque vc indicou, mas deu um erro na página que era pra mostrar os dados do usuário logado. http://prntscr.com/4aigc8 espero que me ajudem. Compartilhar este post Link para o post Compartilhar em outros sites
jgustavo99 85 Denunciar post Postado Agosto 7, 2014 Olá Posso tentar lhe ajudar. Tem Skype? Se sim me adiciona João Gustavo Balestrin dos Santos. Compartilhar este post Link para o post Compartilhar em outros sites
victorqueiroz 34 Denunciar post Postado Agosto 7, 2014 @jgustavo99 Dúvidas do fórum devem ser resolvidas no fórum! Para que outras pessoas com a mesma dúvida, consigam resolver o problema em questão! ------------------------ é como o net32, disse, essa query está errada.... sugiro que assista esse vídeo caso ainda tenha alguma dúvida :) http://goo.gl/ZxR22F Essa linha que vai buscar os dados está errada: $strSQL = "SELECT * FROM people"; Você deveria usar: $login = $_SESSION['log']; $strSQL = "SELECT * FROM people WHERE login = ".$login; Compartilhar este post Link para o post Compartilhar em outros sites
net32 1 Denunciar post Postado Agosto 7, 2014 outra dica importante é você não só fazer o sistema funcionar, mais buscar entender o que cada função / linha faz no código para assim você poder pegar como funciona na prática o PHP. Compartilhar este post Link para o post Compartilhar em outros sites
kamin 1 Denunciar post Postado Agosto 8, 2014 frisando que meu problema não foi sanado, e nenhuma das opções me ajudaram. Compartilhar este post Link para o post Compartilhar em outros sites
victorqueiroz 34 Denunciar post Postado Agosto 8, 2014 tenta da um echo na $_SESSION['log'] e vê se retorna o e-mail... Compartilhar este post Link para o post Compartilhar em outros sites
kamin 1 Denunciar post Postado Agosto 8, 2014 victorquueiroz, fico grato mas vc só repetiu oque net disse, que eu ja disse que não funcionou. da erro quando eu adiciona essa linha$_SESSION['log'] Compartilhar este post Link para o post Compartilhar em outros sites
jgustavo99 85 Denunciar post Postado Agosto 8, 2014 Muito estranho. Que tipo de erro retorna ao dar o echo na sessão? Compartilhar este post Link para o post Compartilhar em outros sites
kamin 1 Denunciar post Postado Agosto 8, 2014 esse erro "Parse error: syntax error, unexpected T_VARIABLE in /home/megarend/public_html/l0g1n1912/ola123.php on line 59" Compartilhar este post Link para o post Compartilhar em outros sites
Pedro Roccon 9 Denunciar post Postado Agosto 8, 2014 Você está com 1 erro de sintaxe, provavelmente esqueceu um ; (ponto vírgula) antes da variável na linha 59. Compartilhar este post Link para o post Compartilhar em outros sites
kamin 1 Denunciar post Postado Agosto 8, 2014 se eu por somente $_SESSION['log']; continua mostrando todos os dados daquela coluna como por exemplo, da coluna 'nome' mostra nome de todos os usuários, ou seja nada muda.e se eu colocar como o net32 falou:$login = $_SESSION['log'];$strSQL = "SELECT * FROM minhatabela WHERE login = ".$login; da esse erro :Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in/home/megarend/public_html/l0g1n1912/ola123.phpon line 66:( Compartilhar este post Link para o post Compartilhar em outros sites
Marlon Pacheco 132 Denunciar post Postado Agosto 8, 2014 Faz assim $login = $_SESSION['log']; $strSQL = "SELECT * FROM minhatabela WHERE login = '".$login . "'; Compartilhar este post Link para o post Compartilhar em outros sites
kamin 1 Denunciar post Postado Agosto 8, 2014 agora deu esse erro Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/megarend/public_html/l0g1n1912/ola123.php on line 69 Compartilhar este post Link para o post Compartilhar em outros sites
jgustavo99 85 Denunciar post Postado Agosto 8, 2014 Olá! Ou então tente: $login = $_SESSION['log']; $strSQL = "SELECT * FROM minhatabela WHERE login = '$login'"; Compartilhar este post Link para o post Compartilhar em outros sites
Marlon Pacheco 132 Denunciar post Postado Agosto 8, 2014 logar.php <?php session_start(); $login = $_GET["login"]; $senha = $_GET["senha"]; $link = mysql_connect('localhost', 'root', ''); $db_selected = mysql_select_db('banco', $link); $sql = "SELECT COUNT(*) FROM usuarios WHERE login = '".$login."' and senha = '".$senha."'"; $dados = mysql_fetch_array(mysql_query($sql)); if($dados[0]==0) { //header('Location: ./error.php'); echo "Deu tilt"; } else { $_SESSION['log'] = $_GET['login']; header('Location: ./userpage.php'); } ?> userpage.php <?php session_start(); echo "Bem vindo! " . $_SESSION['log']; ?> index.php <?php session_start(); if(!isset($_SESSION["log"])) { echo "Não foi registrado sessions"; exit; } else { $link = mysql_connect('localhost', 'root', ''); $db_selected = mysql_select_db('banco', $link); $sql = mysql_query("SELECT * FROM usuarios WHERE login = '".$_SESSION["log"]."'"); while($dados = mysql_fetch_array($sql)){ echo "Bem vindo " . $dados[1]; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
kamin 1 Denunciar post Postado Agosto 8, 2014 Marlon Pacheco, quase lá ^^ eu fiz exatamente como vc falou aí, sendo que na index.php em vez de mostrar os dados da pessoa, ta mostrando o login, faça o teste você mesmo.http://megarendaonline.com.br/l0g1n1912/login.phplogin: kamin senha: abc12345 depois de logado vai para userpage.php onde mostra Bem vindo! kamine a index no caso é essa http://megarendaonline.com.br/l0g1n1912/haha.php que também está mostrando assimBem vindo kamin sendo que eu nao pedi para mostrar login 'kamin' pedi para mostrar id o codigo está assim http://prntscr.com/4awhyb minha tabela está assim http://prntscr.com/4awic9 http://prntscr.com/4awifw e esse foi o codigo que usei para criar tabela, http://prntscr.com/4awj1oacredito que seu codigo está certo, e minha tabela está com defeito, ou foi criada a forma errada, espero que possa me ajudar; Compartilhar este post Link para o post Compartilhar em outros sites
Marlon Pacheco 132 Denunciar post Postado Agosto 8, 2014 Onde tem: echo "Bem vindo " . $dados[1]; Coloque: echo "Bem vindo " . $dados[4]; E aplique uma criptografia nessa senha. Compartilhar este post Link para o post Compartilhar em outros sites