Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php+session] Logowanie
Dziadzia
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 4
Dołączył: 9.07.2009

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


Witam.

Napisałem w proste logowanie, które nie działa (IMG:style_emoticons/default/biggrin.gif) Logować loguje się, lecz po przeładowaniu strony... tzn kliknę przycisk zaloguj ale mnie nie zaloguje, dopiero muszę dać np: zakładkę home i wtedy pojawi się, że jestem zalogowany. A wyloguj już całkowicie nie działa...
To jest plik logowania:

  1. <?php
  2.  
  3. include("conn.php");
  4.  
  5. if ($_SESSION['zalogowany'] != 1) {
  6.  
  7. $login = $_POST['login'];
  8. $password = $_POST['password'];
  9.  
  10. if ( isset($login) AND isset($password) )
  11. {
  12.  
  13. $sql = mysql_query("SELECT * FROM users");
  14. $row = mysql_fetch_object($sql);
  15.  
  16. if($_SESSION['login']=='') $_SESSION['login']="nieznajomy";
  17.  
  18. if($row->login == $login)
  19.  
  20. if($row->password == $password){
  21.  
  22. $_SESSION['login'] = $login;
  23.  
  24. $_SESSION['zalogowany']=1;
  25. }}
  26.  
  27. echo '
  28.  
  29. <form action="index.php" method="post">
  30.  
  31. <span class="nazwa_lp">Login:</span>
  32. <input type="text" id="login" name="login">
  33.  
  34. <span class="nazwa_lp">Password:</span>
  35. <input type="password" id="pass" name="password">
  36.  
  37. <input type="submit" value="zaloguj" class="zaloguj">
  38.  
  39. </form>
  40.  
  41. '; }
  42.  
  43. else {
  44.  
  45. echo('<span class="nazwa_zalogowany">Witaj: &nbsp;&nbsp;&nbsp;' .$_SESSION['login'].'</span>
  46.  
  47. <a href="logout.php"><input type="button" name="wyloguj" value="Wyloguj" class="wyloguj"></a>');
  48.  
  49.  
  50. };
  51.  
  52. ?>


To jest plik logout.php

  1. <?
  2. $_SESSION['zalogowany']=0;
  3.  
  4. include("index.php");
  5. ?>


A to jest kod który mam w index.php

  1. <div id="div_logowanie">
  2.  
  3. <?
  4. if($_SESSION['zalogowany']!=1) include('login.php');
  5.  
  6. else {
  7.  
  8. echo('<span class="nazwa_zalogowany">Witaj: &nbsp;&nbsp;&nbsp;' .$_SESSION['login'].'</span>
  9.  
  10. <a href="logout.php"><input type="button" name="wyloguj" value="Wyloguj" class="wyloguj"></a>');
  11. }
  12. ?>
  13.  
  14. </div>



Z góry dziękuję za pomoc w naprawieniu tych skryptów. Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Dziadzia
post
Post #2





Grupa: Zarejestrowani
Postów: 79
Pomógł: 4
Dołączył: 9.07.2009

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


plik index.php

  1. <?php
  2.  
  3. session_register($zalogowany, $login);
  4.  
  5. ?>
  6.  
  7. <html>
  8. <head>
  9. ...
  10.  
  11. <div id="div_logowanie">
  12.  
  13. <?
  14. if($_SESSION['zalogowany']!=1) include('login.php');
  15.  
  16. else {
  17.  
  18. echo('<span class="nazwa_zalogowany">Witaj: &nbsp;&nbsp;&nbsp;' .$_SESSION['login'].'</span>
  19.  
  20. <a href="logout.php"><input type="button" name="wyloguj" value="Wyloguj" class="wyloguj"></a>');
  21. }
  22. ?>
  23.  
  24. </div>
  25.  
  26. </div>
  27.  
  28. <div id="logo"></div>
  29. ...
  30.  


plik login.php

  1. <?php
  2.  
  3. include("conn.php");
  4.  
  5. if ($_SESSION['zalogowany'] != 1) {
  6.  
  7. $login = $_POST['login'];
  8. $password = $_POST['password'];
  9.  
  10. if ( isset($login) AND isset($password) )
  11. {
  12.  
  13. $sql = mysql_query("SELECT * FROM users");
  14. $row = mysql_fetch_object($sql);
  15.  
  16. if($_SESSION['login']=='') $_SESSION['login']="nieznajomy";
  17.  
  18. if($row->login == $login)
  19.  
  20. if($row->password == $password){
  21.  
  22. $_SESSION['login'] = $login;
  23.  
  24. $_SESSION['zalogowany']=1;
  25.  
  26. }}
  27.  
  28. echo '
  29.  
  30. <form action="index.php" method="post">
  31.  
  32. <span class="nazwa_lp">Login:</span>
  33. <input type="text" id="login" name="login">
  34.  
  35. <span class="nazwa_lp">Password:</span>
  36. <input type="password" id="pass" name="password">
  37.  
  38. <input type="submit" value="zaloguj" class="zaloguj">
  39.  
  40. </form>
  41.  
  42. '; }
  43.  
  44. else {
  45.  
  46. echo('<span class="nazwa_zalogowany">Witaj: &nbsp;&nbsp;&nbsp;' .$_SESSION['login'].'</span>
  47.  
  48. <a href="logout.php"><input type="button" name="wyloguj" value="Wyloguj" class="wyloguj"></a>');
  49.  
  50.  
  51. };
  52.  
  53. ?>


plik logout.php

  1. <?php
  2.  
  3. $_SESSION['zalogowany']=0;
  4. include("index.php");
  5.  
  6. ?>


Czytałem trochę i dowiedziałem się, że musze zrobić przeładowanie strony po zalogowaniu... myślałem, że robi się to automatycznie po przyciśnięciu przycisku submit (zaloguj) z formularza logowania... Niestety nie wiem dalej jak to zrobić.

Próbowałem wylogowywać się również za pomocą tego pliku o nazwie logout.php:

  1. <?php
  2. include("index.php");
  3. ?>


i wyskakuje mi błąd:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\WebServ\httpd\cms\logout.php:5) in C:\Program Files\WebServ\httpd\cms\index.php on line 2

Z góry dziękuje za pomoc.
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 - 02:39