Ir para conteúdo

POWERED BY:

Arquivado

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

Publicitário Ideal

Exibir nome de usuário a partir de uma tabela.

Recommended Posts

Boa tarde, criei um sistema de login onde o usuário se loga a partir de email e senha.

Porém no sistema de cadastro de usuarios, cada usuário tem 5 colunas, sendo nome, sobrenome, email e senha e id.

 

Quando colocou no topo do site:

Olá, seja bem vindo <?php echo $_SESSION['email']; ?>

 

Aparece perfeitamente, o email do usuário logado, desta forma:

Olá, seja bem vindo usuario@email.com

 

Porém, gostaria de puxar em PHP, o nome desse usuario para meu site, pois só colocando assim:

Olá, seja bem vindo <?php echo $_SESSION['nome']; ?>

 

Não aparece nada!!!

 

 

Meu código de login está dessa forma:

 

<?php
$host = "localhost";
$user = "*******";
$pass = "********";
$banco = "********";
$conexao = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($banco) or die(mysql_error());
?>

 

<?php
$email=$_POST['email'];
$senha=$_POST['senha'];
$sql = mysql_query("SELECT * FROM usuarios WHERE email = '$email' and senha = '$senha'");
$row = mysql_num_rows($sql);
if($row > 0) {
session_start();
$_SESSION['email']=$_POST['email'];
$_SESSION['senha']=$_POST['senha'];
echo "<center>Redirecionando, aguarde.</center>";
echo "<script>loginsuccessfully()</script>";
} else {
echo "<center>Nome de usuário ou senha inválidos. Aguarde...</center>";
echo "<script>loginfailled()</script>";
}
?>
E minha página de logado, onde é direcionado após o login com sucesso está dessa forma:
<?php
$host = "localhost";
$user = "*******";
$pass = "********";
$banco = "********";
$conexao = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($banco) or die(mysql_error());
?>
<?php
session_start();
if(!isset($_SESSION["email"]) || !isset($_SESSION["senha"])){
header("Location: ../index.php");
exit;
}
?>
...
Alguém pode me ajudar?

 

 



Ninguém?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É porque nesta parte do código você não envia para a sessão o retorno do banco de dados:

 

<?php
$email=$_POST['email'];
$senha=$_POST['senha'];
$sql = mysql_query("SELECT * FROM usuarios WHERE email = '$email' and senha = '$senha'");
$row = mysql_num_rows($sql);
if($row > 0) {
session_start();
$_SESSION['email']=$_POST['email'];
$_SESSION['senha']=$_POST['senha'];
echo "<center>Redirecionando, aguarde.</center>";
echo "<script>loginsuccessfully()</script>";
} else {
echo "<center>Nome de usuário ou senha inválidos. Aguarde...</center>";
echo "<script>loginfailled()</script>";
}
?>

 

Então seu código ficaria assim:

 

<?php
$email=$_POST['email'];
$senha=$_POST['senha'];
$sql = mysql_query("SELECT * FROM usuarios WHERE email = '$email' and senha = '$senha'");
$row = mysql_assoc($sql);
if($row > 0) {
session_start();
$_SESSION['email']=$_POST['email'];
$_SESSION['senha']=$_POST['senha'];
$_SESSION['nome']=$row['nome'];
echo "<center>Redirecionando, aguarde.</center>";
echo "<script>loginsuccessfully()</script>";
} else {
echo "<center>Nome de usuário ou senha inválidos. Aguarde...</center>";
echo "<script>loginfailled()</script>";
}
?>

 

as duas linhas que marquei em vermelho são as linhas alteradas...

 

Mais um detalhe, isto é php e não mysql...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pelo suporte, infelizmente não encontrei nada relacionado em PHP.

 

Tentei iserir: $row = mysql_assoc($sql);

 

Mas tive erro ao me logar no sistema.

 

Outra dúvida que tenho, sobre:

$_SESSION['nome']=$row['nome'];

Desta forma, eu indicaria o código para aparecer o nome de que forma, com $_SESSION['nome'] ou $row['nome'], dentro do PHP?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Roberto, muito prestativo.

 

O fórum é demais, recomendo. Só usuários dedicados!



Sem querer incomodar vocês, e mesmo sabendo que talvez não seja aqui, mas como faço para trocar meu nome de usuario?

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.