Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z logowaniem (MySQL + PHP), KazdeLogowanieJestPoprawne,NawetPuste
falkor
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 27.02.2005

Ostrzeżenie: (10%)
X----


Pomozcie mi prosze bo totalny blackout przed oczyma mam (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
Problem tkwi w tym ze po nizsze skrypty laczac sie z baza MySQL za kazdym razem loguja mnie poprawnie bez wzgledu na to co wpisze lub nie wpisze w pola Identyfikator i Haslo.Z gory dzieki!
  1. <table width="827" height="368" border="0" align="center">
  2.   <tr bgcolor="#0066CC">
  3.     <td>&nbsp;</td>
  4.   </tr>
  5.   <tr>
  6.     <td width="738" height="278"><form action="login.php" method="post" enctype="application/x-www-form-urlencoded" name="logowanie" target="_self" id="logowanie">
  7.       <table width="331" height="121" border="0" align="center">
  8.         <tr>
  9.           <td width="786"><fieldset><legend>Identyfikator</legend>
  10.               <p>
  11.                 <input name="id" type="text" id="id" size="30" maxlength="30" />
  12.               </p>
  13.           </fieldset> </td>
  14.         </tr>
  15.         <tr>
  16.           <td><fieldset><legend>Hasło</legend>
  17.               <p>
  18.                 <input name="pass" type="password" id="pass" size="32" maxlength="32" />
  19.               </p>
  20.           </fieldset> </td>
  21.         </tr>
  22.         <tr>
  23.           <td><input name="submit" type="submit" id="submit" value="Zatwierdź" />
  24.             <input name="reset" type="reset" id="reset" value="Wyczyść" /></td>
  25.         </tr>
  26.       </table>
  27.     </form></td>
  28.   </tr>
  29.   <tr bgcolor="#0066CC">
  30.     <td>&nbsp;</td>
  31.   </tr>
  32. </body>
  33. ?>

  1. <?php
  2. if(!isset($_POST['id']) && !isset($_POST['pass']))
  3. {
  4.     echo &#092;"<h1>Proszę się zalogować!!!</h1>\";
  5. }
  6. else
  7. {
  8.     $id = $_POST['id'];
  9.     $pass = $_POST['pass'];
  10.     //Łaczenie z bazą danych mysql
  11.     $db_conn = @mysql_connect ('localhost',$id);
  12.     if(!$db_conn)
  13.     {
  14.         echo &#092;"Nie można połączyć się z bazą danych.\";
  15.         exit;
  16.     }
  17.     //Wybór właściwej bazy danych
  18.     $db_sel = @ mysql_select_db ('ebank',$db_conn);
  19.     if(!$db_sel)
  20.     {
  21.         echo &#092;"Nie można wybrać bazy danych.\";
  22.         exit;
  23.     }
  24.     
  25.     //Zapytanie do bazy danych, które celem jest sprawdzenie,
  26.     //czy istnieje rekord odpowiadający wprowadzonym danym
  27.     
  28.     $query = &#092;"SELECT count(*) FROM konta WHERE
  29.             Identyfikator = '$id' AND Haslo = '$pass'&#092;";
  30.             
  31.     $result = mysql_query($query,$db_conn) or die('Błąd w zapytaniu takim a takim. Komunikat: '
  32.                                             .mysql_error().'; Numer błędu: '.mysql_errno());
  33.     if(!$result)
  34.     {
  35.         echo &#092;"Nie można uruchomić zapytania.\";
  36.         exit;
  37.     }
  38.     
  39.     if($lic=mysql_num_rows($result) == 1)
  40.     {
  41.         //Nazwa oraz hasło użytkownika są poprawne
  42.         $valid_user = $id;
  43.         //session_register(\"valid_user\");
  44.         
  45.         echo &#092;"<h1>Udało się!</h1>\";
  46.         echo &#092;"Ta strona jest tajna.\";
  47.         echo &#092;"$id<br>$pass<br>$result<br>$lic\";
  48.         mysql_free_result($result);
  49.     }
  50.     else
  51.     {
  52.         //nazwa lub hasło użytkownika nie jest poprawne
  53.         echo &#092;"<h1>Nic z tego!!!</h1>\";
  54.         echo &#092;"Nie masz prawa oglądać tych danych.\";
  55.     }
  56. }
  57. ?>


Ten post edytował falkor 27.02.2005, 03:50:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
falkor
post
Post #2





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 27.02.2005

Ostrzeżenie: (10%)
X----


Jasne (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) to bylo nie przemyslane pytanie...ja jednak zrobilem ten kod tak:
  1. <?php
  2. if(empty($_POST['id']) || empty($_POST['pass']))
  3. {
  4. echo &#092;"<h1>Proszę się zalogować!!!</h1>\";
  5.  
  6. }
  7. else
  8. ?>

Zastanawiam sie jednak nad dwoma rzeczami.
1.Jak to jest ze na wielu stronach gdy chce sie podejrzec kod nawet zwyklego formularza, to go po prostu nie widac, sa puste znaczniki tabel itp, ale tego rdzenia w kodzie nie widac?
2.Czy musze robic identyczna druga strone jezeli chce by roznila sie od poprzedniej jedynie napisem gdy logowanie sie nie powiedzie...po prostu by pojawial sie napis w stylu "Wpisz poprawny klucz i haslo"?

Ten post edytował falkor 27.02.2005, 18:25:24
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 12:20