Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt logowania
Forum PHP.pl > Forum > Przedszkole
mefjiu
Witam wstawiłem skrypt logowania by pion ale mam taki problem jak wpiszesz dane do zalogowania sie niby normalnie sie loguje ale przechodząc na stronie do jakiegos innego dzialu znowu trzeba sie logowac w czym jest problem questionmark.gif
mike
Strzelam że nie zachowujesz sesji.

Czy masz wszędzie session_start() :?:
mefjiu
nie nie mam sesjon start
jedyne co mi sie zucilo w oczy to to

setcookie ("login_by_pion", $login);
Pigula
a moze kod podaj bo chyba nie wszyscy znaja ten skrypt?
pozatym tak jak na pisal mike_mech musisz dodac session_start() do kazdego pliku jezeli w kodzie skryptu wystepuje np. $_SESSION['login']
mefjiu
nio tak ale z ktorego pliku mam kod wstawiac questionmark.gif
mike
W każdym pliku, w którym kożystasz z dobrodziejstw sesji (czyt. używasz zmiennych z tablicy superglobalnej $_SESSION) powinieneś zadbać o podtrzymanie lub utworzenie sesji. Zrobisz to wstawiając session_start().
mefjiu
wstawilem w kazdym pliku to co pisaliście i nic dalej jest to samo exclamation.gif
mike
Brak session_start() to pierwsza i jedyna myśl, która może się nasunąć po tak szczegółowym opisie jaki przedstawiłeś. A poza tym, kto wie czy błędów gdzieś nie robisz?
Więcej można powiedzieć widząc kod źródłowy, pokaż istotne jego części to otrzymasz pomoc.
Co Ty myślisz że to forum Jasnowidzów :?:
mefjiu
ok podam kody śrudłowe wszystkich plików tylko zebyścei nie pisali ile to ty kod
ów dałeś exclamation.gif tongue.gif 


index.php
  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  4. </HEAD>
  5. <BODY>
  6. <p class="zawartosc">
  7. <?
  8.  
  9.     if (!($login_by_pion))
  10.     {
  11.     
  12. if ($p == "Loguj")
  13. {
  14. // usuwanie zbednych znakow
  15.         $login = str_replace ("<", "", $login);
  16.         $login = str_replace (">", "", $login);
  17.         $login = str_replace ("|", "l", $login);
  18.         $login = str_replace (" ", "_", $login);
  19.         $login = stripslashes($login);
  20.         $haslo = str_replace ("<", "", $haslo);
  21.         $haslo = str_replace (">", "", $haslo);
  22.         $haslo = str_replace ("|", "l", $haslo);
  23.         $haslo = str_replace (" ", "_", $haslo);
  24.         $haslo = stripslashes($haslo);
  25.         
  26.     $user_file = "log/users_logins/".$login.".txt";
  27.     if (file_exists($user_file)) // jeżeli jest plik login.txt wczytujemy haslo z pliku
  28.     {
  29.     $plik = fopen ($user_file, "r");
  30.     $zawartosc_pliku = fgets ($plik, 2048); // odczyt hasla z pliku login.txt
  31.     fclose ($plik);
  32.     $podzial = split ("|", $zawartosc_pliku);
  33.     $haslo_z_pliku = $podzial[0];
  34.         if ($haslo == $haslo_z_pliku)
  35.         {
  36.  
  37.         
  38.         
  39.         print ("Zalogowany jako <b>".$login."</b><br><br>");
  40.         print ("<A HREF="strona.php" target="_top">Link</a> | <A HREF="index.php" target="_top">Strona główna</a>");
  41.         print ("<br><br><A HREF="index.php?menu=edit" TARGET="_top">Edycja danych</A>");
  42.         print ("<br><br><A HREF="index.php?menu=logout" TARGET="_top">Wyloguj się teraz</A>");
  43.         }
  44.         else
  45.         {
  46.         print ('Wpisane dane:<br><br>');
  47.         print ("Login: ".$login);
  48.         print ("<br>Hasło: ".$haslo);
  49.         print ('<br><br>s&plusmn; <font color="red">nieprawidłowe</FONT>.');
  50.         print ('<br><A HREF="javascript:history.back();" TARGET="_top">Wróć i popraw</A><br>');
  51.         }
  52.     }
  53.     else // jeżeli nie ma pliku login.txt, czyli nie ma takiego uzytkownika
  54.     {
  55.     print ("Brak użytkownika <p class='srodek'>$login</p>");
  56.     print ('<br><A HREF="javascript:history.back();" TARGET="_top">Wróć i popraw</A><br><br>');
  57.     print ('
  58.     <A HREF="index.php?menu=reminder" TARGET="_top">Zapomniałem hasła</A> <br> 
  59.     <A HREF="index.php?menu=register" TARGET="_top">Zarejestruj się</A>');
  60.     }
  61. }
  62. else
  63. {
  64. /* formularz logowania i link do rejestracji */
  65. print ('<form ACTION="" method="post">');
  66. print ('Login:<br><input TYPE="text" size="14" name="login"><br>');
  67. print ('Hasło:<br><input TYPE="text" size="14" name="haslo"><br>');
  68. print ('<input TYPE="submit" name="p" value="Loguj">');
  69. print ('</form>');
  70. print ('
  71.     <A HREF="index.php?menu=reminder" TARGET="_top">Zapomniałem hasła</A> <br> 
  72.     <A HREF="index.php?menu=register" TARGET="_top">Zarejestruj się</A>');
  73. }    
  74.     }
  75.     else
  76.     {
  77.     print ('Jeste&para; zalogowany jako ');
  78.     print ($login_by_pion);
  79.     print ("<br><br><A HREF="index.php?menu=logout" TARGET="_top">Wyloguj się teraz</A>");
  80.     
  81.     }
  82.     
  83. ?>
  84.  
  85. </P>
  86.  
  87. </BODY>
  88. </HTML>



login.php
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  4. <link href="rotacja/style.css" rel="stylesheet" type="text/css">
  5. </head>
  6.  
  7.                 <table width="506" border="0" cellpadding="0" cellspacing="0" align="center">
  8.                   <tr> 
  9.                     <td height="17" valign="top" align="center"> 
  10.                       <table width="506" border="0" cellpadding="0" cellspacing="0">
  11.                         <tr> 
  12.                           <td width="82"><img src="gfx/tekst-top1.jpg" width="82" height="35"></td>
  13.                           <td width="353" background="gfx/tekst-top2.jpg" valign="top">
  14.                             <p class="center"><b>Logowanie</b></p>
  15.                           </td>
  16.                           <td width="71"><img src="gfx/tekst-top3.jpg" width="78" height="35"></td>
  17.                         </tr>
  18.                       </table>
  19.                     </td>
  20.                   </tr>
  21.                   <tr> 
  22.                     <td background="gfx/tekst-tlo.jpg" height="178" valign="top" width="506" align="center"> 
  23.                         <table width="479" border="0" cellpadding="0" cellspacing="0">
  24.                           <tr> 
  25.                             <td valign="top" align="center"> 
  26.                           
  27.  
  28.                             <p align="center"></p>
  29.                             <br>
  30.                             <?
  31.                         session_start();    
  32.                             
  33. if ($p == "Loguj")
  34. {
  35. // usuwanie zbednych znakow
  36.         $login = str_replace ("<", "", $login);
  37.         $login = str_replace (">", "", $login);
  38.         $login = str_replace ("|", "l", $login);
  39.         $login = str_replace (" ", "_", $login);
  40.         $login = stripslashes($login);
  41.         $haslo = str_replace ("<", "", $haslo);
  42.         $haslo = str_replace (">", "", $haslo);
  43.         $haslo = str_replace ("|", "l", $haslo);
  44.         $haslo = str_replace (" ", "_", $haslo);
  45.         $haslo = stripslashes($haslo);
  46.         
  47.     $user_file = "log/users_logins/".$login.".txt";
  48.     if (file_exists($user_file)) // jeżeli jest plik login.txt wczytujemy haslo z pliku
  49.     {
  50.     $plik = fopen ($user_file, "r");
  51.     $zawartosc_pliku = fgets ($plik, 2048); // odczyt hasla z pliku login.txt
  52.     fclose ($plik);
  53.     $podzial = split ("|", $zawartosc_pliku);
  54.     $haslo_z_pliku = $podzial[0];
  55.         if ($haslo == $haslo_z_pliku)
  56.         {
  57.         setcookie ("login_by_pion", $login);
  58.         
  59.         print ('Wpisane dane s&plusmn; prawidłowe.<br>');
  60.         print ("Zostałe&para; zalogowany jako <b>".$login."</b>");
  61.         print ("<A HREF="strona.php" target="_top">Link</a> | <A HREF="index.php" target="_top">Strona główna</a>");
  62.         }
  63.         else
  64.         {
  65.         print ('Wpisane dane:<br><br>');
  66.         print ("Login: ".$login);
  67.         print ("<br>Hasło: ".$haslo);
  68.         print ('<br><br>s&plusmn; <font color="red">nieprawidłowe</FONT>.');
  69.         print ('<br><A HREF="javascript:history.back();" TARGET="_top">Wróć i popraw</A><br>');
  70.         }
  71.     }
  72.     else // jeżeli nie ma pliku login.txt, czyli nie ma takiego uzytkownika
  73.     {
  74.     print ("Brak użytkownika ".$login);
  75.     print ('<br><A HREF="javascript:history.back();" TARGET="_top">Wróć i popraw</A>');
  76.     }
  77. }
  78. else
  79. {
  80. /* formularz logowania i link do rejestracji */
  81. print ('<form ACTION="" method="post">');
  82. print ('Login:<br><input TYPE="text" size="14" name="login">');
  83. print ('Hasło:<br><input TYPE="text" size="14" name="haslo">');
  84. print ('<input TYPE="submit" name="p" value="Loguj">');
  85. print ('</form>');
  86. }    
  87. ?>
  88.                             
  89.                             <p align="center">
  90.                            
  91.  
  92.                             </p>
  93.                            
  94.  
  95.                             </td>
  96.                           </tr>
  97.                         </table>
  98.                     </td>
  99.                   </tr>
  100.                   <tr> 
  101.                     <td background="gfx/tekst-bott.jpg" height="27" width="498" align="center">&nbsp;</td>
  102.                   </tr>
  103.                 </table>
  104.                 <br>
  105. </html>


menu.php
  1. <?
  2. print ('<br>Ostatnia rejestracja: ');
  3. include ("log/newest_user.txt");
  4. print ('<br>Liczba użytkowników: ');
  5. // zliczenie liczby wszystich uzytkownikow
  6.     $katalog = opendir ('log/users_logins');
  7.     $i=1;
  8.     while ($plik = readdir ($katalog)) {
  9.       if (ereg (".txt$", $plik)) { $pliki[$i++] = $plik; }
  10.     }
  11.     closedir ($katalog);
  12.     $ile_userow = count($pliki);
  13.     print ($ile_userow);
  14.  
  15. print ('<br><br>');
  16. print ('<A HREF="login.php" TARGET="_top">Logowanie</A> <br> <A HREF="edit.php" TARGET="_top">Edycja danych</A> <br> <A HREF="reminder.php" TARGET="_top">Zapomniałem hasła</A> <br> <A HREF="register.php" TARGET="_top">Zarejestruj się</A>');
  17. ?>


register.php
  1. <?php
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  5. </head>
  6.  
  7.                 <table width="506" border="0" cellpadding="0" cellspacing="0" align="center">
  8.                   <tr> 
  9.                     <td height="17" valign="top" align="center"> 
  10.                       <table width="506" border="0" cellpadding="0" cellspacing="0">
  11.                         <tr> 
  12.                           <td width="82"><img src="gfx/tekst-top1.jpg" width="82" height="35"></td>
  13.                           <td width="353" background="gfx/tekst-top2.jpg" valign="top">
  14.                             <class="center%
  15.  
  16. ?>
darecki
wstaw session_start(); na samym poczatku pliku (przed wyslaniem kodu html do przegladarki) oraz używaj go w głownych plikach - jeżeli plik jest przylączy do skryptu za pomoca np. include to nie musisz juz wstawiac tam session_start() - to mi sie zucilo na samym pocztku :]
cyper
mi session_start(); w zupełności pomogło, choć robię system logowania oparty na przykładzie z książki a o session_start(); nie było w niej nic mowy smile.gif
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.