Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodaj komentarz, oceń produkt tylko dla zalogowanych
Forum PHP.pl > Forum > PHP
artur_dziocha
Witam, do tej pory nie mialem problemów z php lub je szybko rozwiązywałem z pomocą forum. Buduje swoją stronę i napotkałem sie z takim problemem. Chcę zrobic cos takiego zeby komentarze lub ocena produktu była dostępna tylko dla zalogowanych ludzików. Czyli miałoby to wyglądać w ten sposób. Ludzik klika na link "Dodaj komentarz" lub "Oceń produkt". Jeśli zalogowany przekierowuje na podstrone typu ocena lub komentarz. Jesli nie zalogowany przekierowuje na podstronke logowania lub rejestracji a po zalogowaniu na podstronke ocen lub komentarza(czyli zapamietanie sesji dodaj komentarz lub oceń czy cóś takiego). Nie wiem czy mógłbym to zrobic za pomocą sesji lub istnieje cos innego co mógłbym użyc. Pozdrawiam
netmare
Tak, sesje są idealne.
W uproszczeniu:
1. KAŻDY plik zaczynasz od <?php session_start();?>
2. Plik logowania po spradzeniu że podany został odpowiedni login/hasło robi $_SESSION['zalogowany']=1;
3. W plikach z funkcjami tylko dla zalogowanych sprawdzasz czy $_SESSION['zalogowany']==1 jeśli tak to pozwalasz na wykonanie sktyptu, jeśli nie to wyświetlasz komunikat że dostępne tylko po zalogowaniu.
4. Strona wylogowania wykonuje $_SESSION=0 albo unset($_SESSION['zalogowany']);
artur_dziocha
Dzieki za szybką odpowiedz, logowanie i rejetracje mam juz zrobione w podobny sposob. Chodzi o to czy mozna zrobic cos takiego jak przesylanie za pomocą sesji wiadomosci ze jakis ludzik chce dodac komenta lub ocenic. Jesli ludzik nie jest zalogowany przerzuca go na stronke logowania. Po logowaniu przerzuca go na stronke dodawania komentarza(i tutaj problem). nie wiem czy za pomocą headers(location) podczas logowania. Czyli przy logowaniu pobieranie:
if( session[add_comment] ) {
przekieruj na stronke dodawania komentarzy}
elseif (session[rate_product) {
przekieruj na tronke oceny}
else (tylko logowanie) {
przekieruj na tronke profil uzytkownika}
maniekl2
mozesz załatwic to za pomocą headerów :
  1. <?php
  2. if(isSET($_SESSION['zalogowany'])) {
  3. // kod dodawania komenta
  4. } else {
  5. header(&#092;"Location: zaloguj.php\");
  6. }
  7. ?>


I dodatkowo dodać sesje :
  1. <?php
  2. $_SESSION['strona'] = komentarz.php;
  3. ?>

A jak sie zaloguje to
  1. <?php
  2. header("Location: ".$_SESSION['strona']."");
  3. ?>

Pisałem z głowy więc może byc cos źle biggrin.gif
artur_dziocha
Dzieki wielkie:)
Dziala. Zrobiłem tak:
1. Po kliknieciu na link tworzę sesje
  1. <?php
  2. $_SESSION['add_comment'] = 1;
  3. ?>

2. Nastepnie sprawdzam czy instenieje sesja
  1. <?php
  2. $_SESSION['zalogowany']!=1
  3. ?>
(nie zalogowany), inicjuje tez sesje id_produktu, za pomoca header przesylam do strony rejestacji/logowania
3. Podczas logowania sprawdzam czy istnieje sesja add_comment i przekierowuje na strone dodawania komentarzy, Po kliknieciu przycisku likwiduje sesje
  1. <?php
  2. unset($_SESSION['add_comment']);
  3. ?>

Moze sie przyda komus:)
Pozdrawiam
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.