Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Skrypt logowania - problem
kulpek
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 9.12.2005
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Witam probuje stworzyc cos w stylu skryptu logowania... napisalem juz caly kod ale mimo to nie dziala on tak jak powinien. Oto fragment kodu ktory nie funkcjonuje jak nalezy:

  1. <?php
  2. if ($u && $p) { // jesli nie wystapily problemy
  3. // wysyla zapytania do bazy danych
  4. $query = "SELECT user_id, username FROM users WHERE username='$u' AND password=PASSWORD('$p')";
  5. $result = @mysql_query ($query);
  6. $row = mysql_fetch_array ($result, MYSQL_NUM);
  7. if ($row) { // w bazie znaleziono szukane dane.
  8. // rozpoczecie sesji, zarejestrowanie wartosci i przekierowanie
  9. $_SESSION['username'] = $row[1];
  10. $_SESSION['user_id'] = $row[0];
  11.  
  12. ob_end_clean(); // usuniecie bufora
  13.  
  14. header ("Location: http://" . $_SERVER['HTTP_HOST'] . "/index.php");
  15. exit();
  16. } else { // w bazie nie ma szukanych danych
  17. echo '<span style="color:red">Podany login i hasło nie zostały znalezione w naszej bazie!</span><br />';
  18. }
  19. } else { // jesli wystapily problemy
  20. echo '<span style="color:red">Proszę spróbować ponownie.</span><br /><br />';
  21. }
  22. ?>


Wpisuje do formularza poprawne dane, ktore sa w bazie bo sprawdzalem wielokrotnie, a on za kazdym razem wypisuje "Podany login i hasło nie zostały znalezione w naszej bazie!". Domyslam sie, ze cos zepsulem w wywolaniu funkcji "mysql_fetch_array". Jesli ktos widzi jakis problem to prosze o odpowiedz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) z gory dzieki

Ten post edytował kulpek 24.12.2007, 00:42:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PawelC
post
Post #2





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


jeśli Ci się to przyda, ten skrypt sprawdza czy jest użytkownik o podanym loginie i haśle w bazie:
logowanie.php
  1. <?php
  2. ?>
  3. <?php
  4.  
  5. require_once ('mysql_connect.php'); // Polacz sie z baza danych
  6.  
  7. $username = trim($_POST['username']);
  8. $user_id = trim($_POST['user_id']);
  9. $query = "SELECT user_id, username FROM users WHERE username='$u' AND password=PASSWORD('$p')";
  10. $rekordy = mysql_query($query);
  11. if(mysql_num_rows($rekordy)==0)
  12. {
  13.  echo' Podany login i haslo są błędne';
  14.  exit;
  15. }
  16. else
  17. {
  18.  $_SESSION['username'] = $_POST['username']; 
  19.  $_SESSION['user_id'] = $_POST['user_id']; 
  20.  header ("Location: http://" . $_SERVER['HTTP_HOST'] . "/index.php");
  21.  exit;
  22. }
  23. ?>

plik zalogowany.php
  1. <?
  2. if(isset($_SESSION['zalogowany']))
  3. {
  4.  echo' Strona po zalogowaniu. Zalogowany jest: '. $_SESSION['zalogowany'];
  5. }
  6. else
  7. {
  8.  Header('location: logowanie.php');
  9.  exit;
  10. }
  11. echo '<a href="wylogowanie.php">Wyloguj się</a>';
  12. ?>

Plik wylogowanie.php
  1. <?
  2. // kod do strony o nazwie wylogowanie.php
  3. $_SESSION=array();
  4. Header('location: index.php');
  5. ?>

Formularz masz także niebędę pisał jego kodu, mi działa ten skrypt, sprawdź czy u Ciebie pójdzie.
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: 3.10.2025 - 14:43