Mam problem ze sesjami. Szukałem na forum, ale coś nie znalazłem
Chodzi mi dokładnie o logowanie w sesjach. Gdy się wpisze zły login (oba pola lub tylko login), zamiast pokazać tekst i zrobić funkcje (pokaże logowanie), nic się nie pokazuje w to miejsce. Zaś gdy się dobrze wpisze, zaloguje się to inni nie mogą się zalogować, lub jak się zalogują mimo to są zalogowani jako tego, którego pierwszy się zalogował. Skrypt wygląda tak:
index.php
[php:1:3c3e12e42f]
<?php
session_start();
session_unset();
session_destroy();
session_start();
?>
<?php $nazwa="Seiroth"; include("config.php"); ?>
<head>
<title><?=$nazwa?></title>
<link rel=stylesheet href=style.css>
</head>
<body>
<center>
<font size=3><b><?=$nazwa?> v. 0.1 BETA</b></font><br><br>
<table>
<tr><td width=200 style="border-right: solid #0066cc 1px;" valign=top align=left>
<center><b>Witaj !</b><br></center>
Witaj na wyspie otoczonej pełnoma tajemnicami! Zaloguj się by wej¶ć w ¶rodek wyspy, do miasta <?=$nazwa?>, albo się zarejestruj.
</td><td width=200 valign=top align=center>
<b>Zaloguj się</b><br><br><center>
<table>
<?php
function logowanie()
{
print "<form method="POST">
<tr><td>Nick:</td><td><input type="text" name="login"></td></tr>
<tr><td>Hasło:</td><td><input type="password" name="haslo"></td></tr>
<tr><td colspan=2><center><input type="submit" name="submit" value="Zaloguj"></td></tr>
</form>";
}
if(!isset($submit))
{
logowanie();
} else {
$db=mysql_connect("localhost", "slimaczek", "y7h5n3") or die("Nie można się poł±czyć z serwerem");
mysql_select_db("slimaczek_test", $db) or die("Problem z ł±czeniem się z baz± danych.");
$sql="SELECT * FROM players WHERE user = '$login' and pass = '$pass'";
$result=mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$ruser=$row["user"];
$rpass=$row["pass"];
if(($haslo != $rpass) || ($login != $ruser))
{
echo("Wpisałeś zły login ilub hasło!");
} else {
$_SESSION["login"]="user";
$_SESSION["haslo"]="pass";
header("Location: stats.php");
echo("Witamy, <b>$user</b>! <a href=stats.php?php_sessid=$sess_id>WejdĽ do miasta.</a>");
} } }
?>
</table></td></tr></table><br>
<a href=register.php>Zarejestruj się</a> | <A href=index.php>Zaloguj się</a> | <a href=mailto:slimak80@wp.pl>Kontakt</a><br>
<?php $numplayers = mysql_num_rows(mysql_query("select * from players")); print "Zarejestrowanych jest już <b>$numplayers</b> ludzi!"; ?>
[/php:1:3c3e12e42f]
header.php (każdy plik do którego można wejść jak się zaloguje, includuje na samym początku ten plik):
[php:1:3c3e12e42f]
<?php
session_start();
include("config.php");
if (!isset($_SESSION["login"]))
{
header("Location: index.php");
exit();
}
$user=$_SESSION['login'];
$pass=$_SESSION['haslo'];
?>
<?php $nazwa="Seiroth"; ?>
<?php
print "<head>";
print "<title>$nazwa: $title</title>";
print "<link rel=stylesheet href=style.css>";
print "</head>";
print "<meta http-equiv="Content-Language" content="pl">";
print "<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">";
$stat = mysql_fetch_array(mysql_query("select * from players where user=$user and pass=$pass"));
$ct = time();
mysql_query("update players set lpv=$ct where id=$stat[id]");
?>
<center>
<table width=600 cellpadding=0 cellspacing=0 class=td>
<?php print "<tr><td colspan=3 align=center bgcolor=0066cc style="border-bottom: solid black 1px;"><font color=white><b>$nazwa - Wyspa pełna niespodzianek</b></u></td></tr>"; ?>
<tr><td width=110 valign=top style="border-right: solid black 1px;">
<?php
print "<center><b><u>$stat[user]</b></u> ($stat[id])</center><br>";
print "<b>Level</b>: $stat[level]<br>";
$expn = (($stat[level] * 50) + ($stat[level] * 15));
print "<b>EXP</b>: $stat[exp]/$expn<br>";
print "<b>HP</b>: $stat[hp]/$stat[max_hp]<br>";
print "<b>Energia</b>: $stat[energy]/$stat[max_energy]<br><br>";
print "<b>Złoto</b>: $stat[cash]<br><br>";
?>
<br>
- <a href=stats.php?php_sessid=<?=$sess_id?>>Statystyki</a><br>
<?php
$numlog = mysql_num_rows(mysql_query("select * from log where unread='F' and owner=$stat[id]"));
print "- <a href=log.php>Logi</a> [$numlog]<br>";
?>
- <a href=equip.php?php_sessid=<?=$sess_id?>>Ekwipunek</a><br>
<br>
- <a href=city.php?php_sessid=<?=$sess_id?>>Miasto</a><br>
- <a href=hospital.php?php_sessid=<?=$sess_id?>>Ołtarz</a><br>
- <a href=battle.php>Walka</a><br>
- <a href=mine.php>Kopalnia</a><br>
<br>
- <a href=forums.php?view=topics>Ogłoszenia</a><br>
- <a href=chat.php>Chat</a><br>
- <a href=ranking.php>Ranking</a><br>
- <a href=memberlist.php>Istoty</a>
<br>
<?php
if ($stat[rank] == Admin) { print "- <a href=admin.php>Admin</a><br>"; }
?>
- <a href=wyloguj.php>Wyloguj</a>
</td><td valign=top width=400>
[/php:1:3c3e12e42f]
W config.php zawarte jest łączenie z bazą danych.