Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sesje
dzesi
post 1.06.2006, 10:18:09
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 3.05.2006

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


witam was:) mam problem bo np jak ma panel admina loguj sie jest wszysko dobrze ale jak juz np klikne na odsylacz do np wysylania informacji do uzytkownikow pisze mi ze niemam dostepu
admin/index.php
  1. <?php
  2. // by dzesi
  3.  
  4. //////////////////
  5. $login=$_POST['login'];
  6. $haslo=$_POST['haslo'];
  7. $loginadmin='dzesi';
  8. $hasloadmin='dzesi';
  9.  
  10.  
  11. if($login==$loginadmin && $haslo==$hasloadmin)
  12. {
  13. $_SESSION['login']=$loginadmin;
  14. $_SESSION['haslo']=$hasloadmin;
  15.  print('jestes zalogowanyn <a href="kontakt.php">kontakt</a>');}
  16. else{
  17. print(' strefa prywatna');
  18. }
  19. ?>

admin/pw.php
  1. <?php
  2. if(!empty($_SESSION['login']))
  3. {
  4. // jakis kod ktory bedzie widoczny po zalogowaniu
  5.  
  6. }
  7. else
  8. {
  9.  print 'Nie jestes zalogowany!';
  10. }
  11. ?>
czy ktos mzoe mi raz a konkretnie pomoc bo mecze sie z sesjami juz 3 dzien i jakos sad.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post 1.06.2006, 10:31:34
Post #2





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




w kazdym skrypcie, co jest odpalany oddzielnie, musi byc na poczatku session_start();


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

"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
dzesi
post 1.06.2006, 10:50:56
Post #3





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 3.05.2006

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


jednak niedziała czy bys mogl mi pokazac na prostym przykładzie o co chodzi:)
Go to the top of the page
+Quote Post
nospor
post 1.06.2006, 11:04:05
Post #4





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




byc moze musisz jeszcze przed session_start() dac ob_start().

pozatym w manualu
http://pl.php.net/manual/pl/function.session-start.php
masz przyklad sesji. uruchom najpierw go, sprawdź czy ci dziala i potem bierz sie za swoje. No i pamietaj o ob_start


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

"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
misiek172
post 1.06.2006, 12:24:03
Post #5





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

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


też miałem taki problem... to proste poprostu musisz przestawić zabezpieczenia cookie na małe lub w każdym linku dorobić zmienną np: PHPSESSID=session_id(); i potem na kazdej stronie:

  1. <?php
  2. if($PHPSESSID!=''){
  3. session_id($PHPSESSID);
  4. }
  5. ?>


Ten post edytował misiek172 1.06.2006, 12:24:27


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
dzesi
post 1.06.2006, 12:46:30
Post #6





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 3.05.2006

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


no i co czytalem juz wczesniej i nic nadal mam problem bo
  1. <?
  2.  
  3. if($_SESSION['login'] && $_SESSION['haslo'])
  4. {
  5. //tu bedzie cos
  6. )
  7. else{
  8. /// tu bedzie cos jak zle wpiszesz haslo albo login:D
  9. }?>


czy jak to mam zrobic bo juz niewiem patrze juz na manual 2dwa dni i k.... nic nieidzie angrysmiley.gif :roll2: czy moze ktos z was juz zawansowanych uztkownikow pokazac o co biega z tymi sesjami bo do jdnego pliku dzilaja ale do kilku mp dp panelu amdina juz nie:(

misiek172 zabardzo to mi niepomogles chodzi o to ze cookie mnie nieprzekonuja wole na samych sesjach:) czy bys mogl ,o opisac sprawe jak to mniej wiecej wyglada lub jak dziala?
Go to the top of the page
+Quote Post
Wujek01
post 1.06.2006, 22:47:32
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.06.2006

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


Witam
Mam nadzieje że poniższe skrypty będą pomocne.
Cała weryfikacja składa się z 3 plików:

logowanie.php - plik który sprawdza czy użytkownik jest zalogowany
formularz.php - formularz
weryfikacja.php - funkcja sprawdzająca czy dane podane w formularzu sa prawidłowe.

logowanie.php
  1. <?php
  2. require_once 'weryfikacja.php';
  3. if (!czyZalogowany()) {
  4. include 'formularz.php';
  5. }
  6. ?>

weryfikacja.php
  1. <?php
  2. function czyZalogowany()
  3. {
  4. return isset($_SESSION['authorized']);
  5. }
  6. define('LOGIN', 'uzytkownik');
  7. define('HASLO', 'haslo');
  8. //Obsluga procesu logowania
  9. if (isset($_POST['login'])) {
  10. if ($_POST['login'] == LOGIN and
  11. $_POST['haslo'] == HASLO) {
  12.  $_SESSION['authorized'] = TRUE;
  13. }  
  14. }
  15. // obsluga procesu wylogowania
  16. if (isset($_REQUEST['logout'])) {
  17. unset($_SESSION['authorized']);
  18. }
  19. ?>

formularz.php
  1. <body>
  2. <h1>Prosze sie zalogowac</h1>
  3. <div>
  4. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  5. <p>Login:</p>
  6. <input type="text" name="login" /><br />
  7. <p>Haslo:</p>
  8. <input type="password" name="haslo" /><br />
  9. <input type="submit" value="Zaloguj" />
  10. </form>
  11. </div>
  12. </body>

Aby zabezpieczyć dowolną strone wystarczy dodać na jej początku linijke:
  1. <?php require 'logowanie.php'; ?>

Na zabezpieczonej stronie wypadało by też dodać łącze "Wyloguj":
  1. <p><a href="<?php echo $_SERVER['PHP_SELF']; ?>?logout=1">Wyloguj</a></p>

Login oraz hasło są zdefiniowane jako stałe, nie jest to najlepsze rozwiązanie ale jako przykład powinno wystarczyć. Oczywiście login to "uzytkownik" a hasło to "haslo"
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: 19.07.2025 - 02:20