complexe php vraag

Status
Niet open voor verdere reacties.

DJ14

Gebruiker
Lid geworden
4 feb 2010
Berichten
179
Hallo,

Voor mijn website heb ik verschillende subdomeinen. Nou wil ik dat er op deze subdomeinen telkens een ander logo wordt weergegeven. Dit is wat ik hiervoor probeer: ik vraag eerst de 'base' url op, vervolgens check ik of deze base url gelijk is aan een variabele waar de gewenste url in zit, en vervolgens moet er gelinkt worden naar een extra css stylesheet waar dit logo voor het specifieke subdomein in zit beschreven. Ik gebruik hiervoor onderstaande code, maar het werkt niet. Weet iemand wat ik fout doe (ik ben geen php expert, na zoeken op internet kwam ik tot onderstaande code)?
PHP:
<?php
function GetMainBaseFromURL($url)
{
$chars = preg_split('//', $url, -1, PREG_SPLIT_NO_EMPTY);

$slash = 3; // 3rd slash

$i = 0;

foreach($chars as $key => $char)
{
	if($char == '/')
	{
	   $j = $i++;
	}

	if($i == 3)
	{
	   $pos = $key; break;
	}
}

$main_base = substr($url, 0, $pos);

return $main_base.'/';
}

$url = $_SERVER['REQUEST_URI'];

$main_base = GetMainBaseFromURL($url);
?>

<?php
$url = "http://subdomein.hoofddomein";
if($main_base==$url) {
echo 
'<link rel="stylesheet" type="text/css"
 media="screen" href="../map_op_server/specifiekstylesheet_voor_huidig_subdomein.css">';
}
?>
 
PHP:
<?php
function GetMainBaseFromURL($url){
    $chars = preg_split('//', $url, -1, PREG_SPLIT_NO_EMPTY);
    $slash = 3; // 3rd slash
    $i = 0;
    foreach($chars as $key => $char){
        if($char == '/'){
           $j = $i++;
        }     
        if($i == 3){
           $pos = $key; break;
        }
    }
    $main_base = substr($url, 0, $pos);
    return $main_base.'/';
}
$url = $_SERVER['REQUEST_URI'];
$main_base = GetMainBaseFromURL($url);

$url = "http://subdomein.hoofddomein";
if($main_base==$url) {
    echo '<link rel="stylesheet" type="text/css"  href="'.$url.'/map_op_server/specifiekstylesheet_voor_huidig_subdomein.css">';
}
?>
 
bedankt, maar helaas werkt het nog niet. bovendien zie ik nu dat het php script helemaal niet klopt, want eerst wordt de base url gevraagd, vergeleken met huidige url en alleen als huidige url exact hetzelfde is wordt doorverwezen naar stylesheet. Terwijl ik juist ook wil dat als er iets achter de base url staat, dat je dan ook het logo van alleen de base url krijgt. Ik heb nu geen idee meer hoe dit te realiseren is, misschien heb ik Javascript nodig? Is er geen andere manier of een beter script om het te realiseren?
 
heb je ook deze bekeken

$_SERVER["HTTP_HOST"]
$_SERVER["SERVER_NAME"]
 
ik gebruik nu onderstaande code, welke voor de sluitende head tag wordt geplaatst (</head>), dus nog wel in de head. is dit misschien verkeerd (moet de code ergens anders) of zit er toch nog een fout in de php code? of moet het misschien opgesplitst een deel wel tussen de <head> tags of niet? of is het misschien zo dat variabelen op een ander moment moeten gedefinieerd of is dit misschien wel helemaal niet te realiseren met php maar met javascript ofzo? alvast bedankt.

PHP:
<?php
$url = $_SERVER['REQUEST_URI'];
$main_base = GetMainBaseFromURL($url);
function GetMainBaseFromURL($url){
    $chars = preg_split('//', $url, -1, PREG_SPLIT_NO_EMPTY);
    $slash = 3; // 3rd slash
    $i = 0;
    foreach($chars as $key => $char){
        if($char == '/'){
           $j = $i++;
        }     
        if($i == 3){
           $pos = $key; break;
        }
    }
    $main_base = substr($url, 0, $pos);
    return $main_base.'/';
}
 
$urlc = 'http://hoofddomein.nl';
$urlb = 'http://subdomein.hoofddomein.nl';
if($main_base==$urlb) {
    echo '<link rel="stylesheet" type="text/css"  href="'.$urlc.'/map/map/map/stylesheet.css">';
}
?>
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan