Hallo,
Het is de bedoeling dat mijn script het volgende doet:
Je hebt een dropdown menu met kleuren, bijv rood, blauw en groen, en als hij groen selecteerd dat de achtergrond groen wordt en bij rood, rood.

Nou kom ik er echter niet uit. Dit is mijn code:

<HTML>
    

<Header> achtergrond </header>
<form  action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<select name ="kleur">
<option value="Red">Rood</option>
<option=value="Green">Groen</option>
<option value="Blue">blauw</option>
<input type="submit" value="Selecteren">
</select>
</body>
</HTML>
<?$gekozenkleur = $_POST['kleur'] ?>  
<?php $bg = "<body bgcolor='<?php $gekozenkleur ?>'>" ?>
<?php
function veranderkleur()
{
    
    if( $_POST['kleur'] == 'blauw')
{           echo $bg;
}
    elseif($_POST["kleur"] == "roord")
{        echo $bg;  
}
    elseif($_POST["kleur"] == "blauw")
{       echo $bg;  
}
else{echo $bg;}

}
?>
Peter, ik denk dat je een stap terug moet en eerst de basis van html moet gaan leren. De opbouw van je pagina raakt helaas kant nog wal. Begin dus eerst met de basis hoe je een html pagina opbouwt.

Peter Stevens op 04/02/2011 09:10:56

Hallo,
Het is de bedoeling dat mijn script het volgende doet:
Je hebt een dropdown menu met kleuren, bijv rood, blauw en groen, en als hij groen selecteerd dat de achtergrond groen wordt en bij rood, rood.

Nou kom ik er echter niet uit. Dit is mijn code:

<HTML>
    

<Header> achtergrond </header>
<form  action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<select name ="kleur">
<option value="Red">Rood</option>
<option=value="Green">Groen</option>
<option value="Blue">blauw</option>
<input type="submit" value="Selecteren">
</select>
</body>
</HTML>
<?$gekozenkleur = $_POST['kleur'] ?>  
<?php $bg = "<body bgcolor='<?php $gekozenkleur ?>'>" ?>
<?php
function veranderkleur()
{
    
    if( $_POST['kleur'] == 'blauw')
{           echo $bg;
}
    elseif($_POST["kleur"] == "roord")
{        echo $bg;  
}
    elseif($_POST["kleur"] == "blauw")
{       echo $bg;  
}
else{echo $bg;}

}
?>



Heb je jouw HTML-code wel eens gechecked?
Er klopt werkelijk geen biet van....
Njah, dit is meer een opdracht, dus ik verwaarloos de HTML, even, alleen het relevante.
Het gaat er hier niet om mijn html, maar meer om mijn php, ik vroeg me dus af wat een logische mannier was om de eigenschappen van een HTML pagina to veranderen, in dit geval de kleur, doormiddel van php.
Nogmaals, als je html opbouw niet klopt kun je de rest voorlopig vergeten. Google gewoon even op hoe je een html pagina opbouwt. Je gaat ook geen flat bouwen en de fundering pas op het eind leggen.
Nou wat je eerst moet doen is bovenaan beginnen met je php. Daaronder volgt een NETTE html, waarin je een css file drupt. Of liever gezegd een php file met css headers. Vervolgens kan je door de php die boven je html staat in je css file de achtergrond kleur veranderen.
Misschien helpt dit je een beetje op weg.
[code]
<?php
$bgcolor = "black"; // enkel een klein beginnetje
?>
<html>
<head>
<title>BG Color</title>
</head>
<body bgcolor="<?php echo $bgcolor; ?>">
</body>
</html>
PHP altijd bovenaan zetten.
HTML onderaan.

Zo kan het bijvoorbeeld

<?php
$kleur = "#ffffff";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  switch ($_POST['kleur']) {
	case 'Red': $kleur = "#ff0000"; break;
	case 'Green': $kleur = "#00ff00"; break;
	case 'Blue': $kleur = "#0000ff"; break;
  }
}
?>
<html>
  <header> 
    <title>achtergrond</title>
	<style>
      html, body {
	    background-color: <?php echo $kleur; ?>;
	  }
	</style>
  </header>
  <body>
    <form  action="" method="post">
      <select name ="kleur">
        <option value="Red">Rood</option>
        <option value="Green">Groen</option>
        <option value="Blue">blauw</option>
        <input type="submit" value="Selecteren">
      </select>
	</form>
  </body>
</html>
Dankje voor je reactie, ik ga even kijken.
zou alleen nog wel even een default bij die switch neer zetten, stel nou dat er wat fout gaat...
Als er iets fout gaat word het FFFFFF

Reageren