Ir para conteúdo

Arquivado

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

claudemircruz

Sessõe com erro

Recommended Posts

Estou testando como incluir sessões em meu site, mais ocorre um erro, após dar ok na tela de login e senha.Warning: session_start(): open(/tmp\sess_8823e28cf4caeb8a49e467d78505ae6a, O_RDWR) failed: No such file or directory (2) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php on line 14alguém pode me ajudar dizendo o que siguinifica isto?COmo posso arrumar?grato pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

página ende digita-se o login e senha

 

<html>

<head>

<title>Confirmando Acesso</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

 

<body>

<form method="post" action="login.php">

<table width="200" border="0" cellspacing="3" cellpadding="0" align="center">

<tr>

<td>

<font face="Verdana, Arial, Helvetica, sans-serif" size="+1">Login</font>

</td>

<td>

<input type="text" size="20" name="login">

</td>

</tr>

<tr>

<td>

<font face="Verdana, Arial, Helvetica, sans-serif" size="+1">Senha</font>

</td>

<td>

<input type="password" size="10" name="senha">

</td>

</tr>

<tr>

<td colspan="2" align="center">

<input type="submit" value="Entrar">

</td>

</tr>

</table>

</form>

</body>

</html>

 

 

 

Página onde é criada a sessão

 

 

<?php

require 'configuracao.php';

echo "dados: ".$login." ".$senha."<br>";

$sql="SELECT * FROM $TbUsuario WHERE Login= \"".$login."\" AND Senha=\"".$senha."\"";

$rspt=mysql_query($sql);

$tot=mysql_num_rows($rspt);

 

if ($tot==0)

{

echo "login e/ou Senha inválidos<br>Clique<a href=\"index.php\">aqui</a> para voltar e tente novamente.";

}else

{

session_start("login");

session_name();

session_destroy();

session_register("login","senha");

header("Location:paginalogada.php");

exit;

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

<?phpsession_start();require 'configuracao.php';$sql="SELECT * FROM $TbUsuario WHERE Login= \"".$login."\" AND Senha=\"".$senha."\"";$rspt=mysql_query($sql);$tot=mysql_num_rows($rspt);if ($tot==0){echo "login e/ou Senha inválidos<br>Clique<a href=\"index.php\">aqui</a> para voltar e tente novamente.";}else{$_session["usuario"] = $login;$_session["senha"] = $senha;exit;}?>

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK, não deu mais nenhum erro, mais como faço para direcionar, para página protegida por acesso? Já que tirou o do Location?Desculpe pode ser algo simples, mais estou perdido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara em java eu faço assim, deve te ajudar:?> <script language="JavaScript" type="text/javascript">location.href="dados_gerais.php"; </script> <?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado!

 

Mais o quanto ao abrir outra página, apenas coloquei o include e tudo se resolveu....o problema é o erro de sessões que não para.

 

Se alguém tiver um exemplo de sessões com arquivos funcionando por favor me mande....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opss, quero dizer assim:

 

session_name();session_destroy();session_register("login","senha");?>       <script language="JavaScript" type="text/javascript">             location.href="paginalogada.php";      </script><? exit;

se não resolver é só falar. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dependendo de como funciona sua página pode ser complicado usar o include, se você verificar a propriedade da página você vera que ela ainda é a anterior e isso se você tiver algum procedimento que é executado com a chamada da página o mesmo se executado indevidamente, sei disso pq havia colocado um include em uma página que gravava informações no banco ai toda vez que ele chama o include como eu estava na página de gravação ele incluia um novo registro indevidamente. Só tome cuidado onde coloca o mesmo. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloquei as linhas de comando que você postou no arquivo login.php e deram estes erros.....Warning: session_destroy(): Trying to destroy uninitialized session in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php on line 19Warning: session_register(): open(/tmp\sess_a, O_RDWR) failed: No such file or directory (2) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php on line 20Warning: session_register(): Cannot send session cookie - headers already sent by (output started at C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php:2) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php on line 20Warning: session_register(): Cannot send session cache limiter - headers already sent (output started at C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php:2) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php on line 20sabe me dizer pq?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claudimir, sinceramente não sei te dizer pq seu sistema esta reportando este erro, eu nunca usei headers nas minhas aplicações, sei que esta linha em java somente redireciona para a página que você quer, só isso... Não sei se o comando location.href acessa o headers, pode talves ser isso. Infelismente vou ficar te devendo. :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado!

 

Mais o quanto ao abrir outra página, apenas coloquei o include e tudo se resolveu....o problema é o erro de sessões que não para.

 

Se alguém tiver um exemplo de sessões com arquivos funcionando por favor me mande....

Qual erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estes são os erros:Warning: session_start(): open(/tmp\sess_ddeb454486e399d3a12eb0537a66ff8a, O_RDWR) failed: No such file or directory (2) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login2.php on line 2Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login2.php:2) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login2.php on line 2Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login2.php:2) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login2.php on line 2Warning: Cannot modify header information - headers already sent by (output started at C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login2.php:2) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login2.php on line 5Warning: Unknown(): open(/tmp\sess_ddeb454486e399d3a12eb0537a66ff8a, O_RDWR) failed: No such file or directory (2) in Unknown on line 0Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warning: Unknown(): Failed to write session data (files).Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

o erro ja diz tudo, ta dificil hein?

 

tenta colocar o path (no php.ini) pro dir temporario onde as sessoes vao ficar gravadas, por exemplo:

session.save_path = "C://Program Files//Php//session"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros Colegas! Criei uma pasta tmp e parte dos erros sumiram, sem eu mudar o código. agora o erro é o seguinte:Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php:2) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php on line 3Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php:2) in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php on line 3e o código está assim<?php session_start(); require 'configuracao.php'; $sql="SELECT * FROM $TbUsuario WHERE Login= \"".$login."\" AND Senha=\"".$senha."\""; $rspt=mysql_query($sql); $tot=mysql_num_rows($rspt); if ($tot==0) { echo "login e/ou Senha inválidos<br>Clique<a href=\"index.php\">aqui</a> para voltar e tente novamente."; }else { $_session["usuario"] = $login; $_session["senha"] = $senha; ?> <script language="JavaScript" type="text/javascript"> location.href="paginalogada.php"; </script> <? exit; } ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca assim:

<?php session_start();require 'configuracao.php';$sql="SELECT * FROM $TbUsuario WHERE Login=$login AND Senha=$senha";$rspt=mysql_query($sql);while ($r = mysql_fetch_array($rspt)) {$login = $r[login];if (!login) {echo "login e/ou Senha inválidos<br>Clique<a href=index.php>aqui</a> para voltar e tente novamente.";} else {$_session["usuario"] = $login;$_session["senha"] = $senha;echo "Logado com sucesso";<script language="JavaScript" type="text/javascript">location.href="paginalogada.php";</script>}?>

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja como ficou:<?php session_start();require 'configuracao.php';$sql="SELECT * FROM $TbUsuario WHERE Login=$login AND Senha=$senha";$rspt=mysql_query($sql);while ($r = mysql_fetch_array($rspt)) {$login = $r[login];if (!login) {echo "login e/ou Senha inválidos<br>Clique<a href=index.php>aqui</a> para voltar e tente novamente.";} else {$_session["usuario"] = $login;$_session["senha"] = $senha;echo "Logado com sucesso";echo "<script language=\"JavaScript\" type=\"text/javascript\">location.href=\"paginalogada.php\" </script>";}}?>tive que por mais uma } e colocar um echo na linha do java script. O erro continuou o mesmo :Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Arquivos de programas\Apache Group\Apache2\htdocs\faturamento\login.php on line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal!!! Estou de novo atormentando vcs com esta questão de sessões, mais preciso muito dominar este item do PHP.

 

Superei todas as menssagens de erro, que antes estava dando em meus arquivos, mas não superei a barreira do incorreto.

 

No erro atual nehuma mensagem de erro é exibida, mais a sessão não é reconhecida. Alguém sabe me dizer pq isso ocorre?

 

Jeva como ficou o código:

index.php

<?php  session_start();?><html><head><title>Confirmando Acesso</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body>    <form method="post" action="login.php">    <table width="200" border="0" cellspacing="3" cellpadding="0" align="center">       <tr>       <td>       <font face="Verdana, Arial, Helvetica, sans-serif" size="+1">Login</font>    </td>    <td>       <input type="text" size="20" name="login">    </td>    </tr>    <tr>       <td>       <font face="Verdana, Arial, Helvetica, sans-serif" size="+1">Senha</font>    </td>    <td>       <input type="password" size="10" name="senha">    </td>    </tr>    <tr>       <td colspan="2" align="center">       <input type="submit" value="Entrar">    </td>    </tr>    </table>	</form>	<br>	<?php include('getOnlineUsers.php'); echo 'No momento há '        . getOnlineUsers() . ' usuário(s) navegando.'; ?></body></html>

login.php

 

<?php          require 'configuracao.php';         $sql="SELECT * FROM $TbUsuario WHERE Login= \"".$login."\" AND Senha=\"".$senha."\"";   $rspt=mysql_query($sql);   $tot=mysql_num_rows($rspt);      if ($tot==0)   {      echo "login e/ou Senha inválidos<br>Clique<a href=\"index.php\">aqui</a> para voltar e tente novamente.";   }else   {               $_session["usuario"] = $login;         $_session["senha"] = $senha;                ?>      <script language="JavaScript" type="text/javascript">            location.href="paginalogada.php";     </script>     <?       exit;     }   ?>

login2.php

 

<?php    session_start();     if ( !( session_is_registered("usuario") AND session_is_registered("senha") ) )   {      header("Location:index.php");   exit;   }      $login=$HTTP_SESSION_VARS[login];   $senha=$HTTP_SESSION_VARS[senha]; ?>

 

 

paginalogada.php

 

<? require 'login2.php'; ?><html><head><title>Primeiro Pagina com Sessão PHP</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body> Primeiro Pagina com Sessão PHP</body></html>

 

sempre volta para a index, pois no login2.php as variáveis usuarios e senha estão em branco. Pq isto ocorre?

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.