Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zniszczenie zmiennej sesyjnej
marcinp1984
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 17.05.2009

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


No dobra może napisze nowy temat bo tamten poprzedni który tyczył się troszkę czegoś innego już chyba nikt nie czyta więc nikt ni zobaczy co do niego dopisałem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
A więc tak:

mam plik haslo.php


  1. <?php
  2. $_SESSION[id]=$id;
  3.  
  4.       if($_GET[page]=='0')    
  5.          {
  6.          header("Location: ../index.php");
  7.          }
  8.       else  
  9.          if($_GET[page]=='1')    
  10.             {
  11.             header("Location: forum.php");
  12.             }
  13.          else
  14.             if($_GET[page]=='2')    
  15.                {
  16.                header("Location: forum2.php?id_tematu=$_GET[id_tematu]");
  17.                }
  18.             else
  19.                {
  20.                if($_GET[page]=='3')    
  21.                    {        
  22.                    header("Location: tematyuzytkownikow.php?id_tematu=$_GET[id_tematu]&id_tematu_pom=$_GET[id_tematu_pom]");    
  23.                    }
  24.                else
  25.                    {
  26.                    if($_GET[page]=='4')    
  27.                       {        
  28.                       header("Location: wpisy.php?id_tematu=$_GET[id_tematu]&id_tematu_pom=$_GET[id_tematu_pom]&id_tematu_pom2=$_GET[id_tematu_pom2]");    
  29.                       }                
  30.                    }    
  31.                 }    
  32.           }
  33. ?>


poprzez którą loguje się na różne podstronki i zapamiętuje w sesji $_SESSION[id]=$id;

na każdej stronce gdzie korzystam ze zmiennej sesyjnej oczywiście mam umieszczone session_start();

no i teraz chce się z niej wylogować i jakoś zniszczyć tą zmienną sesyją co mi w ogóle nie wychodzi :/

np mam takie coś <a href='forum/wyloguj.php?page=0' class='wyloguj'> (wyloguj)</a>


i plik wyloguj.php



  1. <?php
  2.  
  3. destroy_session();
  4. UNSET($_SESSION[id]);
  5.  
  6.       if($_GET[page]=='0')    
  7.          {
  8.          header("Location: ../index.php");
  9.          }
  10.       else
  11.          {  
  12.          if($_GET[page]=='1')    
  13.             {
  14.             header("Location: forum.php");
  15.             }
  16.          else
  17.             if($_GET[page]=='2')    
  18.                {
  19.                header("Location: forum2.php?id_tematu=$_GET[id_tematu]");
  20.                }
  21.             else
  22.                {
  23.                if($_GET[page]=='3')    
  24.                    {        
  25.                    header("Location: tematyuzytkownikow.php?id_tematu=$_GET[id_tematu]&id_tematu_pom=$_GET[id_tematu_pom]");    
  26.                    }
  27.                else
  28.                    {
  29.                    if($_GET[page]=='4')    
  30.                       {      
  31.                       header("Location: wpisy.php?id_tematu=$_GET[id_tematu]&id_tematu_pom=$_GET[id_tematu_pom]&id_tematu_pom2=$_GET[id_tematu_pom2]");    
  32.                       }                
  33.                    }    
  34.                 }    
  35.            }    
  36. pg_close($dbconn);
  37. ?>



tak to się niszczy?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Bo ja nie mogę sobie z tym poradzić (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Ciągle jest ta zmienna id i ni mogę się wylogować (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ptq
post
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 25.08.2009

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


Wiesz, napisane jest dobrze, pełna kontrola, ale za mało warunków zagnieżdżonych (IMG:style_emoticons/default/smile.gif)

Ja miałem tak:
  1. if (isset($a) && $a==1) {
  2. echo "wykonano zadanie.";
  3. }


A powinno być tak:
  1. if (isset($a)) {
  2. if ($a==1) {
  3. echo "wykonano zadanie";
  4. }
  5. }


Oczywiście już wszystko w aktualnym projekcie zmieniłem (IMG:style_emoticons/default/smile.gif)
Lecz musiałem troszkę nakombinować bo miałem kilka innych problemów.

No i na php 5.3 już mi samo nie niszczy sesji omijając warunek (IMG:style_emoticons/default/smile.gif)

Opiszę nowy problem (IMG:style_emoticons/default/smile.gif)

W pliku core.php mam petlę wyszukującą plik ustawienia.php i ustalający aktualne położenie:
  1. $folder_level = "";
  2. $i = 0;
  3. while (!file_exists($folder_level.'ustawienia.php')) {
  4. $folder_level .= "../"; $i++;
  5. if ($i == 5) {
  6. header('Location: setup.php');
  7. die();
  8. }
  9. }


Wcześniej jak dałem require('../core.php') w pliku znajdującym się o jeden katalog głębiej od core.php to ta pętla ustawiała $folder_level="../"; czyli uruchamiając plik public_html/admin/index.php, dołączał plik public_html/core.php i ustalał że public_html/ustawienia.php znajduje się o katalog wcześniej od public_html/admin/index.php i wszystko było cacy.

A teraz niezależnie od tego jak głęboko by się nie chował w katalogach plik dołączający core.php, i tak pokaże że $folder_level=""; :/

Byłem zmuszony brakiem idei cały katalog admina przenieść do głównego katalogu i "pozmieniac to i owo" aby trybiło (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 06:57