Autor Zpráva
Doby92
Profil *
Dobrý den,

zkouším zapsat $_SESSION tak, aby server pochopil to, že neexistuje, ale bohužel bez úspěchu. Zde přikládám kód, který řekne víc a ten níže popíši co konkrétně požaduji.

    // zamezení přímému přístupu
    defined('IN_PAGE') or die(header("Location: /"));
    
    // engine stránek
    function engine(){
    $uri = empty($_GET['page']) ? array() : explode('/', trim($_GET['page'], ' /'));
    
         if (empty($uri)) {
             if($_SESSION['check_sign']!=0){
                $file = './sites/home.php';
             } else{
                $file = './sites/login.php';
             }
         } else {
             
             $file = './sites/'. $uri[0]. '.php';
         }
 
         if (file_exists($file)){ 
             include $file;       
         } else {
             include './sites/errors/404.php';
         }
    
    }  
    

tento kód načítá soubory podle URL

Chci docílit toho, že když uživatel je nepřihlášený a vstoupí na hlavní stránku (později chci rozšířit pro více stránek), tak aby se naincludoval soubor login.php. Toto se mi dokonce povedlo, ale hází mi to chybu, že nemám definovaný check_sign viz. níže celá chybová hláška.

Notice: Undefined index: check_sign in C:\xampp\htdocs\scorele\include\engine.php on line 11
jenikkozak
Profil
Ověř si existenci toho prvku pomocí funkce isset().
Doby92
Profil *
Dodávám jen to, že to pracuje stejně jako facebook, tím je myšleno, že vás taky nepustí např. do zpráv (https://www.facebook.com/message) nýbrž vás to přehodí na login.


Snad jsem to dobře pochopil, pro jistotu přikládám kód čím jsem to ověřoval.

if(isset($_SESSION['check_sign'])){
      echo 'existuje';
    }else {
      echo 'neexistuje';
    }  

Výsledek je, že neexistuje.


Já jsem snad už opravdu bez mozku. Díky moc už jsem to pochopil.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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