Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sesje
Forum PHP.pl > Forum > PHP
dzesi
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
nospor
w kazdym skrypcie, co jest odpalany oddzielnie, musi byc na poczatku session_start();
dzesi
jednak niedziała czy bys mogl mi pokazac na prostym przykładzie o co chodzi:)
nospor
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
misiek172
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. ?>
dzesi
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?
Wujek01
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"
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.