Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sesion start już obecna...
ReBeLs513
post 26.04.2011, 14:41:50
Post #1





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

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


  1. <?php
  2. if(!isSet($_SESSION['user'])){
  3. $_SESSION['komunikat'] = "<font size=\"2\">Aby zobaczyć całą stronę, zaloguj się</font>";
  4. include $_SERVER ['DOCUMENT_ROOT']."/profile/form.php";
  5.  
  6. }
  7. else
  8. {
  9. ?>
  10. <p align="left">Chroniona część</p>
  11. <?php
  12. }
  13. ?>
  14.  
  15. Pozostała część strony


W menu bocznym również zapisałem ten kod, jednak teraz gdy wejdę na stronę, gdzie wymagane jest hasło, jest napisane, że sesja już jest...
Jak zrobić tak, aby w menu bocznym (przez include) skrypt wykrywal użytkownika i goscia ipokazywal odp. opcje? bo 2 x sesja być nie może...



Ten post edytował ReBeLs513 26.04.2011, 14:42:32


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
kill15
post 26.04.2011, 14:47:47
Post #2





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

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


sesje rozpocząć na początku kodu i zrobić odpowiednie warunki. Nie rozumiem w czym tu problem...
Nie lepiej do zmiennej przypisać że jesteś niezalogowany i jak jesteś niezalogowany to wyświetlić

Ten post edytował kill15 26.04.2011, 14:50:53
Go to the top of the page
+Quote Post
ReBeLs513
post 26.04.2011, 16:39:17
Post #3





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

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


Ale chodzi o to, że menu jest includowane a w nim jest kod, że jeśli zalogowany to to a jak nie to tamto. Ale... W dokumencie chronionym też musi być ten kod i tu zaczyna się problem, bo wtedy są wykryte dwie sesje na stronie


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post
mlawnik
post 26.04.2011, 17:34:04
Post #4





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


  1. <?php
  2. session_start();// start sesji
  3.  
  4. $_SESSION['sesja_ustawiona'] = 'TRUE';
  5.  
  6. // drugi plik
  7. If(!$_SESSION['sesja_ustawiona']){// jeżeji sesja nieustawiona
  8. }
  9. ?>


Simple?


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
modern-web
post 26.04.2011, 17:54:32
Post #5





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Radzę poczytać jeszcze o bezpieczeństwie sesji. Zbyt często spotykam się z olewaniem tak istotnych spraw przez programistów aplikacji webowych.
Dodałbym czas aktywności sesji, funkcję session_regenerate_id oraz aktywowałbym nie jedną, a dwie sesje `na wszelki wypadek`, gdzie jedna z nich zawierałaby ip użytkownika.


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
ReBeLs513
post 2.05.2011, 16:50:16
Post #6





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

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


eh...;//

Jeśli wpisuję taki kod PHP
  1. <?php
  2. if(!isSet($_SESSION['inolvidables'])){
  3. $_SESSION['komunikat'] = "<font size=\"2\">Dostęp tylko dla członków zespołu</font>";
  4. include $_SERVER ['DOCUMENT_ROOT']."/profile/3/logowanie.php";
  5. exit();
  6. }
  7. ?>
to strona pięknie się ładuje ale...

Jeśli wpisuję taki kod
  1. <?php
  2. if(!isSet($_SESSION['inolvidables'])){
  3. $_SESSION['komunikat'] = "<font size=\"2\">Dostęp tylko dla zespołu</font>";
  4. include $_SERVER ['DOCUMENT_ROOT']."/profile/3/form.php";
  5. }
  6. else
  7. {
  8. ?>
  9. <p>Jakaś treść tylko dla zalogowanych</p>
  10. <?php
  11. }
  12. ?>
(chroni tylko wybraną część tekstu) to wyskakuje to:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/Rebel/domains/elrebel.345.pl/public_html/HTML/1.htm:8) in /home/Rebel/domains/elrebel.345.pl/public_html/grupo/inolvidables.php on line 96

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/Rebel/domains/elrebel.345.pl/public_html/HTML/1.htm:8) in /home/Rebel/domains/elrebel.345.pl/public_html/grupo/inolvidables.php on line 96

Ktoś doradzi?questionmark.gif P.S. Na localhost tego błędu w ogóle nie ma:o A... i jak usuwam plik "/home/Rebel/domains/elrebel.345.pl/public_html/HTML/1.htm:8" to w to miejsce widnieje napis: "/home/Rebel/domains/elrebel.345.pl/public_html/grupo/inolvidables.php:1"...


--------------------
Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
Go to the top of the page
+Quote Post
Spawnm
post 2.05.2011, 17:01:41
Post #7





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




O "headers already sent" masz pełno informacji na forum i w sieci, poszukaj.
Go to the top of the page
+Quote Post
stckydude
post 2.05.2011, 17:01:50
Post #8





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 2.05.2011

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


Cytat(modern-web @ 26.04.2011, 18:54:32 ) *
Radzę poczytać jeszcze o bezpieczeństwie sesji. Zbyt często spotykam się z olewaniem tak istotnych spraw przez programistów aplikacji webowych.
Dodałbym czas aktywności sesji, funkcję session_regenerate_id oraz aktywowałbym nie jedną, a dwie sesje `na wszelki wypadek`, gdzie jedna z nich zawierałaby ip użytkownika.

a jak zmieniac czas aktywnosci sesji?

i jak dwie sesje naraz wlaczyc?
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 - 21:57