PHP prihlasovani, session, mysql...

... takhle mam udelany prihlasovani.
mam tam sekce chat, kniha hostu atd.... casem neco pribude.
ale mam jeden problem :(
kdyz sem na hlavni strance a kliknu na jakykoliv odkaz krome kniha hostu tak je to v poradku.... ale jakmile kliknu na knihu hostu a pak na jiny odkaz, tak me to samo vyhodi na prihlasovaci formular a to je teda fakt nechci.

jenom se skuste podivat: www.mihax.com/osobni
usr: aaa
pass: aaa

a kliknete na knihu hostu a pak na jiny odkaz a taky vas to vyhodi...

tady je ten php skript login.php?page=kniha :
<? include "db.php"; ?>
<div align="center"><br>
<form method="post" action="posli.php" name="novy_vzkaz" onsubmit="return kontrola(this)">
<table width="300" border="0">
<tr>
<td width="85"><div align="right">Jméno:</div></td>
<td width="205"><div align="center">
<input name="jmeno" type="text" class="form1">
</div></td>
</tr>
<tr>
<td><div align="right">eMail: </div></td>
<td><div align="center">
<input type="text" name="email" class="form1">
</div></td>
</tr>
<tr>
<td valign="top"><div align="right">Text: </div></td>
<td><div align="center">
<textarea name="vzkaz" rows="3" class="form1"></textarea>
</div></td>
</tr>
<tr>
<td><div align="center"></div></td>
<td><div align="center">
<input type="submit" value="Odešli >> ">
  
<input type="reset" value="Vymazat">
</div></td>
</tr>
</table>
<input type="hidden" name="datum" value="<? echo Date("d.m.Y v H:i"); ?>">
</form>

<div id="pole">
<?
$dotaz = MySQL_Query("SELECT * FROM guestbook ORDER BY id DESC");
if(!$dotaz):
echo "Chyba pri nacítání vzkazu z databáze...";
else:
while($zaznam = MySQL_Fetch_Array($dotaz)):
$vzkaz = NL2BR($zaznam["vzkaz"]);
?>
<table width="450" border="0" align="center">
<tr>
<td bgcolor="#9F9DBC"><p>Od: <? echo $zaznam["jmeno"]; ?><br>
eMail: <a href="mailto: <? echo $zaznam["email"]; ?>"><? echo $zaznam["email"]; ?></a><br>
Datum: <? echo $zaznam["datum"]; ?></p>
</td>
</tr>
<tr>
<td bgcolor="#B88027">
<p><strong>Vzkaz:</strong><br>
<? echo $vzkaz; ?>
</p>
</td>
</tr>
</table>
<br>
<?
endwhile;
endif;
?>
</div>
</div>

a tady je login.php:

<?php

// vytvooení session
session_start();

if (!$_SESSION['user'] || !$_SESSION['pass']) {

// když není poihlášen poešmirování na login.php
header('Location: index.php');

} else {

// když session prominné existují zkontrolujeme je

$db = mysql_connect('c151lm.psisco.com', 'to vam nereknu', 'to vam nereknu');
mysql_select_db('a to vam taky nereknu... ale muzu vas ujistit ze to je spravne');

$result = mysql_query("SELECT count(id) FROM users WHERE pass='$_SESSION[pass]' AND name='$_SESSION[user]'");
$num = mysql_result($result, 0);

if (!$num) {
// jestli udáje nesedí přesmirování na formuláo
header('Location: index.php');
}
}

// to co je pod otaznik> se zobrazi uspesne prihlasenemu.

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta name="description" content="Mihax.com - Oficialni stranky Michala Kosa alias HackerXXX">
<meta name="keywords" content="Mihax.com, HackerXXX, Michal, Kos, Tvorba, webu, stranek, kontakt, odkazy">
<meta name="robots" content="all">
<meta name="author" content="Michal Kos alias HackerXXX, webmaster@mihax.com">
<meta name="copyright" content="(c) Michal Kos">
<link href="../style.css" rel="stylesheet" type="text/css">
<? if ($page=="kniha"): echo "<script src=\"kontrola.js\"></script>"; endif; ?>
<title>Mihax.com</title>
</head>
<body>
<table width="761" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="208" rowspan="3" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="199" colspan="2" valign="top" style="background:url(../images/index_01.gif);"></td>
</tr>
<tr>
<td width="53" rowspan="2" valign="top" style="background:url(../images/index_12.gif);"></td>
<td width="155" height="358" valign="top" style="background:url(../images/index_13.gif);"><table width="125" border="0" align="center">
<tr>
<td><div align="center"><a href="login.php">Hlavní stránka </a></div></td>
</tr>
<tr>
<td><div align="center"><a href="login.php?page=kniha">Kniha hostů </a> </div></td>
</tr>
<tr>
<td><div align="center"><a href="login.php?page=chat">Chat</a></div></td>
</tr>
<tr>
<td><div align="center"></div></td>
</tr>
<tr>
<td><div align="center"><a href="login.php?page=reg">Registrovat uživ.</a> </div></td>
</tr>
<tr>
<td><div align="center"><a href="odhlasit.php">Odhlásit</a></div></td>
</tr>
</table></td>
</tr>
<tr>
<td height="28" valign="top" style="background:url(../images/index_14.gif);"></td>
</tr>
</table></td>
<td width="553" height="56" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="553" height="56" style="background:url(../images/index_02.gif);"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="25" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="54" height="25" valign="top" style="background:url(../images/index_03.gif);"></td>
<td width="47" valign="top"><a href="../index.html"><img src="../images/index_04.gif" alt="Home" width="47" height="25" border="0"></a></td>
<td width="104" valign="top"><a href="../www/"><img src="../images/index_05.gif" alt="Tvorba www" width="104" height="25" border="0"></a></td>
<td width="110" valign="top"><img src="../images/index_06.gif" alt="Osobní sekce - Jen s heslem!" width="110" height="25" border="0"></td>
<td width="67" valign="top"><a href="../odkazy.html"><img src="../images/index_07.gif" alt="Odkazy" width="67" height="25" border="0"></a></td>
<td width="71" valign="top"><a href="../kontakt.html"><img src="../images/index_08.gif" alt="Kontakt" width="71" height="25" border="0"></a></td>
<td width="100" valign="top" style="background:url(../images/index_09.gif);"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="504" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="543" height="476" valign="top" style="background:url(../images/index_10.gif);">
<?
$num_users = mysql_fetch_row(mysql_query("SELECT COUNT(id) FROM users"));
if (!$page):
echo "<div align=\"center\">
<p> </p>
<p>Zdar človíčku $_SESSION[user]!</p>
<p> </p>
<p>Kolik lidí je online: "; include "whosonline.php"; echo " :uf
<br>
Kolik lidí je zde zaregistrováno? Odpověď zní: $num_users[0]
</p>
</div>";
else:
include "./$page."."php";
endif;
?>
</td>
<td width="10" valign="top" style="background:url(../images/index_11.gif);"></td>
</tr>
<tr>
<td height="28" colspan="2" valign="top" style="background:url(../images/index_15.gif);"></td>
</tr>
</table></td>
</tr>
</table>
<div align="center" class="w3c">
<a href="http://validator.w3.org/check?uri=referer" target="_blank" title="Validní HTML 4.01"><strong> W3C </strong> HTML 4.01 </a>
<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.mihax.com/style.css" target="_blank" title="Validní CSS"><strong> W3C </strong> CSS </a>
<a href="http://www.czilla.cz/" target="_blank" title="100% v Mozille"><strong> 100% </strong> v Mozille </a>
<a href="http://www.microsoft.com" target="_blank" title="100% v MS IE 6"><strong> 100% </strong> v MS IE 6 </a>
<a href="http://www.adobe.com/" target="_blank" title="Design v Adobe Photoshop 7.0 CE"><strong> Adobe </strong> Photoshop 7 </a>
<a href="http://www.macromedia.com/" target="_blank" title="HTML v Macromedia Dreamweaver MX 2004"><strong> Macromedia </strong> Dreamweaver </a>
</div>
<div class="copy" align="center">© 2004 - Michal "HackerXXX" Kos    Design & Created: Michal "HackerXXX" Kos </div>
</body>
Tak do tohohle se mi fakt moc čučet nechce, ale myslím si, že ti jako dojde k automatickýmu odhlášení nebo tak nějak. Chce to IMHO porovnat s ostatníma souborama (hlavně sessions a všechno okolo nich).
no ja to napisu bez tech zvastu :)...
takze tohle je jeden z mala php skriptu v knize:
<?
$dotaz = MySQL_Query("SELECT * FROM guestbook ORDER BY id DESC");
if(!$dotaz):
echo "Chyba pri nacítání vzkazu z databáze...";
else:
while($zaznam = MySQL_Fetch_Array($dotaz)):
$vzkaz = NL2BR($zaznam["vzkaz"]);
?>
<table width="450" border="0" align="center">
<tr>
<td bgcolor="#9F9DBC"><p>Od: <? echo $zaznam["jmeno"]; ?><br>
eMail: <a href="mailto: <? echo $zaznam["email"]; ?>"><? echo $zaznam["email"]; ?></a><br>
Datum: <? echo $zaznam["datum"]; ?></p>
</td>
</tr>
<tr>
<td bgcolor="#B88027">
<p><strong>Vzkaz:</strong><br>
<? echo $vzkaz; ?>
</p>
</td>
</tr>
</table>
<br>
<?
endwhile;
endif;
?>


a tady je zacatek login.php:

<?php

// vytvooení session
session_start();

if (!$_SESSION['user'] || !$_SESSION['pass']) {

// když není poihlášen poešmirování na login.php
header('Location: index.php');

} else {

// když session prominné existují zkontrolujeme je

$db = mysql_connect('c151lm.psisco.com', 'to vam nereknu', 'to vam nereknu');
mysql_select_db('a to vam taky nereknu... ale muzu vas ujistit ze to je spravne');

$result = mysql_query("SELECT count(id) FROM users WHERE pass='$_SESSION[pass]' AND name='$_SESSION[user]'");
$num = mysql_result($result, 0);

if (!$num) {
// jestli udáje nesedí přesmirování na formuláo
header('Location: index.php');
}
}

// to co je pod otaznik> se zobrazi uspesne prihlasenemu.

?>

to patri do head:
<? if ($page=="kniha"): echo "<script src=\"kontrola.js\"></script>"; endif; ?>

a tohle je uprostred:

<?
$num_users = mysql_fetch_row(mysql_query("SELECT COUNT(id) FROM users"));
if (!$page):
echo "<div align=\"center\">
<p> </p>
<p>Zdar človíčku $_SESSION[user]!</p>
<p> </p>
<p>Kolik lidí je online: "; include "whosonline.php"; echo " :uf
<br>
Kolik lidí je zde zaregistrováno? Odpověď zní: $num_users[0]
</p>
</div>";
else:
include "./$page."."php";
endif;
?>

a to sou vsechny (skoro vsechny) php skripty ktery jsou v tech dvou souborech....

a tady je jeste prihlasovaci formular:

<?php

$db = mysql_connect('c151lm.psisco.com', 'to vam nereknu', 'to vam nereknu');
mysql_select_db('a to vam taky nereknu... ale muzu vas ujistit ze to je spravne');

$_POST['user'] = addslashes($_POST['user']);
$_POST['pass'] = $_POST['pass'];

$result = mysql_query("SELECT count(id) FROM users WHERE pass='$_POST[pass]' AND name='$_POST[user]'");
$num = mysql_result($result, 0);

if (!$num) {

// Kdyľ dotaz nic nevrátí, zobrazíme formulář

?>
<br>
<br><h3 align="center">Přihláąení do osobní sekce</h3>
<form action="<? $PHP_SELF ?>" method="post">
<table width="250" border="0" align="center">
<tr>
<td width="95" bgcolor="#9F9DBC"><div align="right">Jméno: </div></td>
<td width="145" bgcolor="#B88027"><input name="user" type="text" style="width: 143px;"></td>
</tr>
<tr>
<td bgcolor="#9F9DBC"><div align="right">Heslo: </div></td>
<td bgcolor="#B88027"><input type="password" name="pass" style="width: 143px;"></td>
</tr>
<tr>
<td bgcolor="#9F9DBC"><div align="center">
<input type="reset" value=" Delete ">
</div></td>
<td bgcolor="#B88027"><div align="center">
<input type="submit" value=" Login >> ">
</div></td>
</tr>
</table>
</form>
<?php
} else {

// vytvooení session
session_start();

// uloľení prominných
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = $_POST['pass'];

// Po úspiąném poihláąení jsem poesmirován


header("location: login.php");

}

?>
vite co? ja se na to vyseru a udelam to pres http autentifikaci v php pres mysql.