Zacząłem pisać skrypt dla swojego serwisu i już na początku pojawiły się błędy - system logowania nie działa. Nie ukończyłem jeszcze rejestracji, na razie pojawiają się problemy już przy samym logowaniu. Skrypt wygląda tak:
<?php
mysql_pconnect(localhost
, *user
, *haslo
) or
die ($error[]="mysql.nieudanepolaczenie");
if(!isset($_SESSION[user_logg_id
])) $_SESSION[user_logg_id]=0;
if(($_SESSION[user_logg_id]==0)&&($QUERY_STRING[zobacz]==logowanie))
if($_POST[haslo
]==mysql_query('SELECT haslo FROM serwis_users WHERE nick=$_POST[nick]')) $_SESSION[user_logg_id
]=mysql_query('SELECT id FROM serwis_users WHERE nick=$_POST[nick]'); else
$error[]="logowanie.zledane";
if($QUERY_STRING[zobacz]==wylogowywanie)
$_SESSION[user_logg_id]=0;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="pl" lang="pl" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> </title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<style type="text/css">
</style>
</head>
<body>
<?php
for($a=0;$a<sizeof($error);$a++)
if($_SESSION[user_logg_id]!=0)
echo "Jesteś zalogowany!<br /><a href=\"?zobacz=wylogowywanie\">Wyloguj się</a>"; else
echo "Ekran logowania:<br /><form method=\"post\" action=\"?zobacz=logowanie\">Nazwa użytkownika: <input type=\"text\" name=\"nick\" size=\"30\"><br />Hasło: <input type=\"password\" name=\"haslo\" size=\"30\"><br /><input type=\"submit\" value=\"Zaloguj się\"></form>";
?>
</body>
</html>
W phpmyadminie stworzyłem dodałem do tabeli pierwsze konto z nr 1, ale zalogować się na nie nie można. Wygląda to wszystko tak, jakby nie można było wyciągnąć informacji z bazy danych. Podejrzewam również, że może to mieć coś wspólnego z metodą porównywania napisów (na stronie dałem utf-8, bo bałem się, że charset-8859-2 będzie się nie zgadzać z mysqlowym zapisem) czy typemtabeli (ustawione jest domyslne myisam, bo są to rzeczy, których nie rozumiem i których nikt nie był mi łaskawy wytłumaczyć...