PHP - logowanie nie działa

Zaznaczam że dopiero zaczynam nauke php, i na wstępie mam rpoblem z napisaniem skryptu logowania.

<?

session_start();

include('config.php');

include('up.php');

?>

<?include(‘menu.php’);?>

Login: Haslo:

<? include(‘footer.php’); ?>
<? $wyslij = $_POST(‘wyslij’); if ($wyslij) { $login = $_POST[‘login’]; $password = $_POST[‘password’]; $zapytanie = (“SELECT * FROM users WHERE username=’$login’AND password=’$password’”); $zapytanie = mysql_query($zapytanie); $zapytanie = mysql_fetch_assoc($zapytanie); if (@mysql_num_rows($zapytanie)){ session_register(‘user’); header(‘location:index2.php’); } else { echo ‘Nie poprawna nazwa usera lub haslo’; } } ?>[/code]

Co dokładnie nie działa?

w zapytaniu nie masz spacji pomiędzy ‘$login’ a AND więc tam jest jeden błąd.

musisz napisać dokładniej jaki jest błąd. spróbuj sam zdebugować ten kod używając echo i wyświetlając sobie kolejne informacje w skrypcie.

Zerknijcie:

83.31.50.63/1

Błąd jest w 26 linijce. odbierając $_POST użyłeś nawiasów okrągłych zamiast kwadratowych, przez to skrypt interpretuje to jako funkcję, a nie zmienną

nom, dzięki ale nadal gdzieś jest błąd, jak się loguje to wyrzuca:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/1/login.php on line 32

Nie poprawna nazwa usera lub haslo

Jak by coś to login to root a hasło to toor

Chyba masz złe zapytanie

$user = mysql_fetch_array(mysql_query("SELECT * FROM user WHERE `users`='$login' AND `password`='$haslo'")); if (empty($users[id])OR!isset($users[id])) {	

echo '
Nieprawidłowe logowanie.
';

exit;

}

masz błąd w zapytaniu

zrób echo na zapytaniu a potem sprawdź phpmyadmin co jest nie tak .

zgodnie z : http://php.net/manual/en/function.mysql-fetch-assoc.php

$sql = "SELECT id as userid, fullname, userstatus 

        FROM sometable

        WHERE userstatus = 1";


$result = mysql_query($sql);


// to przydało by się w twoim kodzie ponieważ teraz dostajesz tutaj wartość false której nie obsługujesz.

if (!$result) {

    echo "Could not successfully run query ($sql) from DB: " . mysql_error();

    exit;

}


if (mysql_num_rows($result) == 0) {

    echo "No rows found, nothing to print so am exiting";

    exit;

}