Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]$_SESSION - dostęp dla dwóch użytkowników
ReBeLs513
post
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

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


Bawię się od kilku dni próbując zrobić stronę dostępną dla wybranych użytkowników...
  1. <?php
  2. if($_SESSION['zalogowany'] !== usera || userb){
  3. echo('Nie jestes uprawniony do ogladania tej strony !');}
  4. else {
  5. ?>
  6. Treść strony...
  7. <?php
  8. }
  9. ?>

i coś mi nie wychodzi ;// w/w skrypt działa tylko, kiedy dam jednego usera


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post
Elber
post
Post #2





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Cytat(ReBeLs513 @ 31.01.2012, 11:00:59 ) *
Bawię się od kilku dni próbując zrobić stronę dostępną dla wybranych użytkowników...
  1. <?php
  2. if($_SESSION['zalogowany'] !== usera || userb){
  3. echo('Nie jestes uprawniony do ogladania tej strony !');}
  4. else {
  5. ?>
  6. Treść strony...
  7. <?php
  8. }
  9. ?>

i coś mi nie wychodzi ;// w/w skrypt działa tylko, kiedy dam jednego usera


if($_SESSION['zalogowany'] != 'usera' || $_SESSION['zalogowany'] != 'userb'){
...
}

Ten post edytował Elber 31.01.2012, 11:05:23


--------------------
GG: 564555
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #3





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

Do poczytania.


Ten post edytował rocktech.pl 31.01.2012, 11:08:22


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
strife
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Po pierwsze `usera` i `userb` to w tej chwili są stałe. Powinieneś mieć błąd (włącz raportowanie błędów, czytaj linki w mojej stopce).

Do tego widzę, że trochę błędnie zacząłeś tworzyć ten warunek - jak się tworzy warunki poczytasz tutaj: http://php.net/manual/en/control-structures.if.php


--------------------
Go to the top of the page
+Quote Post
ReBeLs513
post
Post #5





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

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


hmm Jak jest się zalogowanym to raportowanie błedów mówi
"Notice: A session had already been started - ignoring session_start() in F:\www\strefa-A\index.php on line 35"
A jak nie, to dorzuca "Notice: Undefined index: zalogowany in F:\www\strefa-A\index.php on line 36"

Ten post edytował ReBeLs513 31.01.2012, 11:35:16


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czytasz w ogole te komunikaty czy tylko kopiujesz i nam bezmyslnie pokazujesz??
Pierwszy chyba wyraźnie mówi, że próbuje po raz drugi wywołać session_start :/

Drugi zas mowi, ze sie odwolujesz do indeksu, ktory nie istnieje. WYpadaloby wiec najpierw sprawdzic, czy on istnieje poprzez isset()


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
strife
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


No więc jeszcze raz, poszukaj co znaczy błąd o nieokreślonym index'ie. W PHP jak i wielu innych językach, zmienne musisz deklarować. W tej chwili drugi błąd mówi o tym, że klucz tablicy "zalogowany" nie istnieje.

Stwórz prosty przykład:

  1. echo $_SESSION['zalogowany'];

Będziesz miał ten sam błąd, aby tego uniknąć ważne jest aby sprawdzać czy dany klucz istnieje, przed odwołaniem się do niego np.:

  1. if (isset($_SESSION['zalogowany'])) {
  2. echo $_SESSION['zalogowany'];
  3. }


Widzisz różnicę? Dodam, że to o czym teraz piszę zostało już poruszone w pierwszym temacie w mojej stopce!

Dalej, jak autoryzujesz użytkownika? Domyślam, się że robisz to za pomocą ustawienia sesji. Czy jesteś pewien czy, aby na pewno to działa?
Powód edycji: [strife]: literówka ^_^


--------------------
Go to the top of the page
+Quote Post
ReBeLs513
post
Post #8





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

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


noo to ja wiem co znaczy drugi komunikat (skoro się wylogowałem to trudno aby zmienna $zalogowany istniała) ale nie kminie pierwszego, bo kiedyś czytałem, że aby tg uniknąć, trzeba dodać
  1. <?php
  2. ?>
i
  1. <?php
  2. ?>
odpowiednio na początku i końcu strony...

Ok po klikunastu minutach pousuwalem wszystkie session_start i dodalem ją raz na samej gorze strony. jednak @elber nadal tylko 1 uzytkownik dziala a przy dodaniu kolejnego jest tak, jakby nikt sie nie zalogowal.
ten skrypt pokazania wszytkich bledow nic juz nie pokazuje, wiec chyba wszystko git ?
Jak autoryzuje uzytkownika ? musi istniec sesja zalogowany, a aby istniała to logowanie jest na plikach z hashowanymi haslami ;p moze nie jest to bezpieczne ale mi wystarczy.


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
. jednak @elber nadal tylko 1 uzytkownik dziala a przy dodaniu kolejnego jest tak, jakby nikt sie nie zalogowal.

Nie || a &&
  1. if($_SESSION['zalogowany'] != 'usera' && $_SESSION['zalogowany'] != 'userb'){
  2. echo('Nie jestes uprawniony do ogladania tej strony !');
  3. }


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Aktualny czas: 22.08.2025 - 06:38