Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenie z bazą problem
Forum PHP.pl > Forum > Przedszkole
aga323
Witam, mam mały problem. Otóż mam baze MySQL i serwer z pikami php. I po zalogowaniu się przez www znowu pokazuje mi sie ten sam formuarz logowania sad.gif Wydaje mi się że pliki mam dobrze napisane, lecz może się mylę. Dlatego podaje kawałki kodu:
form.php
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/htm; charset=iso-8859-2">
  4. <title>Logowanie</title>
  5. </head>
  6. <body>
  7. <h2 align="center">
  8. <?php
  9. if(isSet($_SESSION['komunikat']))
  10. echo $_SESSION['komunikat'];
  11. else
  12. echo "Wprowadź nazwę i hasło użytkownika:";
  13. ?>
  14. </h2>
  15. <form name = "formularz1"
  16. action = "http://g2test.yoyo.pl/login.php"
  17. method = "POST"
  18. >
  19. <table border="0" align="center"><tr>
  20. <td>Użytkownik:</td>
  21. <td>
  22.  <input type="text" name="user">
  23. </td>
  24. </tr><tr>
  25. <td>Hasło:</td>
  26. <td>
  27.  <input type="password" name="haslo">
  28. </td>
  29. </tr><tr>
  30. <td colspan="2" align="center">
  31.  <input type="submit" value="Wejdź">
  32. </td>
  33. </tr></table>
  34. </form>
  35. </body>
  36. </html>

login.php
  1. <?php
  2. function checkPass($user, $pass)
  3. {
  4. $userNameLength = strlen($user);
  5. $userPassLength = strlen($pass);
  6.  
  7. if($userNameLength < 3 || $userNameLength > 20 ||
  8.  $userPassLength < 6 || $userPassLength > 40){
  9. return 2;
  10. }
  11.  
  12. //nawiązanie połaczenia z bazą
  13.  
  14. if (!$db_lnk = mysql_connect("serwer", "użytk.", "haslo")){
  15.  //echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...');
  16.  return 1;
  17. }
  18.  
  19. if(!mysql_select_db('baza')){
  20.  echo('Wystąpił błąd podczas wyboru bazy danych: baza...');
  21.  return 1;
  22. }
  23.  
  24. $query = "SELECT id FROM users WHERE login='$user' ";
  25. $query .= "AND haslo='$pass'";
  26.  
  27. if(!$result = mysql_query($query, $db_lnk)){
  28.  //echo('Wystapił błąd: nieprawidłowe zapytanie...');
  29.  return 1;
  30. }
  31.  
  32. //Sprawdzenie poprawności wyników
  33.  
  34. if(@mysql_num_rows($result) !=1){
  35. //echo('Wystąpił błąd: zbyt wiele wyników zapytania...');
  36. return 2;
  37. }
  38.  
  39. //Nieprawidlowa nazwa lub hasło
  40. if(!$row = mysql_fetch_row($result)){
  41.  return 2;
  42. }
  43.  
  44. //Błędne wyniki zapytania
  45. if(count($row) <>1){
  46. return 2;
  47. }
  48.  
  49. //Obsługa systemu przywilejów
  50. $userId = $row[0];
  51. $query = "SELECT PrzywilejId FROM uzytkownicy_przywileje WHERE UserId=$userId ";
  52.  
  53. if(!$result = mysql_query($query, $db_lnk)){
  54. //echo('Wystąpił błąd: nieprawidłowe zapytanie...');
  55. return 1;
  56. }
  57. $_SESSION['Przywileje'] = array();
  58. while($row = mysql_fetch_row($result)){
  59. switch($row[0]){
  60.  case 1 : $_SESSION['Przywileje']['Administrator'] = true;
  61.  }
  62. }
  63.  
  64. return 0;
  65.  }
  66.  
  67.  if(isSet($_SESSION['zalogowany'])){
  68. header("Location: main.php");
  69.  }
  70.  else if(!isSet($_POST["user"]) || !isSet($_POST["haslo"])){
  71.  $_SESSION['komunikat'] = "WprowadĽ nazwę i hasło:";
  72.  include('form.php');
  73.  }
  74.  else{
  75.  $val = checkPass($_POST["user"], $_POST["haslo"]);
  76.  if($val == 0){
  77.  $_SESSION['zalogowany'] = $_POST["user"];
  78.  header("Location: main.php");
  79.  }
  80.  else if($val == 1){
  81.  $_SESSION['komunikat'] = "Błąd serwera. Zalogowanie nie było możliwe.";
  82.  include('form.php');
  83.  }
  84.  else if($val == 2){
  85.  $_SESSION['komunikat'] = "Nieprawidłowa nazwa lub hasło użytkownika.";
  86.  include('form.php');
  87.  }
  88.  else{
  89.  $_SESSION['komunikat'] = "Błąd serwera. Zalogowanie nie było mozliwe.";
  90.  include('form.php');
  91.  }
  92.  }
  93.  ?>

Być może jest to związane z reklamami, gdyż mam serwer i bazę na yoyo.pl
Jeszcze raz prosze o pomoc i z góry dzieki.
siemakuba
Proszę o zapoznanie się z tematem: Temat: Tematyka i zasady panujce na forum Przedszkole a następnie o PW z poprawnym tematem.

Do tego czasu zamknięte.

pozdr.
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.