Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

misterxbr

Sessões

Recommended Posts

estou c/ o seguinte problema:crio a sessão, mas não consigo recuperá-laexemplo:index.php=======<?/******************************************************************Script .........: Criação de sessãoPor ............: Júlio César Martini (www.imasters.com.br)Data ...........: 13/09/2003******************************************************************/ //VERIFICA SE O FORMULÁRIO FOI ENVIADO if($_POST["postok"]) { //RECEBE OS DADOS ENVIADOS PELO FORMULÁRIO $nome = $_POST["txtNome"]; $idade = $_POST["txtIdade"]; //GRAVA NA SESSÃO SE OS CAMPOS NÃO ESTIVEREM EM BRANCO if ( (!empty($nome)) AND (!empty($idade)) ) { //INICAILIZA A SESSÃO session_start(); //REGISTRA AS VARIÁVEIS NA SESSÃO $_SESSION["sess_nome"] = $nome; $_SESSION["sess_idade"] = $idade; }//FECHA IF (empty) else { $erro++; //SOMA 1 A VARIÁVEL ERRO $html_error .= "<br>Os campos não podem ser deixados em branco."; }//FECHA ELSE }//FECHA IF($_post)?><html><head><title>::.. 78º artigo PHP - iMasters (www.imasters.com.br)</title></head><body> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><font size="5" face="Arial"><strong>Autenticação de usuários usando sessões - $_SESSION </strong></font></td> </tr> </table> <hr noshade> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr bgcolor="#EBEBEB"> <td height="31"><div align="center"><font size="2" face="Arial">[ Gravando os dados na sessão ]</font></div></td> <td height="31"><div align="center"><font size="2" face="Arial">[ <a href="verifica.php">Verificando a sessão</a> ]</font></div></td> <td height="31"><div align="center"><font size="2" face="Arial">[ <a href="encerra.php">Encerrando a sessão</a> ]</font></div></td> </tr> </table> <br> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><font size="2" face="Arial">Os dados digitados abaixo, serão guardados na sessão que será criada.</font></td> </tr> </table> <br> <? //VERIFICA SE O FORMULÁRIO FOI ENVIADO if($_POST["postok"]) { //VERIFICA SE ACONTECEU ALGUM ERRO if($erro) { echo "<div align='center'><b>$html_error</b></div>"; }//FECHA if (erro) // CASO NÃO TENHA OCOORIDO NEHUM ERRO ... else { echo "<br><br><table border='0' cellpading='0' cellspacing='0' width='90%'>"; echo "<tr>"; echo "<td><div align='center'><font face='Arial' size='2'><b>Sessão criada !!</b></font></div></td>"; echo "</tr>"; echo "</table>"; }//FECHA ELSE(erro) } //FECHA IF(postok) //EXIBE O FORMULÁRIO else { ?> <form action="" method="post" name="frm_sessao"> <table width="60%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="16%" height="25"><strong><font size="2" face="Arial">Nome:</font></strong></td> <td width="84%" height="25"><font size="2" face="Arial"> <input name="txtNome" type="text" size="30" maxlength="30"></font></td> </tr> <tr> <td height="25"><strong><font size="2" face="Arial">Idade:</font></strong></td> <td height="25"><font size="2" face="Arial"> <input name="txtIdade" type="text" size="3" maxlength="3"></font></td> </tr> <tr> <td colspan="2"><div align="center"> <input name="btnEnviar" type="submit" value="[ Gravar dados na sessão ]"></div></td> <input type="hidden" name="postok" value="1"> </tr> </table> </form> <? } //FECHA ELSE?></body></html>verifica.php========<?/******************************************************************Script .........: Verifica se a sesão está ativaPor ............: Júlio César Martini (www.imasters.com.br)Data ...........: 13/09/2003******************************************************************/ //INICIALIZA A SESSÃO //session_start();?><html><head><title>::.. 78º artigo PHP - iMasters (www.imasters.com.br)</title></head><body> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><font size="5" face="Arial"><strong>Autenticação de usuários usando sessões - $_SESSION </strong></font></td> </tr> </table> <hr noshade> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr bgcolor="#EBEBEB"> <td height="31"><div align="center"><font size="2" face="Arial">[ <a href="index.php">Gravando os dados na sessão</a> ]</font></div></td> <td height="31"><div align="center"><font size="2" face="Arial">[ Verificando a sessão ]</font></div></td> <td height="31"><div align="center"><font size="2" face="Arial">[ <a href="encerra.php">Encerrando a sessão</a> ]</font></div></td> </tr> </table><br><br> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><font color="#FF0000" size="3" face="Arial"><strong>Resultado da verificação:</strong></font></td> </tr> </table> <br> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><font size="2" face="Arial"> <? //VERIFICA SE AS VARIÁVES ESTÃO INICIALIZADAS NA SESSÃO //if(!empty($_SESSION["sess_nome"]) AND (!empty($_SESSION["sess_idade"])) ) { $nome = $HTTP_SESSION_VARS[sess_nome]; $idade = $HTTP_SESSION_VARS[sess_idade]; echo "nome: ".$nome; if((!empty($nome)) AND (!empty($idade))) { echo "<b>A sessão está ativa.</b><br><br>"; echo "Nome ...........: ".$_SESSION["sess_nome"]; echo "<br>Idade ............: ".$_SESSION["sess_idade"]; }//FECHA IF //SE NÃO TIVER NADA REGISTRADO, EMITE A MENSAGEM. else { echo "<b>A sessão NÃO FOI CRIADA AINDA.</b>"; } //FECHA ELSE?></font></td> </tr> </table></body></html>encerra.php========<?/******************************************************************Script .........: Encerra a sessãoPor ............: Júlio César Martini (www.imasters.com.br)Data ...........: 13/09/2003******************************************************************/ //INICIALIZA A SESSÃO session_start(); //VERIFICA SE AS VARIÁVEIS ESTÃO REGISTRADAS if( (!empty($_SESSION["sess_nome"])) AND (!empty($_SESSION["sess_idade"])) ) { //DESTRÓI A SESSÃO $destroi = session_destroy(); } //FECHA IF?><html><head><title>::.. 78º artigo PHP - iMasters (www.imasters.com.br)</title></head><body> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><font size="5" face="Arial"><strong>Autenticação de usuários usando sessões - $_SESSION </strong></font></td> </tr> </table> <hr noshade> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr bgcolor="#EBEBEB"> <td height="31"><div align="center"><font size="2" face="Arial">[ <a href="index.php">Gravando os dados na sessão</a> ]</font></div></td> <td height="31"><div align="center"><font size="2" face="Arial">[ <a href="verifica.php">Verificando a sessão</a> ]</font></div></td> <td height="31" bgcolor="#EBEBEB"><div align="center"><font size="2" face="Arial">[ Encerrando a sessão ]</font></div></td> </tr> </table> <br><br> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><div align="center"><font size="2" face="Arial"> <? //ANALISA O RESULTADO DA DESTRUIÇÃO if($destroi) { echo "<b>Sessão eliminada com SUCESSO !!</b>"; } else { echo "<b>Aconteceu algum erro. Por favor, tente novamente.</b><br><br>"; echo "<b>Exemplo: Verifique se a sessão já foi criada."; } ?></font></div></td> </tr> </table></body></html>aguardo uma resposta... obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem o problema continua... a configuração do php na parte de sessions está assim:[session]; Handler used to store/retrieve data.session.save_handler = files; Argument passed to save_handler. In the case of files, this is the path; where data files are stored. Note: Windows users have to change this ; variable in order to use PHP's session functions.; As of PHP 4.0.1, you can define the path as:; session.save_path = "N;/path"; where N is an integer. Instead of storing all the session files in ; /path, what this will do is use subdirectories N-levels deep, and ; store the session data in those directories. This is useful if you ; or your OS have problems with lots of files in one directory, and is ; a more efficient layout for servers that handle lots of sessions.; NOTE 1: PHP will not create this directory structure automatically.; You can use the script in the ext/session dir for that purpose.; NOTE 2: See the section on garbage collection below if you choose to; use subdirectories for session storagesession.save_path = C:\Temp; Whether to use cookies.session.use_cookies = 1; This option enables administrators to make their users invulnerable to; attacks which involve passing session ids in URLs; defaults to 0.; session.use_only_cookies = 0; Name of the session (used as cookie name).session.name = PHPSESSID; Initialize session on request startup.session.auto_start = 0; Lifetime in seconds of cookie or, if 0, until browser is restarted.session.cookie_lifetime = 0; The path for which the cookie is valid.session.cookie_path = C:\Temp; The domain for which the cookie is valid.session.cookie_domain =; Handler used to serialize data. php is the standard serializer of PHP.session.serialize_handler = php; Define the probability that the 'garbage collection' process is started; on every session initialization.; The probability is calculated by using gc_probability/gc_divisor,; e.g. 1/100 means there is a 1% chance that the GC process starts; on each request.session.gc_probability = 1session.gc_divisor = 100; After this number of seconds, stored data will be seen as 'garbage' and; cleaned up by the garbage collection process.session.gc_maxlifetime = 1440; NOTE: If you are using the subdirectory option for storing session files; (see session.save_path above), then garbage collection does *not*; happen automatically. You will need to do your own garbage ; collection through a shell script, cron entry, or some other method. ; For example, the following script would is the equivalent of; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):; cd /path/to/sessions; find -cmin +24 | xargs rm; PHP 4.2 and less have an undocumented feature/bug that allows you to; to initialize a session variable in the global scope, albeit register_globals; is disabled. PHP 4.3 and later will warn you, if this feature is used.; You can disable the feature and the warning seperately. At this time,; the warning is only displayed, if bug_compat_42 is enabled.session.bug_compat_42 = 1session.bug_compat_warn = 1; Check HTTP Referer to invalidate externally stored URLs containing ids.; HTTP_REFERER has to contain this substring for the session to be; considered as valid.session.referer_check =; How many bytes to read from the file.session.entropy_length = 0; Specified here to create the session id.session.entropy_file =;session.entropy_length = 16;session.entropy_file = /dev/urandom; Set to {nocache,private,public,} to determine HTTP caching aspects; or leave this empty to avoid sending anti-caching headers.session.cache_limiter = nocache; Document expires after n minutes.session.cache_expire = 180; trans sid support is disabled by default.; Use of trans sid may risk your users security. ; Use this option with caution.; - User may send URL contains active session ID; to other person via. email/irc/etc.; - URL that contains active session ID may be stored; in publically accessible computer.; - User may access your site with the same session ID; always using URL stored in browser's history or bookmarks.session.use_trans_sid = 0; The URL rewriter will look for URLs in a defined set of HTML tags.; form/fieldset are special; if you include them here, the rewriter will; add a hidden <input> field with the info which is otherwise appended; to URLs. If you want XHTML conformity, remove the form entry.; Note that all valid entries require a "=", even if no value follows.url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="

Compartilhar este post


Link para o post
Compartilhar em outros sites

O mesmo problema de sempre... :blink: http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

 

Sempre quandor forem usar session, pelas barbas do macaco, não esqueçam de colocar o

session_start();
no início do documento, sempre no início, antes de qualquer linha de código depois da TAG
<?php session_start(); resto do código aqui... ?>

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.