<?
mysql_connect ("...", "...", "...");
mysql_select_db ("...");
$nick = mysql_query('SELECT nick FROM '.$_POST['nick'].';');
$pass = mysql_query('SELECT haslo FROM '.$_POST['nick'].';');
$login = mysql_fetch_row($nick);
$haslo = mysql_fetch_row($pass);
if($login[0]!='' && $haslo[0]!='')
echo('');
if($login[0] && $haslo[0])
if($haslo[0] != $_POST['pass'])
echo('');
if($login[0]!='' && $haslo[0]!='' && $login[0] == $_POST['nick'] && $haslo[0] == $_POST['pass'])
{
echo('Zalogowałeś się!');
session_start();
if(!isset($_SESSION['kasa']))
{
$_SESSION['rekawice']= mysql_query('SELECT rekawice FROM '.$_POST['nick'].';');
$_SESSION['kasa']= mysql_query('SELECT kasa FROM '.$_POST['nick'].';');
$_SESSION['tarcza']= mysql_query('SELECT tarcza FROM '.$_POST['nick'].';');
$_SESSION['kamizelka']= mysql_query('SELECT kamizelka FROM '.$_POST['nick'].';');
$_SESSION['buty']= mysql_query('SELECT buty FROM '.$_POST['nick'].';');
$_SESSION['helm']= mysql_query('SELECT helm FROM '.$_POST['nick'].';');
$_SESSION['bron']= mysql_query('SELECT bron FROM '.$_POST['nick'].';');
$_SESSION['lvl']= mysql_query('SELECT lvl FROM '.$_POST['nick'].';');
$_SESSION['sila']= mysql_query('SELECT sila FROM '.$_POST['nick'].';');
$_SESSION['zrecznosc']= mysql_query('SELECT zrecznosc FROM '.$_POST['nick'].';');
$_SESSION['celnosc']= mysql_query('SELECT celnosc FROM '.$_POST['nick'].';');
$_SESSION['refleks']= mysql_query('SELECT refleks FROM '.$_POST['nick'].';');
$_SESSION['top']= mysql_query('SELECT top FROM '.$_POST['nick'].';');
$_SESSION['arena']= mysql_query('SELECT arena FROM '.$_POST['nick'].';');
echo($_SESSION['rekawice'].$_SESSION['kasa'].$_SESSION['sila']);
}
}
echo('');
echo('');
echo('');
echo('');
echo('');
echo('');
?>
[/code]
To jest prosty skrypt logowania, który potem tworzy sesje (jeśli dane są prawidłowe) i przypisuje dane w tablicy $_SESSION pobierając wartości z bazy danych. Po wpisaniu części z sesją i przypisywaniem wartości, skrypt przestał działać. Jak widać, jeśli by skrypt działał wypisał wartości dla rękawic, kasy i siły (czyli 0,0,0), ale nic nie pisze i nie działa system pokazujący błędy w logowaniu w zależności od przyczyny (brak hasła albo złe dane). Sesji wczoraj się nauczyłem, więc niezbyt się znam. W miarę możliwości oprócz rozwiązania problemu proszę o napisanie, jak skrypt powinien wyglądać, by działał szybciej i żeby odciążyć bazę SQL.
EDIT: narazie skrypt nie jest zabezpieczony przed atakiem sql injection ale potem to zrobię.