login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Vlag m.b.v. option value

Offline mariosss - 29/12/2008 00:22
Avatar van mariosssNieuw 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?

  1. <select class="select" size="1" name="taal">
  2. <option value=""> Selecteer een taal </option>
  3. <option value="Nederlands"> Nederlands </option>
  4. <option value="Engels"> Engels </option>
  5. <option value="Duits"> Duits </option>
  6. <option value="Frans"> Frans </option>
  7. <option value="Spaans"> Spaans </option>
  8. <option value="Italiaans"> Italiaans </option>
  9. <option value="Grieks"> Grieks </option>
  10. </select></td>

18 antwoorden

Gesponsorde links
Offline Rens - 29/12/2008 00:26
Avatar van Rens Gouden medaille

Crew algemeen
Door $_POST['taal'] te gebruiken.
Als je
  1. echo $_POST['taal'];
doet zul je de gekozen taal op je scherm zien.
Als je dan met een switch of if gaat bepalen welke er gekozen is kun je de vlag laten zien.
Het kan ook door de vlag dezelfde naam te geven als de option value.
Dus:
option value = "nl"
naam vlag = "nl.jpg"

Dan hoef je alleen maar te kijken of het bestand met die naam bestaat en kun je zo de vlag laten zien...
Offline Martijn - 29/12/2008 11:35
Avatar van Martijn 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
  1. if(!isset($_POST['taal'])){echo"Je hebt geen vlag aangeklikt";}
Offline Koen - 29/12/2008 11:49 (laatste wijziging 29/12/2008 12:12)
Avatar van Koen 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:

  1. if(empty($_POST['taal'])){echo"Je hebt geen vlag aangeklikt";}
Offline Sander1993 - 29/12/2008 11:52
Avatar van Sander1993 PHP interesse
  1. <?php
  2. switch ($_POST['taal']) {
  3. case "nederlands":
  4. $image = "nederland.jpg";
  5. break;
  6. case "engels":
  7. $image = "engeland.jpg";
  8. break;
  9. case "frankrijk":
  10. $image = "frankrijk.jpg";
  11. break;
  12. default:
  13. $image = "engeland.jpg";
  14. etc..
  15. }
  16.  
  17. ?>

zoiets?
Offline Koen - 29/12/2008 11:57 (laatste wijziging 29/12/2008 11:58)
Avatar van Koen PHP expert Een snellere manier is:
  1. <?php
  2. if(!empty($_POST['taal'])){
  3. switch ($_POST['taal']) {
  4. case "Nederlands":
  5. case "Duits":
  6. case "Frans":
  7. case "Engels":
  8. case "Spaans":
  9. case "Italiaans":
  10. case "Grieks":
  11. $image = $_POST['taal'].'.jpg';
  12. break;
  13. default:
  14. $image = 'Nederlands.jpg';
  15. }
  16. } else {
  17. echo 'Geen taal geselecteerd.';
  18. }
  19. ?>



Edit: Vlagjes kan je hier vinden.
Offline mariosss - 29/12/2008 14:09 (laatste wijziging 29/12/2008 14:09)
Avatar van mariosss 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.

  1. <select class="icon-menu" size="1" name="taal">
  2. <option value=""> Selecteer een taal </option>
  3. <option value="Nederlands" style="background-image:url(images/nl.gif);"> Nederlands </option>
  4. <option value="Engels"> Engels </option>
  5. <option value="Duits"> Duits </option>
  6. <option value="Frans"> Frans </option>
  7. <option value="Spaans"> Spaans </option>
  8. <option value="Italiaans"> Italiaans </option>
  9. <option value="Grieks"> Grieks </option>
  10. </select></td>
  11. </tr>
  12. <?php
  13. if(!empty($_POST['taal'])){
  14. switch ($_POST['taal']) {
  15. case "Nederlands":
  16. case "Duits":
  17. case "Frans":
  18. case "Engels":
  19. case "Spaans":
  20. case "Italiaans":
  21. case "Grieks":
  22. $image = $_POST['taal'].'.jpg';
  23. break;
  24. default:
  25. $image = 'Nederlands.jpg';
  26. }
  27. } else {
  28. echo 'Geen taal geselecteerd.';
  29. }
  30. ?>
Offline Koen - 29/12/2008 14:10
Avatar van Koen PHP expert Die code moet je natuurlijk in de verwerking van je formulier inbouwen hé 

Heb je hier al wat code voor?
Offline mariosss - 29/12/2008 14:18
Avatar van mariosss Nieuw lid ja hoor   hier is mijn formulier code:

  1. <html>
  2. <head>
  3. <title>Plaats een nieuw bericht</title>
  4. <LINK HREF="style.css" REL="stylesheet" TYPE="text/css">
  5.  
  6.  
  7.  
  8. </head>
  9. <body class="body" onload="ShowFlag();">
  10.  
  11.  
  12.  
  13. <form method="post" action="verwerking.php" enctype="multipart/form-data">
  14.  
  15. <table class="tabel" width="800" border="0">
  16.  
  17. <tr>
  18. <td class="h1" colspan="2" height="30">Plaats een nieuw bericht</td>
  19. </tr>
  20.  
  21. <tr>
  22. <td class="rij" width="400"> Bericht titel </td>
  23. <td><input type="text" name="titel" size="30" maxlength="200"></td>
  24. </tr>
  25.  
  26. <tr>
  27. <td class="rij" width="200"> URL <img src="images/link.gif"> </td>
  28. <td class="rij" ><input type="text" name="link" size="30" maxlength="200"></td>
  29. </tr>
  30.  
  31. <tr>
  32. <td class="rij" width="200"> Afbeelding</td>
  33. <td class="rij" width="250"><input type="file" name="afbeelding" id="afbeelding"></td>
  34. </tr>
  35. <tr>
  36. <td class="rij" width="200"> Taal: </td>
  37. <td class="rij" >
  38. <select class="icon-menu" size="1" name="taal">
  39. <option value=""> Selecteer een taal </option>
  40. <option value="Nederlands" style="background-image:url(images/nl.gif);"> Nederlands </option>
  41. <option value="Engels"> Engels </option>
  42. <option value="Duits"> Duits </option>
  43. <option value="Frans"> Frans </option>
  44. <option value="Spaans"> Spaans </option>
  45. <option value="Italiaans"> Italiaans </option>
  46. <option value="Grieks"> Grieks </option>
  47. </select></td>
  48. </tr>
  49. <?php
  50. if(!empty($_POST['taal'])){
  51. switch ($_POST['taal']) {
  52. case "Nederlands":
  53. case "Duits":
  54. case "Frans":
  55. case "Engels":
  56. case "Spaans":
  57. case "Italiaans":
  58. case "Grieks":
  59. $image = $_POST['taal'].'.jpg';
  60. break;
  61. default:
  62. $image = 'Nederlands.jpg';
  63. }
  64. } else {
  65. echo 'Geen taal geselecteerd.';
  66. }
  67. ?>
  68.  
  69.  
  70.  
  71. <input type="hidden" name="id" id="id">
  72. <tr>
  73. <td colspan="4"><br><input type="submit" value="Bekijk resultaat"></td>
  74. </tr>
  75.  
  76. </table>
  77. </form>
  78.  
  79. </body>
Offline Koen - 29/12/2008 14:34
Avatar van Koen PHP expert Heb je al code voor verwerking.php?
Aangezien daar de verwerking zal plaatsvinden. (action="verwerking.php")
Offline mariosss - 29/12/2008 14:41 (laatste wijziging 29/12/2008 14:42)
Avatar van mariosss Nieuw lid Ik heb in het formulier de code verwijderd en in verwerking.php gezet.

verwerking.php
  1. <?
  2. include ("database.php");
  3.  
  4. $id = $_POST['id'];
  5. $titel = $_POST['titel'];
  6. $link = $_POST['link'];
  7. $taal = $_POST['taal'];
  8.  
  9.  
  10.  
  11.  
  12. $ext=explode('.', $_FILES ['afbeelding'] ['name']);
  13.  
  14. $query = " INSERT INTO nieuw
  15. (
  16. titel,
  17. link,
  18. taal)
  19. VALUES (
  20. '".$titel."' ,
  21. '".$link."' ,
  22. '".$taal."')";
  23.  
  24.  
  25. mysql_query($query) or die(mysql_error());
  26.  
  27.  
  28. move_uploaded_file($_FILES['afbeelding']['tmp_name'], 'fotos/' . mysql_insert_id () . '.' . $ext[1]);
  29.  
  30. header ('Location: zien.php');
  31.  
  32.  
  33. if(!empty($_POST['taal'])){
  34. switch ($_POST['taal']) {
  35. case "Nederlands":
  36. case "Duits":
  37. case "Frans":
  38. case "Engels":
  39. case "Spaans":
  40. case "Italiaans":
  41. case "Grieks":
  42. $image = $_POST['taal'].'.jpg';
  43. break;
  44. default:
  45. $image = 'Nederlands.jpg';
  46. }
  47. } else {
  48. echo 'Geen taal geselecteerd.';
  49. }
  50.  
  51. ?>
Offline Koen - 29/12/2008 16:05 (laatste wijziging 29/12/2008 16:06)
Avatar van Koen PHP expert
  1. <?
  2. include ("database.php");
  3.  
  4. $id = $_POST['id'];
  5. $titel = $_POST['titel'];
  6. $link = $_POST['link'];
  7. switch ($_POST['taal']) {
  8. case "Nederlands":
  9. case "Duits":
  10. case "Frans":
  11. case "Engels":
  12. case "Spaans":
  13. case "Italiaans":
  14. case "Grieks":
  15. $image = $_POST['taal'].'.jpg';
  16. break;
  17. default:
  18. $image = 'Nederlands.jpg';
  19. }
  20.  
  21.  
  22.  
  23.  
  24. $ext= array_pop(explode('.', $_FILES ['afbeelding'] ['name']));
  25. $query = " INSERT INTO nieuw
  26. (
  27. titel,
  28. link,
  29. taal)
  30. VALUES (
  31. '".$titel."' ,
  32. '".$link."' ,
  33. '".$image."')";
  34. mysql_query($query) or die(mysql_error());
  35. move_uploaded_file($_FILES['afbeelding']['tmp_name'], 'fotos/' . mysql_insert_id () . '.' . $ext);
  36. header ('Location: zien.php');
  37. ?>


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
Offline mariosss - 29/12/2008 16:30
Avatar van mariosss 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  

  1. switch ($_POST['taal']) {
  2. case "Nederlands":
  3. $image = "images/vlaggen/Nederlands.gif";
  4. break;
  5. case "Duits":
  6. $image = "images/vlaggen/Duits.gif";
  7. break;
  8. case "Frans":
  9. $image = "images/vlaggen/Frans.gif";
  10. break;
  11. case "Engels":
  12. $image = "images/vlaggen/Engels.gif";
  13. break;
  14. case "Spaans":
  15. $image = "images/vlaggen/Spaans.gif";
  16. break;
  17. case "Italiaans":
  18. $image = "images/vlaggen/Italiaans.gif";
  19. break;
  20. case "Grieks":
  21. $image = "images/vlaggen/Grieks.gif";
  22. break;
  23.  
  24. $image = $_POST['taal'].'.gif';
  25. break;
  26. default:
  27. $image = 'images/vlaggen/Nederlands.gif';
  28. }
Offline Sander1993 - 29/12/2008 16:37 (laatste wijziging 29/12/2008 16:41)
Avatar van Sander1993 PHP interesse
  1. <?php
  2. if(!empty($_SESSION['taal'])) {
  3. switch ($_SESSION['taal']) {
  4. case "Nederlands":
  5. $image = "images/vlaggen/Nederlands.gif";
  6. break;
  7. case "Duits":
  8. $image = "images/vlaggen/Duits.gif";
  9. break;
  10. case "Frans":
  11. $image = "images/vlaggen/Frans.gif";
  12. break;
  13. case "Engels":
  14. $image = "images/vlaggen/Engels.gif";
  15. break;
  16. case "Spaans":
  17. $image = "images/vlaggen/Spaans.gif";
  18. break;
  19. case "Italiaans":
  20. $image = "images/vlaggen/Italiaans.gif";
  21. break;
  22. case "Grieks":
  23. $image = "images/vlaggen/Grieks.gif";
  24. break;
  25. default:
  26. $image = 'images/vlaggen/Nederlands.gif';
  27. }
  28. echo "<img src=\"".$image."\" />"; //laat de vlag zien
  29. } else {
  30. if(empty($_POST['taalkiezen'])) {
  31. ?>
  32. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  33. <select class="select" size="1" name="taal">
  34. <option value=""> Selecteer een taal </option>
  35. <option value="Nederlands"> Nederlands </option>
  36. <option value="Engels"> Engels </option>
  37. <option value="Duits"> Duits </option>
  38. <option value="Frans"> Frans </option>
  39. <option value="Spaans"> Spaans </option>
  40. <option value="Italiaans"> Italiaans </option>
  41. <option value="Grieks"> Grieks </option>
  42. </select>
  43. <input type="submit" name="taalkiezen" value="kies taal" />
  44. <?php
  45. } else {
  46. $_SESSION['taal'] = $_POST['taal'];
  47. }
  48. }
  49. ?>

misschien dit?
Offline Koen - 29/12/2008 16:41 (laatste wijziging 29/12/2008 16:44)
Avatar van Koen 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?
Offline Sander1993 - 29/12/2008 16:42
Avatar van Sander1993 PHP interesse misschien is een coockie handiger
Offline mariosss - 29/12/2008 16:51
Avatar van mariosss 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..
Offline Koen - 29/12/2008 16:52 (laatste wijziging 29/12/2008 16:53)
Avatar van Koen PHP expert
  1. echo '<img src="'.$image.'" alt="" />';


Misschien? 

En laat de code zien die je tot nu toe al hebt 
Offline mariosss - 29/12/2008 16:59
Avatar van mariosss Nieuw lid
  1. <?
  2. include ("database.php");
  3. $query="SELECT * FROM nieuw ORDER BY id DESC";
  4. $resultaat=mysql_query($query);
  5. $rij=mysql_fetch_array($resultaat);
  6. $id = $_GET['id'];
  7. while($rij)
  8. {
  9.  
  10. switch ($_POST['taal']) {
  11. case "Nederlands":
  12. $image = "images/vlaggen/Nederlands.gif";
  13. break;
  14. case "Duits":
  15. $image = "images/vlaggen/Duits.gif";
  16. break;
  17. case "Frans":
  18. $image = "images/vlaggen/Frans.gif";
  19. break;
  20. case "Engels":
  21. $image = "images/vlaggen/Engels.gif";
  22. break;
  23. case "Spaans":
  24. $image = "images/vlaggen/Spaans.gif";
  25. break;
  26. case "Italiaans":
  27. $image = "images/vlaggen/Italiaans.gif";
  28. break;
  29. case "Grieks":
  30. $image = "images/vlaggen/Grieks.gif";
  31. break;
  32.  
  33. $image = $_POST['taal'].'.gif';
  34. break;
  35.  
  36. }
  37. ?>
  38.  
  39. <html>
  40. <head>
  41. <title>Resultaten</title>
  42. </head>
  43.  
  44. <table border="1" width="50%">
  45. <tr>
  46. <td width="10%">id</td>
  47. <td><?echo $rij["id"];?></td>
  48. </tr>
  49.  
  50. <tr>
  51. <td width="40%">Titel</td>
  52. <td><?echo $rij["titel"];?></td>
  53. </tr>
  54.  
  55. <tr>
  56. <td width="40%">URL</td>
  57. <td><?echo $rij["link"];?></td>
  58. </tr>
  59.  
  60. <tr>
  61. <td width="40%">Taal:</td>
  62. <td><?echo $rij["taal"];?><?echo '<img src="'.$image.'" alt="" />';?></td>
  63. </tr>
  64. </table>
  65. <br>
  66.  
  67. </html>
  68.  
  69.  
  70.  
  71. <?
  72. $rij = mysql_fetch_array($resultaat);
  73. }
  74. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.319s