Jump to content


Photo

Sistema De Login


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

#1 erloracc

erloracc

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado
  • Localidade:Pernambuco/BRASIL

Posted 15/03/2006, 01:35

Quando o login é feito com sucesso ele redireciona para a página "loginok.php" nela é escrito o nome do usuario com a variavel da session so que ta aparecendo o seguinte erro:



Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0



Codigo da página login.php


<?php
foreach ($_POST as $campo => $valor) { $$campo = strip_tags($valor); }

require_once('Connections/con_all.php');

mysql_select_db($database_con_all, $con_all);
$query_rs_login = "SELECT ex_id, ex_nome, ex_login, ex_senha, ex_codigo FROM clientes WHERE ex_login = '$login' and ex_senha = '$senha'";
$rs_login = mysql_query($query_rs_login, $con_all) or die(mysql_error());
$row_rs_login = mysql_fetch_assoc($rs_login);
$totalRows_rs_login = mysql_num_rows($rs_login);

$num = $totalRows_rs_login;


if($num == 1) {
session_start();
$nome = $row_rs_login['ex_nome'];
$user = $row_rs_login['ex_login'];
$pwd = $row_rs_login['ex_senha'];
$cod = $row_rs_login['ex_codigo'];

session_register("nome");
session_register("user");
session_register("pwd");
session_register("cod");

header ("location: principal.php?area=loginok");
exit;
}
else {
echo "erro no login";
}

mysql_free_result($rs_login);
?>

Edição feita por: erloracc, 15/03/2006, 01:45.

Acesse Host
Portal Paulista Digital
www.paulistadigital.com.br
www.acessehost.com.br
MSN: leofernandes2004 [at] hotmail.com

#2 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 15/03/2006, 02:26

Opa ... ;)

Qual a versão do PHP utilizada ? Percebe-se que é bem antiguinha ... :P

Então ...

Isto é um bug, e já foi corrijido em novas versões. ;)

Mas ... o uso da função session_register() para registrar seções já foi desencorajado à muito tempo. O próprio manual diz para não usar ela, veja: www.php.net/manual/en/function.session-register.php. Se não me engano, ela só funciona com a diretiva de configuração register_globals estando ON. Para tu ter uma idéia, na próxima versão do PHP, a 6.0, esta diretiva de configuração nem existirá mais. Será como se fosse OFF sempre. ;)

Veja o que afeta. Antes:
$cod = $row_rs_login['ex_codigo'];

session_register('cod');
Depois:
$_SESSION['cod'] = $row_rs_login['ex_codigo'];
De quebra, tu reduz algumas linhas de código. Sempre que for registrar, alterar ou destruir seções, use a variável superglobal $_SESSION. ;)

Para destruir uma seção sem usar a função session_destroy() é muito fácil, é como trabalhar com arrays, afinal, a variável superglobal $_SESSION é um array. :)

Antes:
session_destroy();
Depois:
unset($_SESSION['cod']);
Espero ter ajudado. ^_^

[]’s :DAté mais

#3 erloracc

erloracc

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado
  • Localidade:Pernambuco/BRASIL

Posted 15/03/2006, 03:10

Obrigado, ajudou muito.

Mas o seguinte eu tenho esse mesmo script funcionando sem esse erro a diferença dos 2 é que esse agora quero registrar 4 vaiaveis e o antigo que funciona normal registro 2.
Acesse Host
Portal Paulista Digital
www.paulistadigital.com.br
www.acessehost.com.br
MSN: leofernandes2004 [at] hotmail.com

#4 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 15/03/2006, 03:19

Obrigado, ajudou muito.

Mas o seguinte eu tenho esse mesmo script funcionando sem esse erro a diferença dos 2 é que esse agora quero registrar 4 vaiaveis e o antigo que funciona normal registro 2.

Ah, esqueci de mencionar. O bug se refere à criar uma seção com valor nulo, ou seja, uma da 4 variáveis não possuem valor. ;)

[]’s :DAté mais

#5 guaxinim

guaxinim

    Turista

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

Posted 15/03/2006, 12:06

Voce não presisa usar session_register()




1 user(s) are reading this topic

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

IPB Skin By Virteq