Hey daar ben ik terug!

Om de keuzes te onthouden van de gebruiker heb ik een Global.php file gemaakt met session variables.
1. Session variables declared
2. Session variables nieuwe waarden geven van de URL

Jammer genoeg heb ik tijdens het debuggen gezien dat de session variables niet overschreven worden.

1.In volgend voorbeeld geef ik aan de hand van een hyperlink een parameter aan
2. de global.php pakt de url parameter en zou hem normaal gezien-
3. aan de session variable geven, maar dit doet hij niet

<a href="Mediator/index.php?mediaCat=Video">Video</a>

Global laad op elke pagina:

<?php

// Get hand of a Global Connection
require_once('Connections/conn.php');

if (!isset($_SESSION)) {
session_start();
}

//--------------------------------------------- if they don't exist, declare the cats -------------------------------------------- //

// Miauw select the state: music, images, ...
if (!isset($_SESSION['mediaCat'])) {
$_SESSION['mediaCat'] = 'default';
}
// Miauw select the page
if (!isset($_SESSION['mediaTargetCat'])) {
$_SESSION['mediaTargetCat'] = 'default';
}
//Miauw select the script to run
if (!isset($_SESSION['mediaScriptCat'])) {
$_SESSION['mediaScriptCat'] = 'default';
}


//Miauw pager display Cat
if (!isset($_SESSION['pagerDisplayCat'])) {
$_SESSION['pagerDisplayCat'] = 'default';
}
//Miauw pager target Cat
if (!isset($_SESSION['pagerTargetCat'])) {
$_SESSION['pagerTargetCat'] = 'default';
}

//Miauw pager target Cat
if (!isset($_SESSION['projectorCat'])) {
$_SESSION['projectorCat'] = 'default';
}
//Miauw pager target Cat
if (!isset($_SESSION['projectorRecordCat'])) {
$_SESSION['projectorRecordCat'] = 'default';
}
//Miauw pager target Cat
if (!isset($_SESSION['projectorDisplayCat'])) {
$_SESSION['projectorDisplayCat'] = 'default';
}


//Miauw Tunnel cat tells other cats what to do, inter app communication
if (!isset($_SESSION['tunnelCat'])) {
$_SESSION['tunnelCat'] = 'tunnelCat';
}


//--------------------------------------------- URL variables tell cats what to do -------------------------------------------- //

if(isset($_GET['mediaCat']))
{
unset($_SESSION['mediaCat']);
$_SESSION['mediaCat'] = $_GET['mediaCat'];
}
if(isset($_GET['mediaTargetCat']))
{
unset($_SESSION['mediaTargetCat']);
$_SESSION['mediaTargetCat'] = $_GET['mediaTargetCat'];
}
if(isset($_GET['mediaScriptCat']))
{
unset($_SESSION['mediaScriptCat']);
$_SESSION['mediaScriptCat'] = $_GET['mediaScriptCat'];
}


if(isset($_GET['pagerDisplayCat']))
{
$_SESSION['pagerDisplayCat'] = $_GET['pagerDisplayCat'];
}
if(isset($_GET['pagerTargetCat']))
{
$_SESSION['pagerTargetCat'] = $_GET['pagerTargetCat'];
}

if(isset($_GET['projectorCat']))
{
$_SESSION['projectorCat'] = $_GET['projectorCat'];
}
if(isset($_GET['projectorRecordCat']))
{
$_SESSION['projectorRecordCat'] = $_GET['projectorRecordCat'];
}
if(isset($_GET['projectorDisplayCat']))
{
$_SESSION['projectorDisplayCat'] = $_GET['projectorDisplayCat'];
}

?>
De regels met unset() zijn overbodig want de waarde wordt op de volgende regel overschreven.
Zet eens tussendoor een print_r($_SESSION) neer en kijk wat er in zit.
Hey, ik doe altijd een echo naar de default pagina van elke module, de session variabels blijven dezelfde waarden bevatten ... Audio zoals initieel ingesteld
Wat geeft dit, als je dit plaatst op regel 95?

<?php
echo '<pre>'.print_r($_GET, true).print_r($_SESSION, true).'</pre>';
?>

Reageren