Jump to content


Uno

Member Since 06/09/2006
Offline Last Active 25/09/2006, 00:05
-----

Topics I've Started

Como Usar $_session Em Php?

16/09/2006, 22:00

Ola,

Estou tendo problemas com o codigo PHP para criar uma pagina restrita.
Por isso fiz um exemplo simplificado para explicar melhor.
Suponha que o acesso será feito no www.meusite.com.br.

O exemplo inicia com uma pagina em HTML que coleta as informações de usuário e senha. O codigo é mostrado abaixo:

<html>
<body>
<form method="POST" action="autoriza.php"><!Pede usuário e senha e envia para o script autoriza.php>
<p>Usuário: <input type="text" name="usuario" size="4"></p><!Entra com o usuário>
<p>Senha: <input type="password" name="senha" size="4"></p><!Entra com a senha>
<p><input type="submit" value="Enviar" name="B1"></p><!Envia>
</form>
</body>
</html>

Na sequencia, a pagina autoriza.php irá verificar se usuário e senha são válidos. O usuário válido é uno e a senha 123. O codigo da página autoriza.php é mostrado abaixo:

<?php
if ($_POST["usuario"] == "uno" && $_POST["senha"] == "123") //Verifica se o usuário e senha são válidos
{ //se forem válidos...
session_start(); //inicia a sessão...
$_SESSION["autoriza"] = true; //define a variável "autoriza" como verdadeira...
header ("location: [url="http://www.meusite.com.br/restrita.php");"]http://www.meusite.com.br/restrita.php");[/url] //chama a página restrita.
}
else //se não forem válidos...
echo "ATENÇÃO: Você digitou usuário ou senha incorretos!!"; //emite mensagem de alerta.
?>

Se o usuário e a senha forem corretos, a variável $_SESSION["autoriza"] é definida como verdadeira para que seja possível acessar a página restrita.php.
Se o usuário e a senha não forem corretos uma mensagem de alerta é emitida.

O código da página restrita.php é mostrado abaixo:

<?php
session_start(); //inicia sessão...
if ($_SESSION["autoriza"] == true) //verifica se a variável "autoriza" é verdadeira...
echo "Você é um USUÁRIO AUTORIZADO!!"; //se for emite mensagem positiva.
else //se não for...
echo "ATENÇÃO: ESTE ACESSO NÃO É AUTORIZADO!!"; //emite mensagem de alerta.
?>

É neste ponto que o erro acontece. A sessão é iniciada, e a variável $_SESSION["autoriza"] é verificada. Se ela for verdadeira, significa que a página restrita foi acessada com usuário e senha corretos. Se a variável $_SESSION["autoriza"] não for verdadeira, significa que a pagina restrita foi acessada de forma direta ou não autorizada.

No entanto, neste ponto, mesmo com usuário e senha corretos, o servidor emite a seguinte mensagem de erro:

PHP Warning: session_start(): open(/tmp\sess_........, O_RDWR) failed: No such file or directory (2) in D:\webpoint\docs\.....\restrita.php on line 3 PHP Notice: Undefined index: autoriza in D:\webpoint\docs\.....\restrita.php on line 4 PHP Warning: Unknown(): open(/tmp\sess_......, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 PHP 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

Por favor analisem este exemplo e me orientem com uma "dica" ou informem se existe algum erro no raciocínio ou no código.

Grato pela atenção.

Como Interagir Php E Html?

06/09/2006, 18:17

Ola,

Sou iniciante na programação HTML e PHP. Já aprendi a enviar parâmetros de uma página HTML para uma página PHP usando <form method="POST" action="arquivo.php"> e a variável $_POST. Desta forma consigo captar os dados em um formulário formatado usando código HTML e enviar para uma página em PHP para que cálculos sejam realizados e decisões sejam tomadas.
Minha dúvida é na volta... após os cáculos como posso enviar os resultados armazenados nas variáveis que estão na página PHP, para que sejam exibidos na página HTML? Em outras palavras... como eu "chamo" uma página HTML estando em uma página PHP para enviar parâmetros ou resultados??

Obrigado.

IPB Skin By Virteq