Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 indicada
exemplo echo $row['nome']
mostra nome de todos os usuários, quero que mostre nome de quem está logado.
espero que me ajudem
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
>
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.
espero que me ajudem.
Olá Posso tentar lhe ajudar. Tem Skype? Se sim me adiciona João Gustavo Balestrin dos Santos.
@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 :)
>
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;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.
frisando que meu problema não foi sanado, e nenhuma das opções me ajudaram.
tenta da um echo na $_SESSION['log'] e vê se retorna o e-mail...
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']
Muito estranho. Que tipo de erro retorna ao dar o echo na sessão?
esse erro
"Parse error: syntax error, unexpected T_VARIABLE in /home/megarend/public_html/l0g1n1912/ola123.php on line 59"
Você está com 1 erro de sintaxe, provavelmente esqueceu um ; (ponto vírgula) antes da variável na linha 59.
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
:(
Faz assim
$login = $_SESSION['log'];
$strSQL = "SELECT * FROM minhatabela WHERE login = '".$login . "';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
Olá! Ou então tente:
$login = $_SESSION['log'];
$strSQL = "SELECT * FROM minhatabela WHERE login = '$login'";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];
}
}
?>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.php
login: kamin
senha: abc12345
depois de logado vai para userpage.php onde mostra Bem vindo! kamin
e a index no caso é essa
http://megarendaonline.com.br/l0g1n1912/haha.php
que também está mostrando assim
Bem vindo kamin
sendo que eu nao pedi para mostrar login 'kamin' pedi para mostrar id
o codigo está assim
minha tabela está assim
e esse foi o codigo que usei para criar tabela,
acredito que seu codigo está certo, e minha tabela está com defeito, ou foi criada a forma errada,
espero que possa me ajudar;
Onde tem:
echo "Bem vindo " . $dados[1];
Coloque:
echo "Bem vindo " . $dados[4];
E aplique uma criptografia nessa senha.
consegui, valeu Marlon, continue assim :)
Essa linha que vai buscar os dados está errada:
$strSQL = "SELECT * FROM people";
Você deveria usar: