Jump to content


Photo

Session Da Uma Ajuda


  • Faça o login para participar
11 replies to this topic

#1 Henriquewow

Henriquewow

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais

Posted 23/05/2012, 14:03

bom galera fiz um sistema de login mysql com php usando session

mas so alguns dados esta sendo carregado pelas sessao
essa e a pagina que carregar

[<?php

session_start();
include "functions.php";
session_checker();

echo "Bem vindo <strong>". $_SESSION['nome'] ." ". $_SESSION['sobrenome'] ."</strong>!<br />
Você está acessando área restrita para usuários cadastrados!
<br /><br />";
echo "Email:<strong>". $_SESSION['email'] ."</strong><br>";
echo "jogos:<strong>". $_SESSION['jogos'] ."</strong><br>";
echo "gol:<strong>". $_SESSION['gol'] ."</strong><br>";
echo "assist:<strong>". $_SESSION['assist'] ."</strong><br>";
echo "agi:<strong>". $_SESSION['agi'] ."</strong><br>";
echo "str:<strong>". $_SESSION['str'] ."</strong><br>";
echo "int:<strong>". $_SESSION['int'] ."</strong><br>";
echo "Ultimo login:<strong>". $_SESSION['data_ultimo_login'] ."</strong><br>";

echo "Seu nível de usuário é <strong>". $_SESSION['nivel_usuario']."</strong>.
<br />Com esse nível, você tem permisão de acesso às
seguintes áreas: <br /><br />";

if ($_SESSION['nivel_usuario'] == 0){

echo "- <strong>Forum</strong><br />Abrir tópicos, postar em tópicos
de terceiros.<br /><br />";

}

if ($_SESSION['nivel_usuario'] == 1){

echo "- <strong>Forum</strong><br />Administração -
Acesso total <br /><br />";

}

echo "<a href=\"logout.php\">Sair</a>";

?>

esse e o arquivo functions.php

<?php

function session_checker(){

if (!isset($_SESSION['usuario_id'])){

header ("Location:formulario_login.html");
exit();

}

}

?>



#2 Allex Severino

Allex Severino

    Será?!?!?!

  • Usuários
  • 793 posts
  • Sexo:Masculino
  • Localidade:São Luís de Montes Belos - GO

Posted 23/05/2012, 14:57

Faça isso:

session_start();
var_dump($_SESSION);

Isso irá retornar todas sessões criadas.
Meu post lhe ajudou? Clicar no Posted Image é uma das formas de agradecer.

#3 Henriquewow

Henriquewow

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais

Posted 23/05/2012, 17:30

ok. testando aqui
confirmo agora.

meu host fico em manutenção, assim que retorna vo testa mas agradeço desde jah

olha oque apareceu

array(5) { ["usuario_id"]=> string(1) "7" ["nome"]=> string(16) "willian henrique" ["sobrenome"]=> string(8) "oliveira" ["email"]=> string(42) "webmaster@setorcriat.dominiotemporario.com" ["nivel_usuario"]=> string(1) "1" } Bem vindo willian henrique oliveira!
Você está acessando área restrita para usuários cadastrados!

Email:webmaster@setorcriat.dominiotemporario.com
jogos:
gol:
assist:
agi:
str:
int:
Ultimo login:



#4 Allex Severino

Allex Severino

    Será?!?!?!

  • Usuários
  • 793 posts
  • Sexo:Masculino
  • Localidade:São Luís de Montes Belos - GO

Posted 23/05/2012, 17:32

Apareceu todas sessões gravadas?
Meu post lhe ajudou? Clicar no Posted Image é uma das formas de agradecer.

#5 Henriquewow

Henriquewow

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais

Posted 24/05/2012, 07:07

apareceu 4 mas o texto que colei no outro posto e o resultado que imprimiu no browse.

#6 Allex Severino

Allex Severino

    Será?!?!?!

  • Usuários
  • 793 posts
  • Sexo:Masculino
  • Localidade:São Luís de Montes Belos - GO

Posted 24/05/2012, 08:32

Certo. Você tem uma query para buscar o restante dessas informações no banco? Se tiver, poste a parte que faz a busca no banco das informações acima.
Meu post lhe ajudou? Clicar no Posted Image é uma das formas de agradecer.

#7 messahuo

messahuo

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

Posted 24/05/2012, 12:22

Isso irá retornar todas sessões criadas. Posted Image

#8 Henriquewow

Henriquewow

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais

Posted 24/05/2012, 20:38

desculpa pela demora eu criei um arquivo que busca as informações e manda para a pagina

<?php

session_start(); // Inicia a session

include "config.php";

$email = $_POST['email'];
$senha = $_POST['senha'];

if ((!$email) || (!$senha)){

echo "Por favor, todos campos devem ser preenchidos! <br /><br />";

include "formulario_login.html";

}else{

$senha = md5($senha);

$sql = mysql_query(

"SELECT * FROM usuarios
WHERE email='{$email}'
AND senha='{$senha}'
AND ativado='1'"

);

$login_check = mysql_num_rows($sql);

if ($login_check > 0){

while ($row = mysql_fetch_array($sql)){

foreach ($row AS $key => $val){

$$key = stripslashes( $val );

}

$_SESSION['usuario_id'] = $usuario_id;
$_SESSION['nome'] = $nome;
$_SESSION['sobrenome'] = $sobrenome;
$_SESSION['email'] = $email;
$_SESSION['nivel_usuario'] = $nivel_usuario;
$_SESSION['gol'] = $gol;
$_SESSION['assist'] = $assist;
$_SESSION['jogos'] = $jogos;
$_SESSION['agi'] = $agi;
$_SESSION['str'] = $str;
$_SESSION['int'] = $int;
$_SESSION['media'] = $media;
$_SESSION['info'] = $info;

mysql_query(

"UPDATE usuarios SET data_ultimo_login = now()
WHERE usuario_id ='{$usuario_id}'"

);

header("Location: area_restrita.php");

}

}else{

echo "Você não pode logar-se! Este usuário e/ou senha não são válidos!<br />
Por favor tente novamente!<br />";

include "formulario_login.html";

}

}

?>



#9 Allex Severino

Allex Severino

    Será?!?!?!

  • Usuários
  • 793 posts
  • Sexo:Masculino
  • Localidade:São Luís de Montes Belos - GO

Posted 24/05/2012, 20:59

Isso aqui está certo?

$$key = stripslashes( $val );

2 cifrão ($) juntos.
Meu post lhe ajudou? Clicar no Posted Image é uma das formas de agradecer.

#10 Henriquewow

Henriquewow

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais

Posted 24/05/2012, 21:38

agora que você aponto não tenho certeza so novato, e estou lendo livros e varios tuto pela internet mas esta funcionando direitinho assim.
se você souber de um tuto que ensine como usar o paramentro. tipo (index.php?p=busca)
eu agradeço

#11 Allex Severino

Allex Severino

    Será?!?!?!

  • Usuários
  • 793 posts
  • Sexo:Masculino
  • Localidade:São Luís de Montes Belos - GO

Posted 24/05/2012, 22:34

Pelo que percebi, esse foreach resgata todos os valores do banco. Sete esses valores manualmente para testar.
Meu post lhe ajudou? Clicar no Posted Image é uma das formas de agradecer.

#12 Guilherme Vieira

Guilherme Vieira

    Normal

  • Usuários
  • 113 posts
  • Sexo:Masculino
  • Localidade:Fortaleza, Ceará
  • Interesses:Desenvolvimento Web baseado nos padrões do W3C, HTML5, CSS3, PHP, JavaScript, jQuery, AJAX, SQL, MySQL.

Posted 28/05/2012, 14:05

Os dois $ funcionam, isto cria uma variável $valor, onde valor é o que está armazenado em $key.

Pelo que eu vi,
foreach ($row AS $key => $val){

$key = stripslashes( $val );

}

$_SESSION['usuario_id'] = $usuario_id;
$_SESSION['nome'] = $nome;
$_SESSION['sobrenome'] = $sobrenome;
$_SESSION['email'] = $email;
$_SESSION['nivel_usuario'] = $nivel_usuario;
$_SESSION['gol'] = $gol;
$_SESSION['assist'] = $assist;
$_SESSION['jogos'] = $jogos;
$_SESSION['agi'] = $agi;
$_SESSION['str'] = $str;
$_SESSION['int'] = $int;
$_SESSION['media'] = $media;
$_SESSION['info'] = $info;

mysql_query(

"UPDATE usuarios SET data_ultimo_login = now()
WHERE usuario_id ='{$usuario_id}'"

);

header("Location: area_restrita.php");


o código acima pega os valores do banco e armazena em variáveis cujos nomes são as próprias colunas do banco.
Depois disso seta as Sessions usando essas variáveis. Se alguma dessas sessões não está sendo setada, então, provavelmente, no seu banco, a coluna que armazena aquele dado não tem o nome daquela variável.

Por exemplo:
$_SESSION['agi'] = $agi;
$_SESSION['str'] = $str;
$_SESSION['int'] = $int;
esta código seta nas sessão agi, o conteúdo que está armazenado na coluna agi no seu banco. Se por algum motivo voce tiver mudado para agilidade, ela não vai mais setar.


Verifique no seu banco de dados os nomes das colunas e posta aqui pra gente ver.


abcs.

Edição feita por: Guilherme Vieira, 28/05/2012, 14:06.

Guilherme Vieira
g.

PS: Te ajudei? Me dá ponto! ^^




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq