Autor Zpráva
Step
Profil
Mám takovej zvláštní problém se $_SESSION, když po vypsání proměnný použiju unset, tak jako kdyby mi to smazal zpětně.

Tenhle samotný kód funguje bez problému
                
$helper = $_SESSION["notice"]; // samozřejmě můžu použít $_SESSION["notice"] rovnou, ale už mi docházeli nápady
if(is_array($helper)){
  foreach($helper AS $key =>$notice){
    echo "<b>$notice</b><br>"; // vypíše obsah pokud nepoužiju unset(...)
    }
   }


Ale když přidám
unset($_SESSION["notice"]) //ze zoufalosti jsem zkoušel i ...="";, ...=array();

Tak najdenou je $_SESSION["notice"] tam nahoře prázdná.
Jenom pro upřesnění, session_start(); je zavolaný a kód se neprovádí vícekrát.
Joker
Profil
Step:
Není to náhodou tak, že se na jedné stránce zavolá to unset, načte se další stránka a tam to (překvapivě) už není?
Případně to může být nějaká mezi-stránka s přesměrováním.
Step
Profil
Joker:
kdepak, to unset je prostě hned pod tim, tak jak je to v ukázce
nightfish
Profil
Step:
co vypíše následující kus kódu?
<?php
session_start();
$_SESSION['notice'] = array('k' => 'test');
                
if (is_array($_SESSION['notice'])) {
  foreach ($_SESSION['notice'] AS $key =>$notice) {
    echo "<b>$notice</b><br>";
  }
}
unset($_SESSION["notice"]);
Step
Profil
nightfish:
tohle funguje v pohodě, takže bude chyba bude někde jinde:-) Díky za ochotu
Joker
Profil
Step:
kdepak, to unset je prostě hned pod tim, tak jak je to v ukázce
Čili je jediná stránka, na které se ta hodnota nastaví, pak přečte a potom zase zruší?
Na co potom session, to by stačila normální proměnná.
Step
Profil
Joker:
Ta proměná se mi nastaví po updatu/insertu do databáze, potom se přesměruje, tam se po vypsání hlavičky vypíše a pak se zruší...
Asi sem tvuj předchozí dotaz špatně pochopil.
Joker
Profil
Step:
No jasně. To co jsem říkal je, že se nejspíš zruší už během toho přesměrování (buď už na té odchozí stránce, nebo při přesměrování přes nějakou mezi-stránku)
Step
Profil
Joker:
Jj je to tak...jenom to někde najít:-)

Po přesměrování to ještě existuje, když sem tam dal:
if(isset($_SESSION["notice"]))
 die("tak tady sem zkončil". var_dump($_SESSION["notice"]));


tak mi to i po přesměrování vypsal, teď jenom zjistit kdy se to teda smaže:-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: