Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Sessions


Guest --wellington --

Pergunta

Guest --wellington --

iaew galera beleza,

estou com uma duvida,

No meu site tem um cpanel para cada cliente meu.

Fiz todo scrit. validação com sessions e tals.

Ele loga e tudo normal.

Queria saber como fazer tipo o sistema de login do forum, você loga e tem acesso ao site todo mas com algo a mais entende, que no meu caso seria alguma menus a mais como cpanal, status da conta e tals, mas isso só se ele estiver logado.

Queria saber como isso funciona, porque do jeito que o meu esta ele loga, aparece os dados, mas quando clica no link da index ele volta e aparece a pagina de login.

No caso eu criei uma index2 (só para logados). Mas axo q nah é dessa forma.

Se alguém puder me ajudar eu agradeço.

Vlw

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
Guest Visitante

essa parte da validação eu fiz.

Vou dar o exemplo

index1 (normal)

Home servicos produtos contato

____________

form. de login

______________

Index(2)- só para logados

Home servicos produtos contato

_________________

Seja bem vindo fulano

acesse seu cpanel

_______________

Ate ai tudo bem, só q se eu clicar em home ele volta pra index1

Se eu coloco o link como index2 beleza, mas ai teria q fazer digamos 2 sites :/. porque o que só vai acrescentar é isso ai.

Se eu clico em serviços e de serviços clico em home ele volta pra index1, com o campo de login entende.

NO caso seria uma regrinha...se estiver logado mostras isso, se não mostrar akilo.

Só que sou inciante :/ e to sem ideia de como fazer isso.

vlw

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Iae galera, tentei mas não consegui adaptar isso.

aqui esta o codigo de validação:

login.php

<?php

$usuario = $_POST['user'];
$senha = $_POST['pass'];

mysql_connect("localhost","root","");
mysql_select_db("webart");

$conn = mysql_query('SELECT * FROM clientes');
while($reg = mysql_fetch_array($conn)){
if($reg['usuario'] == $usuario && $reg['senha'] == $senha){
session_start();
$_SESSION['usuario'] = $_POST['user'];
$_SESSION['senha'] = $_POST['senha'];
header("location: index2.php?id=".$reg['id']);
}
else{
header("Location: erro_login.html");
}

}

?>

Esse é meu codigo atual, tentei fazer do jeito q o leandro falou mas não obtive sucesso, gostaria de uma ajuda.

Agraço.

Vlw

Link para o comentário
Compartilhar em outros sites

  • 0

Você está misturando duas possíveis dúvidas. O que você quer é autenticar o usuário (fazer o login), como no seu último post ou quer verificar se o usuário está logado, para exibir as páginas restritas? Pelo que entendi, é a segunda opção.

Basicamente é isto:

if (!isset($_SESSION['usuario']) || !isset($_SESSION['senha']))
{
    header("Location: index.php");
}

Esse código vai no topo dos scripts das áreas restritas.

Link para o comentário
Compartilhar em outros sites

  • 0

Quebrei a cabeça mas consegui fazer oque eu queria ^^

Só que ainda tem 1 pequeno problema.

aqui está o scritp da index.php

<?php
if (!isset($_SESSION['usuario']) || !isset($_SESSION['senha']))
{
print '<form method="POST" action="logar.php">
Usuário: <input type="text" name="user" size="15" /><br />
Senha:&nbsp;&nbsp;&nbsp;<input type="password" name="pass" size="15" /><br />
<input class="buttom" type="submit" value="logar" />
</form>';
}

else{
$cliente = $_GET['id'];

mysql_connect("localhost","root","");
mysql_select_db("webart");

$conn = mysql_query("SELECT * FROM clientes WHERE id='$cliente'");
while($reg = mysql_fetch_array($conn)){
print 'Seja Bem vindo, <font color="#ff6633" size="2">'.$reg['usuario'].'</font>';
}
}

?>
Codigo de validação
<?php

$usuario = $_POST['user'];
$senha = $_POST['pass'];

mysql_connect("localhost","root","");
mysql_select_db("webart");

$conn = mysql_query('SELECT * FROM clientes');
while($reg = mysql_fetch_array($conn)){
if($reg['usuario'] == $usuario && $reg['senha'] == $senha){
session_start();
$_SESSION['usuario'] = $_POST['user'];
$_SESSION['senha'] = $_POST['senha'];
header('location: index.php?id='.$reg['id']);
}
else{
header("Location: erro_login.html");
}

}

?>
Tudo esta funcionando normal, o unico problema é que quando clico digamos de serviços e clico em index novamente ele permace logado , mas nah aparece mais o "Seja bem vindo Fulando". sendo que fulando é um usuario que esta cadastrado no banco de dados. O problema eu ate sei, quando clico em Index.php ele nah resgata o id do usuario.
header('location: index.php?id='.$reg['id']);

ai ele direciona normal porque esta pegando o id.

só q no link normal dos menus só está index.php.

Como eu faço pro link também pegar o id do usuario?

Ex:

<a href="index.php?id='.$reg['id']">INDEX</a> (claro q nah funciona, só como teria q ser).

Vlw pela força galera.

Editado por tonzinhu
Link para o comentário
Compartilhar em outros sites

  • 0

Consegui ^^

Setei a session aqui no logar.php

if($reg['usuario'] == $usuario && $reg['senha'] == $senha){
session_start();
$_SESSION['usuario'] = $_POST['user'];
$_SESSION['senha'] = $_POST['senha'];
$_SESSION['id'] = $reg['id'];
e puxei ela aki na index
$cliente = $_SESSION['id'];

Funcionou certinho.

Muito obrigado a todos que me ajudaram. Aprendi muito sobre sessions ^^

Vlw

Editado por tonzinhu
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...