hopelijk is er iemand die mij op weg kan zetten om mijn probleem te vinden.
dit is de situatie:
ik heb dus een CMSMS website waar in bepaalde templates via een include van een php file in eerste instantie bepaalde dingen worden gecheckt (vb. de naam van de pagina)
boven in de template staat een UDT die gebruikt wordt om een sessie te starten en om ook om de url te ontleden, zodoende men weet in welke pagina men momenteel zit. (wellicht zijn er andere mogelijkheden om dit te doen, maar dit is een oude CMSMS website dit in een nieuw jasje moet en de oude include files moeten dus verder worden gebruikt)
dit is de UDT {get_url_data} die nu bovenaan in de template wordt opgeroepen:
Code: Select all
$gCms = cmsms();
session_start();
error_reporting(E_ALL);
$card_id = $_SESSION['card_id'] ;
$url = $_SERVER['REQUEST_URI'];
list($page, $lang, $subpagina) = explode("/", $url);
$smarty = &$gCms->GetSmarty();
$smarty->assign('lang', $lang);
$smarty->assign('subpagina', $subpagina);
$smarty->assign('card_id2', '$card_id');
include 'consument/lang/'.$lang.'.php';
Als ik dan in de content van de pagina de url variabelen vb. de $lang of $subpagina oproep via {$lang} of {$subpagina}, dan krijg ik netjes te zien dat de $lang = nl en dat de $subpagina = client.
vervolgens wordt een include php aan geroepen via een UDT:
de include files bevinden zich in de map consument.
deze include file checkt in eerste instantie 2 dingen, of er een $card_id is en of de $subpagina verschillend is van 'client'.
deze include zie er zo uit:
Code: Select all
<?
if ( (!$card_id) && ($subpagina <> "client") ) { echo "$lang_nietingelogd<br><br><a href=\"javascript:history.go(-1)\"><< $lang_terug</a>" ; } else {
if (($_SESSION['user_level'] == "2") && ($subpagina <> "client") ) { } else {
if ( ((!$card_id) && ($subpagina == "client")) || ($_SESSION['user_level'] <> "1") ) {
include ('consument/loginform.php');
} else { if ($subpagina == "client") {
$card_id = $_SESSION['card_id'] ;
include 'consument/db.php';
$result = mysql_query("select * from dbo_b_fidcard where card_id = '$card_id'");
$row = mysql_fetch_assoc($result);
echo "<br><br>
$lang_welcome $row[first_name] $row[last_name], <br><br>
<p align=\"center\"><strong>$lang_pointsbox_1</strong></p>
<br>
<br>
<p align=\"center\"><a href=\"index.php/$lang/your_pass\"><img src=\"../2009/uploads/images/afbeelding.png\" width=\"150\" height=\"24\" /></a>
</p>
" ; } } } }
?>
Maar daar stopt het al, wellicht worden die variabelen niet meegegeven naar de included file (of is er iets anders die ik over het hoofd zie), want ik krijg enkel de
<< op het scherm uit de eerste 'echo'.
Wellicht zie ik iets over het hoofd ? Om alsnog deze variabelen uit de eerste UDT ook in de included files te laten werken.
Het is wel zo dat in de oude site de eerste UDT met
$smarty = new Smarty;
werd gewerkt en niet met
$gCms = cmsms();
$smarty = &$gCms->GetSmarty();
maar ook via
$smarty = new Smarty;
werkt het niet
Moeten die include files wel worden aangeroepen via een UDT ?
Hoe kan ik die $lang en $subpagina wel doorgeven aan de include file ?
heeft er iemand een idee waarom ik dit niet werkend krijg, iemand een tip, of zelfs een oplossing ?
Ik zit wat met de handen in het haar ...
Alvast bedankt.
Mvg,
Peter