![]() |
![]() |
![]()
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¶ć 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. |
|
|
![]() |
![]()
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 ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 16:54 |