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

Session, Cookie


hlegius

Pergunta

Pessoal,

To ficando maluco aki já...

Vejam só...

Quando o cara entra no sistema, ele verifica se o cara têm cookie ou sessão definidos. Têm? Legal, qual? Ah, Cookie? legal mostra o nome dele e as permissões de acordo com o usuário...

Não tem?

Legal, nem session? Não! Então ele define a session['login'] como visitante, adiciona a lista de online e na lista de visitante (sem base, tudo lógico mesmo.. session...)

até aí normalzinho... daí para o visitante, claro pode se logar, ele clicar em logar!

abre uma outra página com o mesmo topo... uh? é isso mesmo...assim ó:

index.php

Contém o topo do site com as barras de ferramentas dos usuários tipo o fórum aki, akela barra onde tá escrito bem-vindo sabão etc...

abaixo dela há uma query_string interna para receber valores e incluir a outra página abaixo desse topo(para não ficar fazendo o mesma coisa toda hora)

legal clico em login...

Aí tem lá: coloque seus dados... login senha e modo de autenticação Cookie ou session ?

Vai é cookie, legal ele deleta akela session['login'] com o valor de visitante e loga o cara com cookies como usuário mesmo...

Não quero session...aí começa os problemas...

ele simplismente não loga... mantém a session['login'] como visitante...!

Já tentei deletar antes e chamar na seguencia a nova, mas não dá!

segue abaixo o trecho da session...

login.php

if($mt == 'cookie'):

  setcookie('login',$login);

  setcookie('senha',$senha);

  session_start("login");

  unset($_SESSION['login]);

  session_destroy();

elseif($mt == 'session'):

  session_start("login");

  unset($_SESSION['login']);

  session_destroy();

  $_SESSION['login'] = $login;

  $_SESSION['senha'] = $senha;

else:

  $erro .= "Não foi possivel autentica-lo!";

endif;

e o topo do site:

index.php

session_start("login");

session_name();

if(isset($_SESSION['login]) and ($_SESSION['senha'])):

  $mode_login = $_SESSION['login'];

  $mode_senha = $_SESSION['senha'];

  $option_guest = "Olá ".$mode_login."! ( ".able($mode_login)." ";

  $option_guest .= " -- Perfil pessoal · Caixa de entrada( $tot novas ))";

elseif(isset($_COOKIE['login']) and ($_COOKIE['senha'])):

  $mode_login = $_COOKIE['login'];

  $mode_senha = $_COOKIE['senha'];

  $option_guest = "Olá ".$mode_login."! ( ".able($mode_login)." ";

  $option_guest .= " -- Perfil pessoal · Caixa de entrada( $tot novas ))";

else:

  $mode_login = $_SESSION['login'] = 'visitante';

  $option_guest = "Opções para visitantes: <a href='index.php?area=log&code=1'>Login</a> | <a href='index.php?area=log&code=2'>Registre-se!</a>";

endif;

// e tem mais uns baratos que não importa aki para baixo antes de incluir outro arquivo pelo include...

aguardo help...

até... smile.gif

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

hummm aconselho você a mudar umas coisinhas =]

session_start();

if($mt == 'cookie'){ // mudei para {} porque fica mais buito tongue.gif

  setcookie('login',$login);

  setcookie('senha',$senha);

  unset($_SESSION); // nesse caso iria destruir todas as sessions

  session_destroy();

}elseif($mt == 'session'){

  unset($_SESSION); // nesse caso iria destruir todas as sessions

  session_destroy();

  $_SESSION['login'] = $login;

  $_SESSION['senha'] = $senha;

}else{

  $erro .= "Não foi possivel autentica-lo!";

}

ahhh outra coisa se essa pagina estive sendo incluida na index.php então pode tirar o session_start(); dela porque não há necessidade...

ve se ajuda

falou

/* ps:

redneck / -> se leonardo da 20 porque eu não posso dar 2? diz:

cara

redneck / -> se leonardo da 20 porque eu não posso dar 2? diz:

pode se iniciar uma unica sessao em php?

redneck / -> se leonardo da 20 porque eu não posso dar 2? diz:

session_start("login"); isso ta certo?

(não quero me identificar) diz:

não

*/

Link para o comentário
Compartilhar em outros sites

  • 0

uh? se quer dizer: session_start("login") tá errado e no caso seria: session_start() somente?

Não sei, pois eu sempre usei session, desde meu primeiro sisteminha de login usava session_start("nome_dela"), pois nomeando eu posso iniciar outra diferente...

estou vendo aqui...pois também achei estranho...mas por via das dúvidas vou testar!

até... smile.gif

P.S: ah, tentei aki e não mudou nada mesmo...

Link para o comentário
Compartilhar em outros sites

  • 0

então tá ok...

são enormes...

login.php

<?

require_once "config.php";

include_once "data/functions.php";

$mestra = $_GET['code'];

if($mestra == '4'):

$login  = $_POST['login'];

$senha  = $_POST['senha'];

$senha  = senha($senha);

$mt  = $_POST['escolha'];

$list_u = mysql_query("SELECT login,senha FROM users WHERE login=$login' and senha ='$senha'");

if(mysql_num_rows($list_u) != 1):

$erro = "Usuário não encontrado!";

print "<script language='javascript'>

  alert('Foram encontrados os seguintes problemas: $erro');

  location.href='index.php?area=log&code=1';</script>";

exit;

elseif(!($login || $senha)):

$erro .= "Digite um nome de usuário e uma senha!";

else:

if($mt == 'session'):

  session_start("login");

  unset($_SESSION);

  session_destroy();

  $_SESSION['login] = $login;

  $_SESSION['senha'] = $senha;

  print "<script language=javascript'>location.href='index.php?'</script>";

  exit;

elseif($mt == 'cookie'):

  setcookie('login',$login);

  setcookie('senha',$senha);

  session_start("login");

  unset($_SESSION);

  session_destroy();

  print "<script language='javascript'>location.href='index.php?'</script>";

  exit;

else:

  $erro .= "Não foi possivel autentica-lo!";

endif;

  if($erro):

  print "<script language='javascript'>

  alert('Foram encontrados os seguintes problemas:$erro');

  location.href='index.php?area=log&code=1';</script>";

  else:

  print "<script language='javascript'>location.href='index.php?'</script>";

  endif;

endif;

elseif($mestra == '1'):

print "<b>&raquo;&raquo; <a href=\"index.php?\">".$copy[0]."</a></b> -&gt; Autentique-se!<p></p>";

print "<table width=\"98%\" border=\"1\" class=\"tabelas\" align=\"center\" bordercolor='$cor_tr' bgcolor='$cor' cellspacing=0 cellpadding=0>

<form name=\"form1\" method=\"post\" action=\"login.php?code=4\">

  <tr>

    <td colspan=\"2\" bgcolor='$cor_tr'>&raquo; Autentique-se ao sistema!</td>

  </tr>

  <tr>

    <td width=\"35%\"bgcolor='$cor' >Login:</td>

    <td width=\"65%\"bgcolor='$cor' >

        <input name=\"login\" type=\"text\" id=\"login\" size=\"30\" maxlength=\"60\">

      </td>

  </tr>

  <tr>

    <td bgcolor='$cor'>Senha:</td>

    <td bgcolor='$cor'><input name=\"senha\" type=\"password\" id=\"senha\" size=\"30\" maxlength=\"20\"></td>

  </tr>

  <tr>

    <td bgcolor='$cor'>Manter logado?<br />

<i>Se ativada, o sistema <b>não</b> irá te deslogar, caso feche o navegador!</i></td>

      <td valign=\"middle\" bgcolor='$cor'>

<p>

         

          <input name='escolha' type=\"radio\" value='cookie'>

          Manter Logado

          <br>

         

          <input type='radio' name='escolha' value='session'>

          Deslogar automáticamente

          <br>

        </p></td>

  </tr>

  <tr>

    <td>&nbsp;</td>

    <td bgcolor='$cor'><input name=\"ok\" type=\"submit\" id=\"ok\" value=\"Logar\"></td>

  </tr>

    <tr>

    <td bgcolor='$cor_tr' colspan=2>&nbsp;</td>

  </tr>

  </form>

</table>";

elseif($mestra == '3'):

print "<script language='javascript'>location.href='login.php?code=006'</script>";

elseif($mestra == '006'):

session_start("login");

if(isset($_SESSION['login], $_SESSION['senha'])):

unset($_SESSION['login']);

unset($_SESSION['senha']);

session_destroy();

elseif(isset($_COOKIE['login'] , $_COOKIE['senha'])):

setcookie('login');

setcookie('senha');

else:

print "Algum erro no barato!!!";

endif;

$_SESSION['login'] = 'visitante';

print "<script language=javascript'>location.href='index.php?'</script>";

else:

print "Nada a fazer!!";

endif;

?>

index.php

require "config.php";

include "data/functions.php";

session_start();

if(isset($_SESSION['login]) and ($_SESSION['senha'])):

  $mode_login = $_SESSION['login'];

  $mode_senha = $_SESSION['senha'];

  $option_guest = "Olá ".$mode_login."! ( ".able($mode_login)." ";

  $option_guest .= " -- Perfil pessoal &middot; Caixa de entrada( $tot novas ))";

elseif(isset($_COOKIE['login']) and ($_COOKIE['senha'])):

  $mode_login = $_COOKIE['login'];

  $mode_senha = $_COOKIE['senha'];

  $option_guest = "Olá ".$mode_login."! ( ".able($mode_login)." ";

  $option_guest .= " -- Perfil pessoal &middot; Caixa de entrada( $tot novas ))";

else:

  $mode_login = $_SESSION['login'] = 'visitante';

  $option_guest = "Opções para visitantes: <a href=index.php?area=log&code=1'>Login</a> | <a href='index.php?area=log&code=2'>Registre-se!</a>";

endif;

$cores = mysql_query("SELECT * FROM cores");

while($c = mysql_fetch_array($cores)):

$cor_fundo  = $c['cor_fundo];

$cor_tr  = $c['cor_tr'];

$cor_trs  = $c['cor_trs'];

$cor_b  = $c['borda_tr'];

$center_c[]  = $c['cor_tda'];

$center_c[]  = $c['cor_tdb'];

endwhile;

$k =1;

if($k%2):

$cor = $center_c[0];

else:

$cor = $center_c[1];

endif;

$k++;

print "<html><head>";

print "<link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\">";

print "<title>".$copy[0]."</title></head>";

print "<body class=tabelas' bgcolor='$cor_fundo'>";

if(!mysql_select_db($base)):

print "<center><h6>Newsb Hc: Sistema não instalado!</h6>";

print "Consulte o manual para saber como instalar!</center>";

exit;

endif;

print "<table width=\"98%\" border=\"1\" bordercolor='$cor_b' class=\"tabelas\" cellspacing=0 cellpadding=0 align=center>

  <tr>

    <td height=\"21\" colspan=\"2\"></td>

  </tr>

  <tr>

    <td conspan=2 height=17 valign=middle>&nbsp;".$option_guest."</td>

  <td height=17 valign=middle>&nbsp; Membros &middot; Busca &middot; Ajuda</td>

  </tr>

</table><br />";

$core['log] = "teste.html";

$core['forum']  = "topics.php";

$core['log'] = "login.php";

$core['mgs'] = "vpost.php";

if(!empty($_SERVER['QUERY_STRING'])):

include $core[$_GET[area]];

else:

print "<b> &raquo;&raquo; ". $copy[0] ."</b><p></p>";

print "<table width=\"98%\" border=\"1\" bordercolor=$cor_b' class=\"tabelas\" cellspacing=0 cellpadding=0 align=center>";

$cat = mysql_query("SELECT distinct * FROM categoria");

while($r = mysql_fetch_array($cat)):

print "<tr>";

    print "<td colspan=\"2\" bgcolor=".$cor_tr."><b>&raquo; ".$r['nome]."</b></td>";

  print "</tr>";

$for = mysql_query("SELECT * FROM forum WHERE id_cat = '".$r['id']."'");

while($s = mysql_fetch_array($for)):

  print "<tr>";

    print "<td bgcolor=$cor'><blockquote>» <a href='index.php?area=forum&aid=".$s['id]."'><b>".$s['nome']."</b></a><br /><br />".$s['descr']."</blockquote></td>";

    print "<td bgcolor=$cor'>&nbsp;Total de mensagens: ".$s['id]."</td>";

print "</tr>";

endwhile;

endwhile;

$link_user = "<a href='index.php?area=user&id=$mode_login' title='Perfil de $mode_login'>$mode_login</a>, ";

print "<tr>";

    print "<td colspan=\"2\" bgcolor='$cor_tr'><b>Usuários online:</b> ". wordwrap($link_user,500,"<br />")."</td>";

  print "</tr>";

print "</table>";

print "<p></p>";

/* tabela de estatisticas do fórum */

print "<table width=\"98%\" border=\"1\" class='tabelas' bordercolor='$cor_b' class=\"tabelas\" cellspacing=0 cellpadding=0 align=center>

  <tr>

    <td colspan=\"2\" bgcolor='$cor_tr' valign=\"middle\"><b>&raquo; Status do F&oacute;rum</b></td>

  </tr>

  <tr>

    <td bgcolor='$cor'> • Total de posts: x</td>

    <td bgcolor='$cor'>• Total de t&oacute;picos: y</td>

  </tr>

  <tr>

    <td bgcolor='$cor'>• Usu&aacute;rios cadastrados: z</td>

    <td bgcolor='$cor'>• Ultimo usu&aacute;rio cadastrado: abc</td>

  </tr>

  <tr>

    <td colspan=\"2\" bgcolor='$cor'>• ".count(conta_users())." usu&aacute;rio(s) online ( ".conta_users().")</td>

  </tr>

  <tr>

  <td bgcolor='$cor_tr' colspan=\"2\">&nbsp;</td>

  </tr>

</table>";

print "<p></p>";

newb();

endif;

?>

tá aí...

até... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

<?

session_start(); // atencao: isso tem que vir antes de saidas html !

require_once "config.php";

include_once "data/functions.php";

$mestra = $_GET['code'];

if($mestra == '4'):

$login  = $_POST['login'];

$senha  = senha($_POST['senha]);

$mt  = $_POST['escolha'];

$list_u = mysql_query("SELECT login,senha FROM users WHERE login=$login' and senha ='$senha'");

if(mysql_num_rows($list_u) == 0): // assim fica mais buito tongue.gif

$erro = "Usuário não encontrado!";

print "<script language='javascript'>

 alert('Foram encontrados os seguintes problemas: $erro');

 location.href='index.php?area=log&code=1';</script>";

exit;

elseif(empty($login) || empty($senha)): // aqui você pode usar como quiser, porem eu prefiro usar empty, pois é a funcao propria do php para ver se a var esta null

$erro .= "Digite um nome de usuário e uma senha!";

else:

if($mt == 'session'):

 unset($_SESSION);

 session_destroy();

 $_SESSION['login] = $login;

 $_SESSION['senha'] = $senha;

 print "<script language=javascript'>location.href='index.php?'</script>";

 exit;

elseif($mt == 'cookie'):

 setcookie('login',$login);

 setcookie('senha',$senha);

 unset($_SESSION);

 session_destroy();

 print "<script language='javascript'>location.href='index.php?'</script>";

 exit;

else:

 $erro .= "Não foi possivel autentica-lo!";

endif;

 if($erro):

  print "<script language='javascript'>

  alert('Foram encontrados os seguintes problemas:$erro');

  location.href='index.php?area=log&code=1';</script>";

 else:

  print "<script language='javascript'>location.href='index.php?'</script>";

 endif;

endif;

elseif($mestra == '1'):

print "<b>&raquo;&raquo; <a href=\"index.php?\">".$copy[0]."</a></b> -&gt; Autentique-se!<p></p>";

print "<table width=\"98%\" border=\"1\" class=\"tabelas\" align=\"center\" bordercolor='$cor_tr' bgcolor='$cor' cellspacing=0 cellpadding=0>

<form name=\"form1\" method=\"post\" action=\"login.php?code=4\">

 <tr>

   <td colspan=\"2\" bgcolor='$cor_tr'>&raquo; Autentique-se ao sistema!</td>

 </tr>

 <tr>

   <td width=\"35%\"bgcolor='$cor' >Login:</td>

   <td width=\"65%\"bgcolor='$cor' >

       <input name=\"login\" type=\"text\" id=\"login\" size=\"30\" maxlength=\"60\">

     </td>

 </tr>

 <tr>

   <td bgcolor='$cor'>Senha:</td>

   <td bgcolor='$cor'><input name=\"senha\" type=\"password\" id=\"senha\" size=\"30\" maxlength=\"20\"></td>

 </tr>

 <tr>

   <td bgcolor='$cor'>Manter logado?<br />

<i>Se ativada, o sistema <b>não</b> irá te deslogar, caso feche o navegador!</i></td>

     <td valign=\"middle\" bgcolor='$cor'>

<p>

         

         <input name='escolha' type=\"radio\" value='cookie'>

         Manter Logado

         <br>

         

         <input type='radio' name='escolha' value='session'>

         Deslogar automáticamente

         <br>

       </p></td>

 </tr>

 <tr>

   <td>&nbsp;</td>

   <td bgcolor='$cor'><input name=\"ok\" type=\"submit\" id=\"ok\" value=\"Logar\"></td>

 </tr>

   <tr>

   <td bgcolor='$cor_tr' colspan=2>&nbsp;</td>

 </tr>

 </form>

</table>";

elseif($mestra == '3'):

print "<script language='javascript'>location.href='login.php?code=006'</script>";

elseif($mestra == '006'):

if(isset($_SESSION['login], $_SESSION['senha'])):

unset($_SESSION);

session_destroy();

elseif(isset($_COOKIE['login] , $_COOKIE['senha'])):

setcookie('login');

setcookie('senha');

else:

print "Algum erro no barato!!!";

endif;

$_SESSION['login'] = 'visitante';

print "<script language='javascript'>location.href='index.php?'</script>";

else:

print "Nada a fazer!!";

endif;

?>

eu encontrei alguns erros e tou destacando eles em vermelho, ae você arruma, se não for isso volta que nois tenta de novo =] ... esse é o lado chato da programacao são tentativas e falhas, alias muitas falhas, ate que conseguimos ae é so alegria tongue.gif

falou

// ps: não li a index.php pois o bug esta na login.php certo?

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,3k
    • Posts
      652,6k
×
×
  • Criar Novo...