Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: obsluga select'a - problem
Forum PHP.pl > Forum > PHP
rfelijak
Witam

Napisalem sobie skrypcik z ktorego chcialem sie logowac do mojego serwisu.
Problem jednak w tym ze za kazdym razem, czy podam poprawne, niepoprawne nazwe uzytkownika i haslo wywala mi ciagle ten sam komunikat - " Niepoprawny LOGIN ub HASLO!!! "
poza tym mimo ze robilem obsluge w razie gdyby ktos nie podal loginu lub hasla...wywala mi " Sprobuj jeszcze raz!!! "
nie bardzo wiem jak sobie z tym poradzic

z gory dzieki za pomoc
pozdrawiam
rfelijak

oto skrypt:

  1. <?php #logowanie
  2.  
  3. if (isset($_POST['submit'])) { //Obsluz formularza
  4.  
  5. require_once ('mysql_connect.php');
  6.  
  7. //f-cja wstawiajaca odwrotny ukosnik przed znaki specjalne
  8. function escape_data ($data) {
  9.  global $dbc;
  10.  if (ini_get('magic_quotes_gpc')) {
  11.  $data = stripslashes($data);
  12. }
  13. return mysql_real_escape_string($data, $dbc);
  14. } //Koniec funkcji
  15.  
  16. $message = NULL;
  17.  
  18. //sprawdz uzytkownika
  19. if (empty($_POST['username'])) {
  20.  $u = FALSE;
  21.  $message = '<p>Wprowadz nazwe uzytkownika!</p>';
  22. } else {
  23.  $u = escape_data($_POST['username']);
  24.  }
  25.  
  26. //Sprawdz haslo
  27. if (empty($_POST['password'])) {
  28.  $p = FALSE;
  29.  $message = '<p>Wprowadz haslo!</p>';
  30. } else {
  31.  $p = escape_data($_POST['password']);
  32. }
  33.  
  34. if ($u && $p) { //jeżeli wszystko ok.
  35.  
  36. //odczytaj user_id i first_name dla podanej kombinacji hasla i usera
  37. $query = "select user_id, first_name from users where username='$p' and password=PASSWORD('$p')";
  38. $result = @mysql_query ($query); //wykonaj zapytanie
  39. $row = mysql_fetch_array ($result, MYSQL_NUM); //zwraca rekord
  40.  
  41. if ($row) { //wyciaga wlasciwy rekord z bazy 
  42.  
  43. //ustaw cookie i przekieruj uzytkownika
  44. setcookie('user_id', $row[0]);
  45. setcookie('first_name', $row[1]);
  46.  
  47. header ('Location: [url=http://www.google.com');]http://www.google.com');[/url]
  48. //header ("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/show_users.php");
  49. exit();
  50.  
  51. } else { //żaden rekord nie pasuje do zapytania
  52. $message = '<p>Niepoprawny LOGIN ub HASLO!!!</p>';
  53. }
  54.  
  55.  
  56. } else {
  57. $message = '<p>Sprobuj jeszcze raz!!!</p>';
  58. }
  59.  
  60. } //Koniec glownego wyrazenia warunkowego submit 
  61.  
  62. $page_title = 'Logowanie';
  63. include ('naglowek.inc');
  64.  
  65. //jeżeli istnieje komunikat o bledzie - wyswietl go
  66. if (isset($message)) {
  67.  echo '<font color="red">' . $message . '</font>';
  68. }
  69.  
  70. ?>
  71.  
  72. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  73. <fieldset><legend>Wprowadz wymagane informacje:</legend>
  74.  
  75. <p><b>Nazwa uzytkownika:</b> <input type="text" name="username" size="10" maxlength="20" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" /> </p>
  76.  
  77. <p><b>Haslo:</b> <input type="password" name="password" size="20" maxlength="20" /> </p>
  78.  
  79. <div align="center"> <input type="submit" name="submit" value="Zaloguj sie" /> </div>
  80.  
  81. </form> <!-- Koniec formularza -->
  82.  
  83. <?php
  84. include('stopka.inc');
  85. ?>


--
Wymyślono coś takiego jak BBCode i je stosuj

~kwiateusz
Darti
Kod
$query = "select user_id, first_name from users where username='$u' and password=PASSWORD('$p')";
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.