$login = @$_POST['login'];$haslo = @$_POST['haslo'];$pobr_login = mysql_query("SELECT * FROM uzytk WHERE `login` = '$login'");$pobr_pass = mysql_query("SELECT * FROM uzytk WHERE `haslo` = '$haslo'");
Pisałem z ręki, więc nie odpowiadam za poprawność.
Wcześniej oczywiście musisz użyć session_start() i połączyć się z bazą danych.
if( isset($_POST['wyslij']) ){ if( !empty($_POST['login']) and !empty($_POST['haslo']) ){ $q = mysql_query("SELECT id FROM uzytk WHERE `login` = '".mysql_real_escape_string($_POST['login'])."' AND `haslo` = '".mysql_real_escape_string($_POST['haslo'])."'"); if( mysql_num_rows($q)==1 ) { $user = mysql_fetch_assoc($q); $_SESSION['logged'] = $user['id']; } else{ echo "You can't be logged in."; } } else{ echo "No login or password"; }[/code]
Nie działa ;/ W Twoim kodzie nie widzę porównywania tego co wpisał użytkownik, do tego co jest w bazie :?
A jaki błąd wywala?
Porównanie jest w zapytaniu do bazy, w którym uzyskuje się ID, lub się go nie uzyskuje.
Bo pewnie jest błąd w zapytaniu, dlatego $q jest false (czyli bool) a nie zasobem (resource).
To niżej wyświetli jaki to błąd, więc go popraw.
$q = mysql_query("SELECT id FROM uzytk WHERE `login` = '".mysql_real_escape_string($_POST['login'])."' AND `haslo` = '".mysql_real_escape_string($_POST['haslo'])."'") or die(mysql_errno().': '.mysql_error()); [/code]
<?php('localhost', 'root', '', 'uzytkownicy') or die (mysql_error());?[/code]Słyszałem gdzieś, że funka [b]mysql_connect[/b] jako czwarty parametr, może przyjąć nazwę bazy. Poprawiłem, zaznaczając bazę funkcją [b]mysql_select_db[/b] Dzięki !