Jeżeli nie chcesz używać np.
PDO tylko funkcji
mysql_ to czytaj ich dokumentację.
mysql_escape_string ja wyczytałem coś takiego:
Cytat
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
Zamiast tego użyj:
mysql_real_escape_stringCo do loginu i traktowania go poprzez w/w funkcję, polecałbym bardziej przefiltrować np.
filter_var ew. zainteresować się wyrażeniami regularnymi
PCRE,
preg_matchTo:
if ($_SESSION["zalogowany"] = $_SESSION['id'])
Zapomniałeś chyba o drugim znaku równości.
Chciałbym również dowiedzieć się jak to ma działać:
header('Location: ./admin_panel.php'); echo " Zalogowany jako: ".$_SESSION['login']. '<a href="?wyloguj">Wyloguj</a>';
Przecież wynik "echo" nikt nie zobaczy.
Oczywiście z tymi przekierowaniami to jeden przykład a wiele błędów takich masz.
Poza tym, po co lecą dwa zapytania do bazy? Wystarczy jedno.