Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Problem ze skryptem logowania w PHP i SQL

#1
Problem ze skryptem logowania w PHP i SQL
Witam!

Możliwe, że to proste pytanie z prostą odpowiedzią - jednak nie dla mnie, jako że zacząłem przygodę z PHP przedwczoraj.
 
Przygotowałem skrypt rejestracji, wszystko gra. Strona normalnie łączy się z db, wszystko przebiega pomyślnie. Kod jest "zrozumiały" dla interpretera, nie wywala żadnych błędów, jednak mimo zapisanego rekordu w mojej bazie danych, podczas logowania wyrzuca mi zawsze błąd, który wpisałem w kod w przypadku kiedy dane podane są niezgodne z danymi w db. 

Wkurzyłem się i już nawet użyłem skryptu kropla w kroplę skopiowanego z jednego z portali, który działa według dziesiątek internautów, wykonałem wszystkie te same kroki, wszystko funkcjonuje jak u mnie.. ale pisze, że wg SQL dane są niezgodne. 

Załączam kod poniżej. Jakieś pomysły? Dodam, że w phpMyAdmin zapytanie o takiego użytkownika zwraca pozytywną odpowiedź.

Kod PHP:
<?php session_start();

$servername "*******";
$username "*********";
$password "********";
$dbname "********";

// Tworzenie połączenia
$conn mysqli_connect($servername$username$password$dbname);

// Weryfikacja
if (!$conn) {
    die("Blad polaczenia: " mysqli_connect_error());
}
echo 
"Polaczenie zakonczone sukcesem";

    /* jeżeli nie wypełniono formularza - to znaczy nie istnieje zmienna login, hasło i sesja auth
     * to wyświetl formularz logowania
     */
    if (!isset($_POST['login']) && !isset($_POST['password']) && $_SESSION['auth'] == FALSE) {
  ?>
  
      <form name="form-logowanie" action="test.php" method="post">
          Login: <input type="text" name="login"><br>
          Hasło: <input type="password" name="password">
          <input type="submit" name="zaloguj" value="Zaloguj">
      </form>
  
  <?php
  
}
    /* jeżeli istnieje zmienna login oraz password i sesja z autoryzacją użytkownika jest FALSE to wykonaj
     * skrypt logowania
     */
    elseif (isset($_POST['login']) && isset($_POST['password']) && $_SESSION['auth'] == FALSE) {
      
        
// jeżeli pole z loginem i hasłem nie jest puste      
        if (!empty($_POST['login']) && !empty($_POST['password'])) {
          
        
// dodaje znaki unikowe dla potrzeb poleceń SQL
        $login mysql_real_escape_string($_POST['login']);
        $password mysql_real_escape_string($_POST['password']);
        
        
// szyfruję wpisane hasło za pomocą funkcji md5()
        $password md5($password);
        
        
/* zapytanie do bazy danych
         * mysql_num_rows - sprawdzam ile wierszy odpowiada zapytaniu mysql_query
         * mysql_query - pobierz wszystkie dane z tabeli user gdzie login i hasło odpowiadają wpisanym danym
         */
        $sql mysql_num_rows(mysql_query("SELECT * FROM `user` WHERE `login` = '$login' AND `password` = '$password'"));
        
            
// jeżeli powyższe zapytanie zwraca 1, to znaczy, że dane zostały wpisane poprawnie i rejestruję sesję
            if ($sql == 1) {
              
                
// zmienne sesysje user (z loginem zalogowanego użytkownika) oraz sesja autoryzacyjna ustawiona na TRUE
                $_SESSION['user'] = $login;
                $_SESSION['auth'] = TRUE;
                
                
//przekierwuję użytkownika na stronę z ukrytymi informacjami
                echo '<meta http-equiv="refresh" content="1; URL=hide.php">';
                echo '<p style="padding-top:10px;"><strong>Proszę czekać...</strong><br>trwa logowanie i wczytywanie danych<p></p>';
            }
            
            
// jeżeli zapytanie nie zwróci 1, to wyświetlam komunikat o błędzie podczas logowania
            else {
                echo '<p style="padding-top:10px;color:red" ;="">Błąd podczas logowania do systemudfadsfdsafdsfasdfsdfsdfdsas<br>';
                echo '<a href="index.php" style="">Wróć do formularza</a></p>';
            }
        }
        
        
// jeżeli pole login lub hasło nie zostało uzupełnione wyświetlam błąd
        else {
            echo '<p style="padding-top:10px;color:red" ;="">Błąd podczas logowania do systemu<br>';
            echo '<a href="index.php" style="">Wróć do formularza</a></p>'   
        
}
    }
 ?>

// Do zamykania kodu PHP proszę używać znaczników
Kod:
[php][/php]
// Szachista
 System operacyjny: macos Przeglądarka: chrome
 Reklamy Google
Programy: Polecane / Nowe / Inne



Wiadomości w tym wątku (Problem ze skryptem logowania w PHP i SQL)
Problem ze skryptem logowania w PHP i SQL - Croft - 10.06.2015, 22:31


Podobne wątki (Problem ze skryptem logowania w PHP i SQL)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [SQL]procedura zliczania czasu CTRL85 0 13536 17.02.2018, 12:58
Ostatni post: CTRL85
  SQL zapisanie w rekordzie nazwy zalogowanego użytkownika karlos1323 11 5227 30.12.2017, 11:08
Ostatni post: koneton
  Tutoriale: Tworzenie raportów z wykorzystaniem SQL. Cixi 3 11403 29.03.2017, 08:23
Ostatni post: koneton

Skocz do: