Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie
Forum PHP.pl > Forum > PHP
legerg
Zrobilem system sprawdzania uzytkownika, tylko jak odświeżam strone to pokazuje ze uzytkownik jest zalogowany chociaz nie jest.
Oto kod
  1. <?php
  2. if (session_is_registered("user"))
  3. {
  4. echo "<center>Nie jestes zalogowany. prosze sie zalogowac</center>";
  5. wy_form_logo();
  6.  echo "<a href="admin.php">Lista uzytkownikow</a>";
  7. }
  8. else
  9. {
  10. $tab_user = wynik_db_do_tablicy($wynik);
  11. $user = $login;
  12. echo "<font size="4"><center>zalogowany jako: <b>" .$user."</b>, data twojej rejestracji to: <b>".$tab_user[0]['data']."</b><br></center></font>";
  13. echo "<a href="wyloguj.php">wyloguj</a>";
  14. }
  15.  
  16. ?>

i niewiem co z tym zrobic.



Zgory dzieki za odpowiedzi.
kossa
Rejestruj zmienną session_register("user"); i jeśli jest zalogowany to przypisuj jej jakąś wartość

  1. <?php
  2. $_SESSION['user']='zalogowany';
  3. ?>


i sprawdzając czy jest zalogowany czy nie to sprawdzaj czy

  1. <?php
  2. if ($_SESSION['user']=='zalogowany')
  3. {
  4. //strona dla zalgowanych
  5. }
  6. else
  7. {
  8. //zaloguj się
  9. }
  10. ?>


bo Ty tylko sprawdzasz czy zmienna istnieje a ona istnieje bo jej nie zniszczyłeś po wylogowaniu i dlatego Tobie nie działało - stąd ten błąd

Łukasz

edit - kod na szybko z ręki - spr.
Cysiaczek
Cytat(kossa @ 15.08.2006, 11:24 ) *
Rejestruj zmienną session_register("user"); i jeśli jest zalogowany to przypisuj jej jakąś wartość


Nie musisz rejestrować zmiennej sesyjnej - to jest rozwiązanie odchodzące do lamusa. Po prostu tworzy się zmienne $_SESSION['zmienna'] i już. Pozdrawiam.

Pozdrawiam,
kossa
To prawda, ale skoro @legerg tak już napisał więc modyfikację jego rozwiązania razem z $_SESSION mu zaproponowałem :-)

Łukasz
legerg
dzieki, ale jeszcze mam dwa pytania
1) jak zrobic wylogowywania.
2)mam uzytkownika np.kotlet i chce jak kotlet sie zaloguje to zeby wyswietlal sie link do panelu administracyjnego.


z gory dzieki za odpowiedzi cool.gif
kossa
  1. <?php
  2. /*
  3. tu Twoj skrypt logowania gdzie user kotlet sie loguje i zmiennej 
  4. $_SESSION['user']='kotlet';
  5. przypisujesz wartość kotlet
  6. następnie
  7. */
  8.  
  9. if ($_SESSION['user']=='kotlet')
  10. {
  11. echo '<a href='admin.php'>linka do panelu admina</a>';
  12. }
  13. ?>


Lukasz
legerg
dzieki, a wylogowywanie
SHiP
  1. <?php
  2. unset($_SESSION['user']);
  3. ?>


powinno dzialac ;]
Balon
raczej
  1. <?php
  2. /*
  3. tu Twoj skrypt logowania gdzie user kotlet sie loguje i zmiennej 
  4. $_SESSION['user']='kotlet';
  5. przypisujesz wartość kotlet
  6. następnie
  7. */
  8.  
  9. if ($_SESSION['user']=='kotlet')
  10. {
  11. echo '<a href="admin.php">linka do panelu admina</a>';
  12. }
  13. ?>


nie ucz głupot początkujacych

poza tym session_destroy" title="Zobacz w manualu php" target="_manual jesscze powinno byc exclamation.gif!!
legerg
dzieki, a da sie poprzez link.
LamaMASTER
Robisz system logowania, a to są podstawy php. Najpierw naucz się robić podstrony, potem poprzez link zrób wylogowywanie. Nie zadawaj takich pytań smile.gif
A poza tym te rozwiązanie jest niebezpieczne smile.gif
kossa
Cytat(Balon @ 15.08.2006, 18:22 ) *
raczej
  1. <?php
  2. /*
  3. tu Twoj skrypt logowania gdzie user kotlet sie loguje i zmiennej 
  4. $_SESSION['user']='kotlet';
  5. przypisujesz wartość kotlet
  6. następnie
  7. */
  8.  
  9. if ($_SESSION['user']=='kotlet')
  10. {
  11. echo '<a href="admin.php">linka do panelu admina</a>';
  12. }
  13. ?>


nie ucz głupot początkujacych


@Balon, co masz na myśli?
co było nie tak w moim kodzie?

Łukasz

Cytat(LamaMASTER @ 15.08.2006, 19:28 ) *
Robisz system logowania, a to są podstawy php. Najpierw naucz się robić podstrony, potem poprzez link zrób wylogowywanie. Nie zadawaj takich pytań smile.gif
A poza tym te rozwiązanie jest niebezpieczne smile.gif



@LamaMASTER, możesz zaproponowac bezpieczniejsze rozwiązania? Osobiście chętnie się czegoś nowego nauczę, wiedzy nigdy nie za wiele.

Łukasz
Kayne
Cytat(kossa @ 15.08.2006, 13:41 ) *
  1. <?php
  2. echo '<a href='admin.php'>linka do panelu admina</a>';
  3. ?>


Przy admin.php masz ' zamiast " co generuje błąd, bo interpreter php "myśli", że przy href=' kończy się funkcja echo().
kossa
  1. <?php
  2. echo "<a href='admin.php'>linka do panelu admina</a>";
  3. ?>


oczywiście, tylko nie lubię ukośników które czasmi tu na forum system dodaje i napisałem apostrofy

Łukasz
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.