Afbeelding per pagina werkt niet!!??

Status
Niet open voor verdere reacties.

hfoppen

Terugkerende gebruiker
Lid geworden
15 nov 2000
Berichten
1.058
Hoi allemaal,

ik probeer een pagina te maken, waarbij ik per pagina een andere afbeelding wil laden. Ik krijg dit niet echt voor elkaar. Wie o wie ziet het probleem.
Bovenste 2 regels php staan boven <html><head> etc...wijst voor zich

PHP:
<?php
	// toegestane pagina's in een array zetten
	$toegestaan=array("home","historie","accountancy","assurantien","bankzaken","contact","resultaat");?>

<body>
	<div id="container">
    	
    	<div id="leftleft">
        	<div id="lefthead">
        	</div>
    	</div>
    	<div id="left" style="width:270px;height:568px;background-color:#FFFFFF;float:left;<?php
			if(!isset($_GET['pagina']) || !in_array($_GET['pagina'], $toegestaan)){
					echo 'background-image:url(images/lefthome.jpg);';
						}
					else if(isset($_GET['pagina']) == 'historie')
						{
							echo 'background-image:url(images/lefthistorie.jpg);';
						}
					else if(isset($_GET['pagina']) == 'accountancy')
						{
							echo 'background-image:url(images/leftaccountancy.jpg);';
						}
					else if(isset($_GET['pagina']) == 'assurantien')
						{
							echo 'background-image:url(images/leftassurantien.jpg);';
						}
					else if(isset($_GET['pagina']) == 'bankzaken')
						{
							echo 'background-image:url(images/leftbankzaken.jpg);';
						}
					else if(isset($_GET['pagina']) == 'contact')
						{
							echo 'background-image:url(images/leftcontact.jpg);';
						}
				?>">
        </div>
        <div id="header">
        
        	<div id="righthead">
            </div>
            <div id="menu style=" float:left;">
				<a href="index.php">Home</a> | 
				<a href="index.php?pagina=historie">Historie</a> | 
				<a href="index.php?pagina=accountancy">Accountancy</a> | 
				<a href="index.php?pagina=assurantien">Assurantien</a> |
				<a href="index.php?pagina=bankzaken">Bankzaken</a> | 				 
				<a href="index.php?pagina=contact">Contact/Route</a>
			</div>
        </div>
        <div id="right">
        </div>
        <div id="content">
        	<div id="contentcontainer">
        	<div id="contentinhoud">
        	<?php
				// controleren of er een pagina is meegegeven)
				if (isset($_GET['pagina'])){
				
				// de binnengehaalde variabele omzetten naar kleine letters
				$pagina=strtolower($_GET['pagina']);
				}
				// controleren of de pagina voorkomt in de array
				if (in_array($pagina, $toegestaan)){
				
				// wanneer die toegestaan is includen
					include($pagina.".php");
					}
				
				else{
					// wanneer die niet toegestaan is standaard pagina includen.
					include("home.php");
					}
			?>
        	</div>
            </div>
        </div>
        <div id="downcontainer">
            <div id="footer">
                <div id="contentfooter">
                    <div id="rightdowncontent">
        			</div>
                </div>
            </div>
            <div id="bottom">
                <div id="footerbg">
                
                </div>
                <div id="rightdownfooter">
        		</div>
       		 </div>
        
        </div>
	</div>
</body>
</html>
 
Laatst bewerkt:
isset geeft een boolean terug (true of false) jij vergelijkt dat dus steeds met een string.

Wat je bvb kan doen:
PHP:
<?php
//kijken of er een pagina is meegegeven
$pagina = "home";
if (isset($_GET['pagina'])) {
    //er werd een pagina meegegeven -> in variabele steken
    $pagina = strtolower($_GET['pagina']);
    //controleren op waardes
    switch($pagina) {
        case "historie":
        case "accountancy":
        case "assurantien":
        case "bankzaken":
        case "contact":
        case "resultaat":
                break;
        default: $pagina = "home";
    }
}
echo 'background-image:url(images/left' . $pagina . '.jpg);';
?>
<!-- hoopje html //-->
<?php
//includes van de pagina's
include($pagina . ".php");
?>

Wanneer je nu meerdere pagina's maakt kan je deze aan de cases van het switchstatement toevoegen. of je kan nog steeds de in_array-methode gebruiken (mijn euro valt nu pas :D)

--Johan
 
opgelost

Ik heb het opgelost hoor, heb het gedaan met een array:

PHP:
$test = array('historie' => 'images/lefthistorie.jpg', 'accountancy' => 'images/leftaccountancy.jpg');

			if (!empty($_GET['pagina']) && in_array($_GET['pagina'], $toegestaan)) {
			     printf('background-image:url(%s)',  $test[$_GET['pagina']]);
			} else {
				 echo 'background-image:url(images/lefthome.jpg);';
			}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan