PHP_ZIMBA Postado Outubro 25, 2004 Denunciar Share Postado Outubro 25, 2004 O galera é o seguintejá procurei encontrar o erro em muitos lugares e inclusive no manual do php,revirei o código de cima pra baixo e nada de da certo...é o seguintequando eu entro na página restrita, e atualizo a (página restrita) ou entro em um link e volto para a (pagina restrita)ela perde o valor do session registrado e não exibe mais a página restrita...Tenho que alterar alguma coisa nesse código (pois já tentei de tudo), ou tenho que fazer alguma configuração no php.inio código é simples<? if ($submit){ /* Se o formulário for enviado ele entra nesta parte do script senão ele ira mostrar o formulário novamente até ser enviado corretamente!! */ if ((!$campologin) || (!$camposenha)){ $erro = "Desculpe! Mas você deixou algum campo em branco no formulário."; }else{ include ("../abertura.inc"); /* Verifica se existe usuários com aquela senha digitada!! */ $sql = mysql_query("SELECT * FROM operador WHERE lg_operador='$campologin' and sh_operador='$camposenha'"); /* Conta o numero de usuários com aquela senha */ $total = mysql_num_rows($sql); if ($total == 1){ /* Caso o numero de usuário com aquela senha for igual a 1 entra neste if */ session_start("operador"); /* A session_start deve estar antes de qualquer codigo senao dará erro !! e ele pode ter qualquer nome */ session_register("campologin","camposenha"); /* Registra o nome de usuário e a senha caso esteja correto */ header("Location: padrão.php?id=29"); /* Redireciona o usuário para a pagina restrita */ exit; /* Finaliza este script aqui */ }else{ $erro = "Desculpe! Mas você não é cadastrado ou esqueceu sua senha !! Cadastre-se Já!!."; } } } if($erro){ /* Se existir algum erro ele entra neste if e mostra o erro antes de mostrar o formulário novamente */ echo $erro; } ?> <form name="form1" method="post" action="padrão.php?id=28">//vai para o começo da pagina <div align="left"> <div align="center"> <pre><strong> Login: <input type="text" name="campologin" size="30"> Senha<strong>: <input type="password" name="camposenha" size="15"> </strong></strong></pre> <div align="center"> <input type="submit" name="submit" value="Ok"> <input type="reset" name="Submit2" value="Limpar"> </div> </div> </div> </form>---no topo da pagina to colocando isso, para evitar que engracadinho tentem passar por cima do sistema if(!(session_is_registered("campologin") AND session_is_registered("camposenha"))){ echo "Area somente para usuários cadastrados!"; }else{ # Mostra o conteudo do site para o usuário !!! } ele da certo da primeira vez (ele entra na página restrita, mas se eu atualizar a página ou entrar no link e voltar ( ele perde o valor do session) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gladisson Postado Outubro 25, 2004 Denunciar Share Postado Outubro 25, 2004 Modifiquei alguns cozinhas:session_start(); if($_SESSION['login']==logado"){echo "você está logado!";} else {if ((!$_POST['campologin]) || (!$_POST['camposenha)']){ $erro = "Desculpe! Mas você deixou algum campo em branco no formulário."; }else{ include ("../abertura.inc");$sql = mysql_query("SELECT * FROM operador WHERE lg_operador=".$_POST['campologin]."' and sh_operador='".$_POST['$camposenha']."'"); if (mysql_num_rows($sql) == 1){$_SESSION['login']="logado";}else{echo "ERRO";}} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - php_zimba - Postado Outubro 26, 2004 Denunciar Share Postado Outubro 26, 2004 NÃO POSSO UTILIZAR O CÓDIGO QUE VOCÊ POSTOU ENCIMA POISNÃO POSSO UTILIZAR O $SESSION nem o $HTTP_SESSION_VARS, POR MOTIVOS DE CONFIGURAÇÃO DO MEU PHPSOU OBRIGADO A UTILIZAR O SESSION_REGISTER-----------PRECISO MESMO É SABER SE TENHO QUE CONFIGURA O TEMPO DO SESSION REGISTER, POIS ELE NÃO MANTEM O VALOR (CASO EU ATUALIZE A PAGINA) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
PHP_ZIMBA
O galera é o seguinte
já procurei encontrar o erro em muitos lugares e inclusive no manual do php,
revirei o código de cima pra baixo e nada de da certo...
é o seguinte
quando eu entro na página restrita,
e atualizo a (página restrita) ou entro em um link e volto para a (pagina restrita)
ela perde o valor do session registrado e não exibe mais a página restrita...
Tenho que alterar alguma coisa nesse código (pois já tentei de tudo),
ou tenho que fazer alguma configuração no php.ini
o código é simples
<?
if ($submit){ /* Se o formulário for enviado ele entra nesta parte do script senão ele ira mostrar o
formulário novamente até ser enviado corretamente!! */
if ((!$campologin) || (!$camposenha)){
$erro = "Desculpe! Mas você deixou algum campo em branco no formulário.";
}else{
include ("../abertura.inc");
/* Verifica se existe usuários com aquela senha digitada!! */
$sql = mysql_query("SELECT * FROM operador WHERE lg_operador='$campologin' and sh_operador='$camposenha'");
/* Conta o numero de usuários com aquela senha */
$total = mysql_num_rows($sql);
if ($total == 1){ /* Caso o numero de usuário com aquela senha for igual a 1 entra neste if */
session_start("operador"); /* A session_start deve estar antes de qualquer codigo senao dará erro !! e ele pode ter qualquer nome */
session_register("campologin","camposenha"); /* Registra o nome de usuário e a senha caso esteja correto */
header("Location: padrão.php?id=29"); /* Redireciona o usuário para a pagina restrita */
exit; /* Finaliza este script aqui */
}else{
$erro = "Desculpe! Mas você não é cadastrado ou esqueceu sua senha !! Cadastre-se Já!!.";
}
}
}
if($erro){ /* Se existir algum erro ele entra neste if e mostra o erro antes de mostrar o formulário novamente */
echo $erro;
}
?>
<form name="form1" method="post" action="padrão.php?id=28">//vai para o começo da pagina
<div align="left">
<div align="center">
<pre><strong> Login: <input type="text" name="campologin" size="30">
Senha<strong>: <input type="password" name="camposenha" size="15"> </strong></strong></pre>
<div align="center">
<input type="submit" name="submit" value="Ok">
<input type="reset" name="Submit2" value="Limpar">
</div>
</div>
</div>
</form>
---
no topo da pagina to colocando isso, para evitar que engracadinho tentem passar por cima do sistema
if(!(session_is_registered("campologin") AND session_is_registered("camposenha"))){
echo "Area somente para usuários cadastrados!";
}else{
# Mostra o conteudo do site para o usuário !!!
}
ele da certo da primeira vez (ele entra na página restrita,
mas se eu atualizar a página ou entrar no link e voltar ( ele perde o valor do session)
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.