Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Znów sesje...
slimaczek
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 16.07.2003
Skąd: ...

Ostrzeżenie: (0%)
-----


Mam problem ze sesjami. Szukałem na forum, ale coś nie znalazłem (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
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&para;ć w &para;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ł&plusmn;czyć z serwerem");
mysql_select_db("slimaczek_test", $db) or die("Problem z ł&plusmn;czeniem się z baz&plusmn; 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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
slimaczek
post
Post #2





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 16.07.2003
Skąd: ...

Ostrzeżenie: (0%)
-----


Mimo to nic (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Jednak inaczej ten błąd się robi, gdy ja się zaloguje, inny się zaloguje to włącza się ta sama strona na której się loguje, tyle że nie ma formularzu ^^

-------------------- edit --------------------

Jednak jest całkiem inaczej (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Wcześniej miałem inne logowanie z jakąś niby też sesją, to jak się zalogowało za pierwszym razem to nie można było później za kogoś innego... To że nie ma formularzu, to kiedy hasło jest nie prawidłowe.. Czemu tak jest ?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 16:54