Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: $zatwierdzenie==1
Forum PHP.pl > Forum > Przedszkole
mitp
Witam. Jak to zrobić:

problem:
-> system sprawdza imie, nazwisko, i zatwierdzenie - które jest nadawane przez administratora (status 0 - nie widzi uzytkownika w bazie, jezeli adm. zmieni na 1 widzi uzytkownika i moze sie logowac)


Na początek baza.
  1. CREATE TABLE `dane` (
  2. `id` int( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
  3. `imie` varchar( 255 ) NOT NULL DEFAULT '',
  4. `nazwisko` varchar( 255 ) NOT NULL DEFAULT '',
  5. `zatwierdzenie` tinyint(1) NOT NULL DEFAULT '0',
  6. PRIMARY KEY ( `id` )
  7. );


skrypt bez modyfikacji: zastrz_baza.php
  1. <?php
  2.  
  3.   $imie = $_POST['imie'];
  4.   $nazwisko = $_POST['nazwisko'];
  5.  
  6.   if(!isset($_POST['imie'])&&!isset($_POST['nazwisko']))
  7.   {
  8.     //Użytkownik musi podać identyfikator i hasło dostępu
  9. ?>
  10.     <h1>Zaloguj się</h1>
  11.     Ta strona jest zastrzeżona.
  12.     <form method = "post" action = "zastrz_baza.php">
  13.     <table border = "1">
  14.     <tr>
  15.       <th> Użytkownik </th>
  16.       <td> <input type = "text" name = "imie"> </td>
  17.     </tr>
  18.     <tr>
  19.       <th> Hasło </th>
  20.       <td> <input type = "password" name = "nazwisko"> </td>
  21.     </tr>
  22.     <tr>
  23.       <td colspan = "2" align = "center">
  24.         <input type = submit value = "Zaloguj się">
  25.       </td>
  26.     </tr>
  27.     </form>
  28. <?php
  29.   }
  30.   else
  31.   {
  32.     // połącz sie z MySQL
  33.     $mysql_connect = mysql_connect( 'localhost', 'root', 'krasnal' );
  34.     if(!$mysql_connect)
  35.     {
  36.       echo 'Brak połączenia z bazą danych.';
  37.       exit;
  38.     }
  39.  
  40.     // wybierz właściwą bazę danych
  41.     $mysql_db = mysql_select_db('praca');
  42.     if(!$mysql_db)
  43.     {
  44.       echo 'Błąd wyboru bazy danych.';
  45.       exit;
  46.     }
  47.  
  48.     // znajdź pasujący wiersz
  49.     $zapytanie = "select count(*) from dane where
  50.                   imie = '$imie' and
  51.                   nazwisko = '$nazwisko'";
  52.  
  53.     $wynik = mysql_query( $zapytanie );
  54.     if(!$wynik)
  55.     {
  56.       echo 'Nie można wykonać zapytania.';
  57.       exit;
  58.     }
  59.  
  60.     $wiersz = mysql_fetch_row( $wynik );
  61.     $ile = $wiersz[0];
  62.  
  63.     if ($ile>0)
  64.     {
  65.       // podana kombinacja: identyfikator i hasło jest prawidłowa
  66.       echo '<h1>Oto ona!</h1>';
  67.       echo 'Na pewno jesteś szczęśliwy, że możesz zobaczyć tę stronę.';
  68.     }
  69.     else
  70.     {
  71.       // kombinacja: identyfikator i hasło dostępu jest nieprawidłowa
  72.       echo '<h1>Odejdź stąd!</h1>';
  73.       echo 'Nie jesteś uprawniony do przeglądania tych zasobów.';
  74.     }
  75.   }
  76. ?>



ja zmienilem zastrz_baza.php
  1. <?php
  2.  
  3.   $imie = $_POST['imie'];
  4.   $nazwisko = $_POST['nazwisko'];
  5.   $zatwierdzenie= $_POST['zatwierdzenie'];
  6.  
  7.   if(!isset($_POST['imie'])&&!isset($_POST['nazwisko'])&&!isset($_POST['zatwierdzenie']))
  8.   {
  9.     //Użytkownik musi podać identyfikator i hasło dostępu
  10. ?>
  11.     <h1>Zaloguj się</h1>
  12.     Ta strona jest zastrzeżona.
  13.     <form method = "post" action = "zastrz_baza.php">
  14.     <table border = "1">
  15.     <tr>
  16.       <th> Użytkownik </th>
  17.       <td> <input type = "text" name = "imie"> </td>
  18.     </tr>
  19.     <tr>
  20.       <th> Hasło </th>
  21.       <td> <input type = "password" name = "nazwisko"> </td>
  22.     </tr>
  23.     <tr>
  24.       <td colspan = "2" align = "center">
  25.         <input type = submit value = "Zaloguj się">
  26.       </td>
  27.     </tr>
  28.     </form>
  29. <?php
  30.   }
  31.   else
  32.   {
  33.     // połącz sie z MySQL
  34.     $mysql_connect = mysql_connect( 'localhost', 'root', 'krasnal' );
  35.     if(!$mysql_connect)
  36.     {
  37.       echo 'Brak połączenia z bazą danych.';
  38.       exit;
  39.     }
  40.  
  41.     // wybierz właściwą bazę danych
  42.     $mysql_db = mysql_select_db('praca');
  43.     if(!$mysql_db)
  44.     {
  45.       echo 'Błąd wyboru bazy danych.';
  46.       exit;
  47.     }
  48.  
  49.     // znajdź pasujący wiersz
  50.     $zapytanie = "select count(*) from dane where
  51.                   imie = '$imie' and
  52.                   nazwisko = '$nazwisko' and zatwierdzenie = '$zatwierdzenie'";
  53.  
  54.     $wynik = mysql_query( $zapytanie );
  55.     if(!$wynik)
  56.     {
  57.       echo 'Nie można wykonać zapytania.';
  58.       exit;
  59.     }
  60.  
  61.     $wiersz = mysql_fetch_row( $wynik );
  62.     $ile = $wiersz[0];
  63.  
  64.     if ($ile>0 and $zatwierdzenie==1)
  65.     {
  66.       // podana kombinacja: identyfikator i hasło jest prawidłowa
  67.       echo '<h1>Oto ona!</h1>';
  68.       echo 'Na pewno jesteś szczęśliwy, że możesz zobaczyć tę stronę.';
  69.     }
  70.     else
  71.     {
  72.       // kombinacja: identyfikator i hasło dostępu jest nieprawidłowa
  73.       echo '<h1>Odejdź stąd!</h1>';
  74.       echo 'Nie jesteś uprawniony do przeglądania tych zasobów.';
  75.     }
  76.   }
  77. ?>



i caly czas wyswietla mi Nie jesteś uprawniony do przeglądania tych zasobów

ktos pomoże?
nospor
pobierasz zatwierdzenie z posta, ale w formularzu co nam pokazales nigdzie nie ma takiego pola, co daje w rezultacie ze pod zmienną $zatwierdzenie masz nic , czyli twoj warunek nigdy nie jest spelniony
mitp
heh no tak - a jak zrobic aby pobral te dane z bazy - pola zatwierdzenie nigdy nie bedzie - system ma zczytac z bazy czy uzytkownik zostal dodany przez administratora ;-)
nospor
  1. <?php
  2.  
  3.  $zapytanie = "select zatwierdzenie from dane_osobowe where
  4. imie = '$imie' and
  5. nazwisko = '$nazwisko'";
  6.  
  7. $wynik = mysql_query( $zapytanie );
  8. if(!$wynik)
  9. {
  10. echo 'Nie można wykonać zapytania.';
  11. }
  12.  
  13. if (mysql_num_rows($wynik) > 0)
  14. {
  15.  $wiersz = mysql_fetch_row( $wynik );
  16. $zatwierdzenie = $wiersz[0];
  17. if ($zatwierdzenie==1)
  18. echo 'ok';
  19. else
  20. echo 'spadaj';
  21. }
  22. else echo 'spadaj';
  23.  
  24. ?>
mitp
dzieki sliczne nospor chyba ci musze wyslac browarka poczta biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.