Vlag m.b.v. option value
mariosss - 29/12/2008 00:22
Nieuw lid
Beste mensen,
Ik heb een formulier gemaakt, waarin de mensen de taal kunnen kiezen. Als ze bijvoorbeeld Nederlands kiezen, dan moet de nederlandse vlag te zien zijn nadat het formulier is verzonden. De value wordt opgeslagen in de database zoals het tussen de "" staat. Maar hoe koppel ik nu de vlaggen aan elke taal?
<select class="select" size="1" name="taal">
<option value=""> Selecteer een taal </option>
<option value="Nederlands"> Nederlands </option>
<option value="Engels"> Engels </option>
<option value="Duits"> Duits </option>
<option value="Frans"> Frans </option>
<option value="Spaans"> Spaans </option>
<option value="Italiaans"> Italiaans </option>
<option value="Grieks"> Grieks </option>
</select></td>
< select class = "select" size= "1" name= "taal" >
< option value= "" > Selecteer een taal </ option>
< option value= "Nederlands" > Nederlands </ option>
< option value= "Engels" > Engels </ option>
< option value= "Duits" > Duits </ option>
< option value= "Frans" > Frans </ option>
< option value= "Spaans" > Spaans </ option>
< option value= "Italiaans" > Italiaans </ option>
< option value= "Grieks" > Grieks </ option>
</ select></ td>
18 antwoorden
Gesponsorde links
Martijn - 29/12/2008 11:35
Crew PHP
2 html suggesties: size=1 hoeft niet en doe option met value="", gewoon zonder value maken. Nu issie selecteerdbaar, zonder value kun je doen
if(!isset($_POST['taal'])){echo"Je hebt geen vlag aangeklikt";}
if ( ! isset ( $_POST [ 'taal' ] ) ) { echo "Je hebt geen vlag aangeklikt" ; }
Koen - 29/12/2008 11:49 (laatste wijziging 29/12/2008 12:12)
PHP expert
DeviourSoul schreef:
2 html suggesties: size=1 hoeft niet en doe option met value="", gewoon zonder value maken. Nu issie selecteerdbaar, zonder value kun je doen
[..code..]
Als je het dan toch met value doet kan je dit gebruiken:
if(empty($_POST['taal'])){echo"Je hebt geen vlag aangeklikt";}
if ( empty ( $_POST [ 'taal' ] ) ) { echo "Je hebt geen vlag aangeklikt" ; }
Sander1993 - 29/12/2008 11:52
PHP interesse
<?php
switch ($_POST['taal']) {
case "nederlands":
$image = "nederland.jpg";
break;
case "engels":
$image = "engeland.jpg";
break;
case "frankrijk":
$image = "frankrijk.jpg";
break;
default:
$image = "engeland.jpg";
etc..
}
?>
<?php
switch ( $_POST [ 'taal' ] ) {
case "nederlands" :
$image = "nederland.jpg" ;
break ;
case "engels" :
$image = "engeland.jpg" ;
break ;
case "frankrijk" :
$image = "frankrijk.jpg" ;
break ;
default :
$image = "engeland.jpg" ;
etc..
}
?>
zoiets?
Koen - 29/12/2008 11:57 (laatste wijziging 29/12/2008 11:58)
PHP expert
Een snellere manier is:
<?php
if(!empty($_POST['taal'])){
switch ($_POST['taal']) {
case "Nederlands":
case "Duits":
case "Frans":
case "Engels":
case "Spaans":
case "Italiaans":
case "Grieks":
$image = $_POST['taal'].'.jpg';
break;
default:
$image = 'Nederlands.jpg';
}
} else {
echo 'Geen taal geselecteerd.';
}
?>
<?php
if ( ! empty ( $_POST [ 'taal' ] ) ) { switch ( $_POST [ 'taal' ] ) {
case "Nederlands" :
case "Duits" :
case "Frans" :
case "Engels" :
case "Spaans" :
case "Italiaans" :
case "Grieks" :
$image = $_POST [ 'taal' ] . '.jpg' ;
break ;
default :
$image = 'Nederlands.jpg' ;
}
} else {
echo 'Geen taal geselecteerd.' ; }
?>
Edit: Vlagjes kan je hier vinden.
mariosss - 29/12/2008 14:09 (laatste wijziging 29/12/2008 14:09)
Nieuw lid
@Sliphead:
Ik snap je code, maar hoe doe ik dit nu toepassen? Ik heb nu dus dit gedaan maar dit kan dus niet, omdat deze dan meteen zegt dat er geen taal is geselecteerd. Ik doe natuurlijk iets fout met het toepassen maar ik weet dus niet hoe ik dit precies moet doen.
<select class="icon-menu" size="1" name="taal">
<option value=""> Selecteer een taal </option>
<option value="Nederlands" style="background-image:url(images/nl.gif);"> Nederlands </option>
<option value="Engels"> Engels </option>
<option value="Duits"> Duits </option>
<option value="Frans"> Frans </option>
<option value="Spaans"> Spaans </option>
<option value="Italiaans"> Italiaans </option>
<option value="Grieks"> Grieks </option>
</select></td>
</tr>
<?php
if(!empty($_POST['taal'])){
switch ($_POST['taal']) {
case "Nederlands":
case "Duits":
case "Frans":
case "Engels":
case "Spaans":
case "Italiaans":
case "Grieks":
$image = $_POST['taal'].'.jpg';
break;
default:
$image = 'Nederlands.jpg';
}
} else {
echo 'Geen taal geselecteerd.';
}
?>
<select class="icon-menu" size="1" name="taal">
<option value=""> Selecteer een taal </option>
<option value="Nederlands" style="background-image:url(images/nl.gif);"> Nederlands </option>
<option value="Engels"> Engels </option>
<option value="Duits"> Duits </option>
<option value="Frans"> Frans </option>
<option value="Spaans"> Spaans </option>
<option value="Italiaans"> Italiaans </option>
<option value="Grieks"> Grieks </option>
</select></td>
</tr>
<?php
if ( ! empty ( $_POST [ 'taal' ] ) ) { switch ( $_POST [ 'taal' ] ) {
case "Nederlands" :
case "Duits" :
case "Frans" :
case "Engels" :
case "Spaans" :
case "Italiaans" :
case "Grieks" :
$image = $_POST [ 'taal' ] . '.jpg' ;
break ;
default :
$image = 'Nederlands.jpg' ;
}
} else {
echo 'Geen taal geselecteerd.' ; }
?>
mariosss - 29/12/2008 14:18
Nieuw lid
ja hoor hier is mijn formulier code:
<html>
<head>
<title>Plaats een nieuw bericht</title>
<LINK HREF="style.css" REL="stylesheet" TYPE="text/css">
</head>
<body class="body" onload="ShowFlag();">
<form method="post" action="verwerking.php" enctype="multipart/form-data">
<table class="tabel" width="800" border="0">
<tr>
<td class="h1" colspan="2" height="30">Plaats een nieuw bericht</td>
</tr>
<tr>
<td class="rij" width="400"> Bericht titel </td>
<td><input type="text" name="titel" size="30" maxlength="200"></td>
</tr>
<tr>
<td class="rij" width="200"> URL <img src="images/link.gif"> </td>
<td class="rij" ><input type="text" name="link" size="30" maxlength="200"></td>
</tr>
<tr>
<td class="rij" width="200"> Afbeelding</td>
<td class="rij" width="250"><input type="file" name="afbeelding" id="afbeelding"></td>
</tr>
<tr>
<td class="rij" width="200"> Taal: </td>
<td class="rij" >
<select class="icon-menu" size="1" name="taal">
<option value=""> Selecteer een taal </option>
<option value="Nederlands" style="background-image:url(images/nl.gif);"> Nederlands </option>
<option value="Engels"> Engels </option>
<option value="Duits"> Duits </option>
<option value="Frans"> Frans </option>
<option value="Spaans"> Spaans </option>
<option value="Italiaans"> Italiaans </option>
<option value="Grieks"> Grieks </option>
</select></td>
</tr>
<?php
if(!empty($_POST['taal'])){
switch ($_POST['taal']) {
case "Nederlands":
case "Duits":
case "Frans":
case "Engels":
case "Spaans":
case "Italiaans":
case "Grieks":
$image = $_POST['taal'].'.jpg';
break;
default:
$image = 'Nederlands.jpg';
}
} else {
echo 'Geen taal geselecteerd.';
}
?>
<input type="hidden" name="id" id="id">
<tr>
<td colspan="4"><br><input type="submit" value="Bekijk resultaat"></td>
</tr>
</table>
</form>
</body>
<html>
<head>
<title>Plaats een nieuw bericht</title>
<LINK HREF="style.css" REL="stylesheet" TYPE="text/css">
</head>
<body class="body" onload="ShowFlag();">
<form method="post" action="verwerking.php" enctype="multipart/form-data">
<table class="tabel" width="800" border="0">
<tr>
<td class="h1" colspan="2" height="30">Plaats een nieuw bericht</td>
</tr>
<tr>
<td class="rij" width="400"> Bericht titel </td>
<td><input type="text" name="titel" size="30" maxlength="200"></td>
</tr>
<tr>
<td class="rij" width="200"> URL <img src="images/link.gif"> </td>
<td class="rij" ><input type="text" name="link" size="30" maxlength="200"></td>
</tr>
<tr>
<td class="rij" width="200"> Afbeelding</td>
<td class="rij" width="250"><input type="file" name="afbeelding" id="afbeelding"></td>
</tr>
<tr>
<td class="rij" width="200"> Taal: </td>
<td class="rij" >
<select class="icon-menu" size="1" name="taal">
<option value=""> Selecteer een taal </option>
<option value="Nederlands" style="background-image:url(images/nl.gif);"> Nederlands </option>
<option value="Engels"> Engels </option>
<option value="Duits"> Duits </option>
<option value="Frans"> Frans </option>
<option value="Spaans"> Spaans </option>
<option value="Italiaans"> Italiaans </option>
<option value="Grieks"> Grieks </option>
</select></td>
</tr>
<?php
if ( ! empty ( $_POST [ 'taal' ] ) ) { switch ( $_POST [ 'taal' ] ) {
case "Nederlands" :
case "Duits" :
case "Frans" :
case "Engels" :
case "Spaans" :
case "Italiaans" :
case "Grieks" :
$image = $_POST [ 'taal' ] . '.jpg' ;
break ;
default :
$image = 'Nederlands.jpg' ;
}
} else {
echo 'Geen taal geselecteerd.' ; }
?>
<input type="hidden" name="id" id="id">
<tr>
<td colspan="4"><br><input type="submit" value="Bekijk resultaat"></td>
</tr>
</table>
</form>
</body>
Koen - 29/12/2008 14:34
PHP expert
Heb je al code voor verwerking.php?
Aangezien daar de verwerking zal plaatsvinden. (action="verwerking.php")
mariosss - 29/12/2008 14:41 (laatste wijziging 29/12/2008 14:42)
Nieuw lid
Ik heb in het formulier de code verwijderd en in verwerking.php gezet.
verwerking.php
<?
include ("database.php");
$id = $_POST['id'];
$titel = $_POST['titel'];
$link = $_POST['link'];
$taal = $_POST['taal'];
$ext=explode('.', $_FILES ['afbeelding'] ['name']);
$query = " INSERT INTO nieuw
(
titel,
link,
taal)
VALUES (
'".$titel."' ,
'".$link."' ,
'".$taal."')";
mysql_query($query) or die(mysql_error());
move_uploaded_file($_FILES['afbeelding']['tmp_name'], 'fotos/' . mysql_insert_id () . '.' . $ext[1]);
header ('Location: zien.php');
if(!empty($_POST['taal'])){
switch ($_POST['taal']) {
case "Nederlands":
case "Duits":
case "Frans":
case "Engels":
case "Spaans":
case "Italiaans":
case "Grieks":
$image = $_POST['taal'].'.jpg';
break;
default:
$image = 'Nederlands.jpg';
}
} else {
echo 'Geen taal geselecteerd.';
}
?>
<?
include ( "database.php" ) ;
$id = $_POST [ 'id' ] ;
$titel = $_POST [ 'titel' ] ;
$link = $_POST [ 'link' ] ;
$taal = $_POST [ 'taal' ] ;
$ext = explode ( '.' , $_FILES [ 'afbeelding' ] [ 'name' ] ) ;
$query = " INSERT INTO nieuw
(
titel,
link,
taal)
VALUES (
'" . $titel . "' ,
'" . $link . "' ,
'" . $taal . "')" ;
header ( 'Location: zien.php' ) ;
if ( ! empty ( $_POST [ 'taal' ] ) ) { switch ( $_POST [ 'taal' ] ) {
case "Nederlands" :
case "Duits" :
case "Frans" :
case "Engels" :
case "Spaans" :
case "Italiaans" :
case "Grieks" :
$image = $_POST [ 'taal' ] . '.jpg' ;
break ;
default :
$image = 'Nederlands.jpg' ;
}
} else {
echo 'Geen taal geselecteerd.' ; }
?>
Koen - 29/12/2008 16:05 (laatste wijziging 29/12/2008 16:06)
PHP expert
<?
include ("database.php");
$id = $_POST['id'];
$titel = $_POST['titel'];
$link = $_POST['link'];
switch ($_POST['taal']) {
case "Nederlands":
case "Duits":
case "Frans":
case "Engels":
case "Spaans":
case "Italiaans":
case "Grieks":
$image = $_POST['taal'].'.jpg';
break;
default:
$image = 'Nederlands.jpg';
}
$ext= array_pop(explode('.', $_FILES ['afbeelding'] ['name']));
$query = " INSERT INTO nieuw
(
titel,
link,
taal)
VALUES (
'".$titel."' ,
'".$link."' ,
'".$image."')";
mysql_query($query) or die(mysql_error());
move_uploaded_file($_FILES['afbeelding']['tmp_name'], 'fotos/' . mysql_insert_id () . '.' . $ext);
header ('Location: zien.php');
?>
<?
include ( "database.php" ) ;
$id = $_POST [ 'id' ] ;
$titel = $_POST [ 'titel' ] ;
$link = $_POST [ 'link' ] ;
switch ( $_POST [ 'taal' ] ) {
case "Nederlands" :
case "Duits" :
case "Frans" :
case "Engels" :
case "Spaans" :
case "Italiaans" :
case "Grieks" :
$image = $_POST [ 'taal' ] . '.jpg' ;
break ;
default :
$image = 'Nederlands.jpg' ;
}
$query = " INSERT INTO nieuw
(
titel,
link,
taal)
VALUES (
'" . $titel . "' ,
'" . $link . "' ,
'" . $image . "')" ;
header ( 'Location: zien.php' ) ; ?>
Zo ongeveer
(Niet getest)
Edit: Er zit verontrustend genoeg geen beveiliging in je upload-systeem!
Lees volgende tutorial maar eens:
http://www.site...cripts#upl
Succes
mariosss - 29/12/2008 16:30
Nieuw lid
ik heb de code overgenomen die je mij gegeven hebt, maar toch doet hij het niet. Ik heb hem even anders aangepast misschien dat hij dan wel werkt maar ook niet:
-Beveiliging dat komt later eerst wilde ik de basis maken zodat dit werkt haha
switch ($_POST['taal']) {
case "Nederlands":
$image = "images/vlaggen/Nederlands.gif";
break;
case "Duits":
$image = "images/vlaggen/Duits.gif";
break;
case "Frans":
$image = "images/vlaggen/Frans.gif";
break;
case "Engels":
$image = "images/vlaggen/Engels.gif";
break;
case "Spaans":
$image = "images/vlaggen/Spaans.gif";
break;
case "Italiaans":
$image = "images/vlaggen/Italiaans.gif";
break;
case "Grieks":
$image = "images/vlaggen/Grieks.gif";
break;
$image = $_POST['taal'].'.gif';
break;
default:
$image = 'images/vlaggen/Nederlands.gif';
}
switch ( $_POST [ 'taal' ] ) {
case "Nederlands" :
$image = "images/vlaggen/Nederlands.gif" ;
break ;
case "Duits" :
$image = "images/vlaggen/Duits.gif" ;
break ;
case "Frans" :
$image = "images/vlaggen/Frans.gif" ;
break ;
case "Engels" :
$image = "images/vlaggen/Engels.gif" ;
break ;
case "Spaans" :
$image = "images/vlaggen/Spaans.gif" ;
break ;
case "Italiaans" :
$image = "images/vlaggen/Italiaans.gif" ;
break ;
case "Grieks" :
$image = "images/vlaggen/Grieks.gif" ;
break ;
$image = $_POST [ 'taal' ] . '.gif' ;
break ;
default :
$image = 'images/vlaggen/Nederlands.gif' ;
}
Sander1993 - 29/12/2008 16:37 (laatste wijziging 29/12/2008 16:41)
PHP interesse
<?php
session_start();
if(!empty($_SESSION['taal'])) {
switch ($_SESSION['taal']) {
case "Nederlands":
$image = "images/vlaggen/Nederlands.gif";
break;
case "Duits":
$image = "images/vlaggen/Duits.gif";
break;
case "Frans":
$image = "images/vlaggen/Frans.gif";
break;
case "Engels":
$image = "images/vlaggen/Engels.gif";
break;
case "Spaans":
$image = "images/vlaggen/Spaans.gif";
break;
case "Italiaans":
$image = "images/vlaggen/Italiaans.gif";
break;
case "Grieks":
$image = "images/vlaggen/Grieks.gif";
break;
default:
$image = 'images/vlaggen/Nederlands.gif';
}
echo "<img src=\"".$image."\" />"; //laat de vlag zien
} else {
if(empty($_POST['taalkiezen'])) {
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select class="select" size="1" name="taal">
<option value=""> Selecteer een taal </option>
<option value="Nederlands"> Nederlands </option>
<option value="Engels"> Engels </option>
<option value="Duits"> Duits </option>
<option value="Frans"> Frans </option>
<option value="Spaans"> Spaans </option>
<option value="Italiaans"> Italiaans </option>
<option value="Grieks"> Grieks </option>
</select>
<input type="submit" name="taalkiezen" value="kies taal" />
<?php
} else {
$_SESSION['taal'] = $_POST['taal'];
}
}
?>
<?php
if ( ! empty ( $_SESSION [ 'taal' ] ) ) { switch ( $_SESSION [ 'taal' ] ) {
case "Nederlands" :
$image = "images/vlaggen/Nederlands.gif" ;
break ;
case "Duits" :
$image = "images/vlaggen/Duits.gif" ;
break ;
case "Frans" :
$image = "images/vlaggen/Frans.gif" ;
break ;
case "Engels" :
$image = "images/vlaggen/Engels.gif" ;
break ;
case "Spaans" :
$image = "images/vlaggen/Spaans.gif" ;
break ;
case "Italiaans" :
$image = "images/vlaggen/Italiaans.gif" ;
break ;
case "Grieks" :
$image = "images/vlaggen/Grieks.gif" ;
break ;
default :
$image = 'images/vlaggen/Nederlands.gif' ;
}
echo "<img src=\" " . $image . "\" />" ; //laat de vlag zien } else {
if ( empty ( $_POST [ 'taalkiezen' ] ) ) { ?>
<form method="post" action="
<?php echo $_SERVER [ 'PHP_SELF' ] ; ?> ">
<select class="select" size="1" name="taal">
<option value=""> Selecteer een taal </option>
<option value="Nederlands"> Nederlands </option>
<option value="Engels"> Engels </option>
<option value="Duits"> Duits </option>
<option value="Frans"> Frans </option>
<option value="Spaans"> Spaans </option>
<option value="Italiaans"> Italiaans </option>
<option value="Grieks"> Grieks </option>
</select>
<input type="submit" name="taalkiezen" value="kies taal" />
<?php
} else {
$_SESSION [ 'taal' ] = $_POST [ 'taal' ] ;
}
}
?>
misschien dit?
Koen - 29/12/2008 16:41 (laatste wijziging 29/12/2008 16:44)
PHP expert
Sander1993 schreef:
[..code..]
misschien dit?
Waarom begin je in godsnaam met sessies te werken?!
"Toch doet hij het niet"
Daar zijn we veel mee, wat gaat er niet, krijg je een foutmelding, of wordt het niet in de database gezet?
Sander1993 - 29/12/2008 16:42
PHP interesse
misschien is een coockie handiger
mariosss - 29/12/2008 16:51
Nieuw lid
@sliphead
Ik krijg geen foutmelding. De tekst wordt wel in de database gezet.
Dus als ik kies voor Nederlands, zet hij dit ook in de database. In het resultaat laat hij ook de tekst Nederlands zien, maar daarachter hoort dus het vlaggetje te staan maar dit laat hij dus niet zien..
mariosss - 29/12/2008 16:59
Nieuw lid
<?
include ("database.php");
$query="SELECT * FROM nieuw ORDER BY id DESC";
$resultaat=mysql_query($query);
$rij=mysql_fetch_array($resultaat);
$id = $_GET['id'];
while($rij)
{
switch ($_POST['taal']) {
case "Nederlands":
$image = "images/vlaggen/Nederlands.gif";
break;
case "Duits":
$image = "images/vlaggen/Duits.gif";
break;
case "Frans":
$image = "images/vlaggen/Frans.gif";
break;
case "Engels":
$image = "images/vlaggen/Engels.gif";
break;
case "Spaans":
$image = "images/vlaggen/Spaans.gif";
break;
case "Italiaans":
$image = "images/vlaggen/Italiaans.gif";
break;
case "Grieks":
$image = "images/vlaggen/Grieks.gif";
break;
$image = $_POST['taal'].'.gif';
break;
}
?>
<html>
<head>
<title>Resultaten</title>
</head>
<table border="1" width="50%">
<tr>
<td width="10%">id</td>
<td><?echo $rij["id"];?></td>
</tr>
<tr>
<td width="40%">Titel</td>
<td><?echo $rij["titel"];?></td>
</tr>
<tr>
<td width="40%">URL</td>
<td><?echo $rij["link"];?></td>
</tr>
<tr>
<td width="40%">Taal:</td>
<td><?echo $rij["taal"];?><?echo '<img src="'.$image.'" alt="" />';?></td>
</tr>
</table>
<br>
</html>
<?
$rij = mysql_fetch_array($resultaat);
}
?>
<?
include ( "database.php" ) ;
$query = "SELECT * FROM nieuw ORDER BY id DESC" ;
$id = $_GET [ 'id' ] ;
while ( $rij )
{
switch ( $_POST [ 'taal' ] ) {
case "Nederlands" :
$image = "images/vlaggen/Nederlands.gif" ;
break ;
case "Duits" :
$image = "images/vlaggen/Duits.gif" ;
break ;
case "Frans" :
$image = "images/vlaggen/Frans.gif" ;
break ;
case "Engels" :
$image = "images/vlaggen/Engels.gif" ;
break ;
case "Spaans" :
$image = "images/vlaggen/Spaans.gif" ;
break ;
case "Italiaans" :
$image = "images/vlaggen/Italiaans.gif" ;
break ;
case "Grieks" :
$image = "images/vlaggen/Grieks.gif" ;
break ;
$image = $_POST [ 'taal' ] . '.gif' ;
break ;
}
?>
<html>
<head>
<title>Resultaten</title>
</head>
<table border="1" width="50%">
<tr>
<td width="10%">id</td>
<td>
< ?
echo $rij [ "id" ] ; ?
> </td>
</tr>
<tr>
<td width="40%">Titel</td>
<td>
< ?
echo $rij [ "titel" ] ; ?
> </td>
</tr>
<tr>
<td width="40%">URL</td>
<td>
< ?
echo $rij [ "link" ] ; ?
> </td>
</tr>
<tr>
<td width="40%">Taal:</td>
<td>
< ?
echo $rij [ "taal" ] ; ?
> < ?
echo '<img src="' . $image . '" alt="" />' ; ?
> </td>
</tr>
</table>
<br>
</html>
<?
}
?>
Gesponsorde links
Dit onderwerp is gesloten .