else nie dziala

Tutaj dyskutujemy o PHP oraz zgłaszamy i rozwiązujemy problemy dotyczące tego języka.
Hysek
Nowicjusz
Posty: 1
Dołączył(a): piątek, 1 czerwca 2012, 01:41

else nie dziala

Post przez Hysek »

Witam , wiem ze troche prymitywnie napisane no ale jestem początkującym chciałem sie dowiedzeć co jest nie tak gdyż jak wpisze poprawnie login i haslo to elegancko wszystko dziala czyli mi wyrzuca na ekran "witaj jesteś zalogowany", ale gdy juz login lub haslo sa nie poprawne to nic sie nie dzieje ; / Bardzo proszę o pomoc ; )

Code: Zaznacz cały

    <?php
     
    @$users = $_POST['user'];
    @$password = $_POST['pass'];
     
     
     
     
     
    $mysqlConnection = @mysql_connect("localhost", "root", "vertrigo") or die(mysql_error());
    mysql_select_db("strona_www") or die(mysql_error());
    mysql_set_charset("utf8");
     
    $query = "
    SELECT * FROM urzytkownicy WHERE login = '$users' AND haslo = '$password'
    ";
     
     
    $result = mysql_query($query) or die(mysql_error());
    while ($row = mysql_fetch_assoc($result))
     
     
    if(($users == $row['login']).($password == $row['haslo']))
    echo "witaj jesteś zalogowany";
     
    else
    echo "logowanie nie powiodlo sie";
     
     
    mysql_close($mysqlConnection);
     
     
    ?>
abuc
Początkujący
Początkujący
Posty: 9
Dołączył(a): poniedziałek, 14 maja 2012, 14:43

Re: else nie dziala

Post przez abuc »

Hej

Na moje oko to przede wszystkim powinieneś najpierw sprawdzić czy Twoje $_POST istnieje i czy nie jest puste. Jeśli jest ok to możesz śmiało przypisać Twoje $_POST do zmiennych i pytać bazę(w Twoim wypadku SELECT).

Nie musisz sprawdzać czy zmienne są takie same jak wybrane z bazy, ponieważ to weryfikuje rezultat, który otrzymujesz z zapytania. Zapytaj bazę czy znalazła jakieś wiersze. Jeśli znalazła to jesteś zalogowany. Jeśli nie, czy tez w innym wypadku(tytułowe "else") to logowanie nie powiodło się :)

Pamiętaj o używaniu klamerek: { }. Ponadto warunkując porównanie hasła i loginu warto użyć koniunkcji zamiast concat().

Pozdrawiam.
Post Reply