Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie
Eset96
post 22.09.2010, 15:21:49
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 23.03.2010

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


Witam otóż mam problem zrobłem logowanie i nie chce działac, znaczy nie robiłem, ale skopiowałem z egrafik.pl

  1. <?
  2. // Na samej górze zadeklaruj sesję.
  3. // Sekcja wylogowywania, kasuje wszystkie zmienne sesyjne
  4. $message=""; // Wiadomość po wylogowaniu
  5.  
  6. // Sekcja logowania
  7. $login=$_POST[&#8216;e-mail’];
  8. if($login) {
  9. // W momencie kliknięcia w przycisk formularza
  10. $uzytkownik=$_POST[&#8216;e-mail’];
  11. $md5_haslo=md5($_POST[&#8216;key’]);
  12. // Koduje hasło funkcją md5().
  13.  
  14.  
  15. // Połączenie z bazą.
  16. $host=""; // Nazwa hosta.
  17. $db_user=""; // Nazwa użytkownika - MySQL.
  18. $db_password=""; // Hasło do bazy.
  19. $database=""; // Nazwa bazy.
  20. mysql_connect($host,$db_user,$db_password);
  21. mysql_select_db($database);
  22. // Sprawdzenie nazwy użtkownika i hasła.
  23. $rezultat=mysql_query("select * FROM users WHERE e-mail=’$uzytkownik’ AND key=’$md5_haslo’");
  24. if(@mysql_num_rows($rezultat)){
  25. session_register("e-mail"); // Zapamiętuje zmienną sesji
  26. header("location:main.php"); // Przekierowanie do strony main.php
  27. }else {
  28. $message="Nieprawidłowa nazwa użytkownika lub hasło";
  29. }
  30. } // Koniec sprawdzania autoryzacji.
  31. ?>
  32. <head>
  33.  
  34. <title>Dokument</title>
  35. </head>
  36. <body>
  37. <? echo $message; ?>
  38. <form id="form1" name="form1" method="post" action="<? echo $PHP_SELF; ?>">
  39. <table>
  40. <tr>
  41. <td>Użytkownik: </td>
  42. <td><input name="uzytkownik" type="text" id="uzytkownik" /></td>
  43. </tr>
  44. <tr>
  45. <td>Hasło: </td>
  46. <td><input name="haslo" type="password" id="haslo" /></td>
  47. </tr>
  48. </table>
  49. <input name="login" type="submit" id="login" value="login" />
  50. </form>
  51. </body>
  52. </html>


i main.php
  1. <?
  2.  
  3. session_start(); // Na samej górze zadeklaruj sesję.
  4. if(!session_is_registered("uzytkownik")){ // Sprawdza zmienną sesji.
  5. header("location:index.php"); // Przekierowanie do index.php
  6. }
  7. ?>
  8.  
  9. <head>
  10.  
  11. <title>Dokument</title>
  12. </head>
  13. <body>
  14. <p>Witaj <? echo $_SESSION[&#8216;e-mail’]; ?>! Jesteś zalogowany.</p>
  15. <p><a href="index.php">Wyloguj</a></p>
  16. </body>
  17. </html>


wogole nie chce przeniesc do main.php chociaz hasla sa dobre

Ten post edytował Eset96 22.09.2010, 15:49:13
Go to the top of the page
+Quote Post
jcubic
post 22.09.2010, 20:25:20
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 5.07.2010
Skąd: Bliżyn

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


W pierszym pliku rejestrujesz zmienną e-mail a w drugim sprawdzasz zmienną uzytkownik (musisz zmienić w drugim skrypcie na e_mail).
PS: W drugim skrypcie powinno być
Kod
$_SESSION['e_mail'];
ale to może wina skryptu kolorującego składnie na forum.
PS2:
Cytat
Jeśli skrypt ma działać niezależnie od ustawienia register_globals, niezbędne jest użycie tablicy $_SESSION, jako że elementy $_SESSION są atomatycznie rejestrowane. Jeśli skrypt korzysta z session_register(), nie będzie on działać w środowisku z wyłączoną dyrektywą register_globals.

czyli zamiast session_register

Kod
session_register("e-mail");

ma być
Kod
$_SESSION['e_mail'] = wartość;

w drugim skrypcie
Kod
if (!isset($_SESSION['e_mail'])) {
   header("location:index.php");
}


Nazwy zmiennych nie mogą mieć myślników o ile mi wiadomo (myślniki mogą mieć zmienne i nazwy funkcji w języku Lisp). Do tego nie pobierasz nic z bazy danych.

Kod
if(mysql_num_rows($rezultat)) {
    $row = mysql_fetch_row($rezultat);
    $_SESSION['e_mail'] = $row[0]; // jeśli email jest pierwszą kolumną
    //albo
    $_SESSION['e_mail'] = $row['e-mail'];

    header("location:main.php"); // Przekierowanie do strony main.php
    exit;
}


Ten post edytował jcubic 22.09.2010, 20:47:08
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 16:36