Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie admina strony
aagaaz
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 25.02.2010

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


Witam.

Mam problem z logowaniem admina.
W pliku login.php umiescilam kod:
  1. if ($_POST['login']=='admin'and $_POST['haslo']=='admin')
  2. {
  3. header('Location:admin/panel_admin.php');
  4. }


ale chcialabym , aby pobieral zaszyfrowane haslo admina, ktore mam w bazie danych.

Może cie mi pomóc...
Powód edycji: [Cysiaczek]: bbcode, pamiętaj w przyszłości
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jesus61
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 3
Dołączył: 26.09.2010

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


To może napisz jakie błędy się pokazują.
A tak poza tym to:
1. Zakładam że session_start() jest w pliku db.php albo jakimś wcześniejszym, bo jeżeli go nie ma to całość nie ma sensu.
2. "else" z linijki 89 ( ten co ma przekierować ) wykona się tylko gdy użytkownik nie jest zalogowany ( patrz "if" z linijki 58 ) co miało by sens gdyby konto admina nie było wpisane do bazy danych.
3. "if" z linijki 91 jest moim zdaniem bez sensu ze względu na linijki 11, 12 oraz 24, 25, 28. $login będzie "prawie" zawsze zgodny z $_POST['login'] a $haslo z $_POST['haslo'] nigdy! Pomijając fakt że to wygląda tak jakby każdy był adminem O.O

Poprawcie mnie jeżeli coś źle zrozumiałem/napisałem (IMG:style_emoticons/default/winksmiley.jpg)

EDIT: Znalazłem trochę czasu więc takie coś:

Zakładając że admin loguje się jak każdy normalny użytkownik i ma konto wpisane do bazy danych:
  1. <?php
  2. include ('db.php');
  3.  
  4. if(isset($_POST['Zaloguj']))
  5. {
  6.  
  7.  
  8. $id=$_POST['id'];
  9. $login = $_POST['login'];
  10. $haslo = $_POST['haslo'];
  11.  
  12. // sprawdzamy czy wszystkie dane zostały podane
  13. if(empty($login) || empty($haslo))
  14. {
  15. echo '<h3>Wpisz wszystkie pola!</h3>';
  16. echo '<meta http-equiv="refresh" content="3; URL=../index.php">';
  17.  
  18. }
  19. else
  20. {
  21. // filtrujemy dane
  22.  
  23. // kodujemy hasło
  24. $haslo = md5($haslo);
  25.  
  26. // sprawdzamy czy istnieje użytkownik z takim loginem i hasłem
  27. $result = mysql_query("SELECT * FROM uzytkownicy WHERE login='$login' AND haslo='$haslo'");
  28.  
  29. if(!mysql_num_rows($result)) echo '<h3> Niestety podałeś niepoprawne dane!</h3> <meta http-equiv="refresh" content="3; URL=../index.php">';
  30. else
  31. {
  32. // dodajemy wynik zapytania do tablicy
  33. $row = mysql_fetch_assoc($result);
  34. // ustawianie sesji że użytkownik jest zalogowany
  35. $_SESSION['logged'] = true;
  36. // dodawanie do sesji loginu
  37. $_SESSION['login'] = $row['login'];
  38. $_SESSION['id'] = $row['id'];
  39. }
  40. }
  41. }
  42.  
  43. // sprawdzamy czy user jest już zalogowany
  44. if(isset($_SESSION['login']))
  45. {
  46. // to przenosi admina do panel_admin.php
  47. $LOGIN_ADMINA = 'admin';
  48. if ( $LOGIN_ADMINA == $_SESSION['login'] || $_SESSION['admin'] == true )
  49. {
  50. $_SESSION['admin'] = true;
  51. header('Location: admin/panel_admin.php');
  52. }
  53.  
  54. header('Location: '.$_POST['URI']);
  55. // wyświetlamy userowi jego dane
  56. echo '<h3><br />Witaj '.$_SESSION['login'].'!<br /></h3>';
  57.  
  58.  
  59. $zapytanieSelect="SELECT ostatnie_log FROM uzytkownicy WHERE login='$login'";
  60. $wykonaj = mysql_query ($zapytanieSelect);
  61. $wiersz=mysql_fetch_array($wykonaj);
  62. echo '<h4>Data ostatniego logowania:</h4>';
  63. echo $wiersz[6]."<br>";
  64.  
  65. echo '<form action="wyloguj.php" method="post" >
  66. <a href="edytujprofil.php">Edytuj profil</a><br/>
  67. <a href="dodajplik.php">Dodaj pliki</a><br />
  68. <a href="dodajkomentarz.php">Dodaj komentarz</a><br />
  69. <a href="wiadomosci/dodajwiadomosc.php">Prywatne wiadomości</a><p>
  70. <input type="submit" name="Wyloguj" value="Wyloguj" size="20" class="button">
  71. </p></form>';
  72. }
  73.  
  74.  
  75. // rozłączenie z bazą danych
  76. ?>


Ustawiasz login admina w zmiennej w linijce 49 i powinno działać.
PS. Pozwoliłem sobie trochę .... wytrimować(?) kod (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował jesus61 8.12.2010, 10:49:16
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: 11.10.2025 - 13:27