Witam!
Mam taki problem:
Chcialbym napisac sobie strone wykorzystujaca mechanizm sesji. Jako przyklad niech posluzy skrypt logowania ponizej:
<?php
$LOGIN="foo";
$HASLO="bar";
session_start();
if (isset($_SESSION['zalogowano'])) {
$zalogowano=1;
$login=$_SESSION['login'];
} else {
if ($_POST['login']==$LOGIN && $_POST['haslo']==$HASLO) {
$zalogowano=1;
$login=$_POST['login'];
$_SESSION['zalogowano']=1;
$_SESSION['login']=$_POST['login'];
} else if ($_POST['przeslano']==1){
$zalogowano=0;
$komunikat="Podano nieprawidłowe hasło i/lub login!";
}
}
if (isset($_GET['wyloguj'])) {
$_SESSION=array();
session_destroy();
$zalogowano=0;
$komunikat="Wylogowano!";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>LOGOWANIE</title>
</head>
<body>
<form action="index.php" method="post">
login: <input name="login" type="text" /><br/>
hasło: <input name="haslo" type="password" /><br/>
<input type="hidden" name="przeslano" value="1"/>
<input name="" type="submit" value="prześlij" />
</form>
<br/>
<form action="index.php" method="get">
<input type="hidden" name="wyloguj" value="1" />
<input type="hidden" name="przeslano" value="1"/>
<input name="" type="submit" value="wyloguj" />
</form>
<br/>
<?php
if ($zalogowano==1) {
echo "Witaj $login!";
} else if ($zalogowano==0){
echo $komunikat;
}
?>
<br/><br/>
<a href='index.php?pokaz=news'>news</a><br/>
<a href='index.php?pokaz=inne'>inne</a><br/>
<?php
if (isset($_REQUEST['pokaz'])) {
echo $_REQUEST['pokaz'];
}
?>
</body>
</html>
kiedy odpalam strone na localhost dziala zarowno pod FF jak i pod IE. Kiedy wgrywam plik na serwer pod FF nadal dziala, pod IE dziala niepoprawnie, tzn. po zalogowaniu wyswietla sie komunikat "witaj foo" jednak po odswiezeniu strony znika, a z nim znikaja zmienne sesji. Podejrzewam, ze to problem serwera (bo na innych dziala pod IE). Chcialbym zapytac:
- Czy ktos z Was mial podobne problemy i czy Wiecie czym jest on spowodowany?
- Czy Wiecie moze jak rozwiazac/obejsc ten problem?