Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kamin

problemas ao exibir dados do usuário depois de logado.

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

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

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

@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

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

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

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

Faz assim

$login = $_SESSION['log'];
$strSQL = "SELECT * FROM minhatabela WHERE login = '".$login . "'; 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

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

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/4awj1o

acredito 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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.