login  Naam:   Wachtwoord: 
Registreer je!
 Forum

foreache loop werkt niet naar behoren, wat gaat er fout?

Offline munnik - 31/10/2006 20:35 (laatste wijziging 31/10/2006 21:07)
Avatar van munnikNieuw lid hallo ik heb een code waarmee ik checkboxen wil verzenden naar mijn database, de checkboxen worden geladen met gegevens uit mijn db.

Ik had het probleem dat ik maar 1 waarde van van alle aangevinkte checkboxen kon versturen. hierom heb ik geprobeerd een foreach loop aan toe te voegen. Maar ik blijf met het zelfde prbleem zitten.

heb ik de foreach loop goed genoteerd? wat gaat er dan fout?
  1. <title>pagina toevoegen</title>
  2. <?php
  3. require '../includes/header_cms.php';
  4. error_reporting(E_ALL);
  5. ?>
  6. <?php
  7.  
  8. //nieuwe interne pagina aanmaken in de database
  9. if($_SERVER['REQUEST_METHOD'] == "POST") // kijken of de vraag verstuurd is
  10. {
  11.  
  12.  
  13. $werknemer = $_POST['msg_werknemer'];
  14.  
  15. $arr=array($werknemer);
  16. foreach ($arr as $value)
  17. {
  18. echo "Value: " . $value . "<br />";
  19. }
  20.  
  21.  
  22. $query ="INSERT INTO int_site
  23. (
  24. msg_int_id,
  25. msg_date,
  26. msg_time,
  27. msg_title,
  28. msg_werknemer,
  29. msg_int_link_id,
  30. msg_linken
  31. )
  32.  
  33. values
  34. (
  35. '',
  36. CURDATE(),
  37. CURDATE(),
  38. '". $_POST['msg_title']. "',
  39. '". $value . "',
  40. '". $_POST['msg_int_link_id']. "',
  41. '". $_POST['msg_linken']. "'
  42. )";
  43. $result_int_site = mysql_query($query) or die(mysql_error());
  44. }
  45. ?>
  46.  
  47.  
  48. <form name="form1" method="post" action="<?php echo($_SERVER["PHP_SELF"]) ?>">
  49.  
  50. <p>Pagina title
  51. <input type="msg_title" name="msg_title">
  52. <input type="msg_int_link_id" name="msg_int_link_id">
  53. <input type="msg_linken" name="msg_linken">
  54.  
  55. <br>
  56.  
  57. <?php
  58. //gegevens uit tabel weergeven in drop down menu
  59.  
  60. $select = "*";
  61. $from = "werknemers";
  62. $order1 = "msg_v_naam";
  63. $order2 = "msg_a_naam";
  64. $input_name = "msg_werknemer";
  65.  
  66. $query_werknemer= "SELECT ".$select." FROM ".$from." ORDER BY ".$order1.", ".$order2." ";
  67. $result_werknemer = mysql_query($query_werknemer)or die(mysql_error());
  68.  
  69. while( $data = mysql_fetch_array($result_werknemer))
  70.  
  71. {
  72.  
  73. echo '<input name="msg_werknemer" type="checkbox" value="'.$data['msg_id'].'">';
  74. echo stripslashes ($data['msg_v_naam']);
  75. echo stripslashes ($data['msg_v_naam']);
  76.  
  77. }
  78.  
  79. ?>
  80.  
  81. <input name="Plaatsen" type="submit" >
  82.  
  83. </form>

4 antwoorden

Gesponsorde links
Offline GTW - 31/10/2006 20:49
Avatar van GTW Gouden medaille

PHP gevorderde
mss ten eerste handig om [ code][/ code] tags te gebruiken 
Offline Voldemort - 31/10/2006 21:45
Avatar van Voldemort PHP ver gevorderde Hij overschrijft steeds msg_werknemer in je while. Dit kan je oplossen door er een array van te maken:

  1. echo '<input name="msg_werknemer[]" type="checkbox" value="'.$data['msg_id'].'">';


Alleen moet je bij een checkbox zo checken:

  1. if(isset($_POST['checkbox'])) //Checkbox aangevinkt
  2. else //Checkbox niet aangevinkt


Wat zou jij soms als value van een checkbox willen zien?
Offline munnik - 31/10/2006 21:52
Avatar van munnik Nieuw lid oke dat heb ik veranderd, maar nu krijg ik de melding

Notice: Undefined variable: iFieldId in /usr/home/n1087/domains/ubee-ht.nl/public_html/fysio/cms/pagina_toevoegen.php on line 34


  1. <title>pagina toevoegen</title>
  2. <?php
  3. require '../includes/header_cms.php';
  4. error_reporting(E_ALL);
  5. ?>
  6. <?php
  7.  
  8. //nieuwe interne pagina aanmaken in de database
  9. if($_SERVER['REQUEST_METHOD'] == "POST") // kijken of de vraag verstuurd is
  10. {
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. $query ="INSERT INTO int_site
  18. (
  19. msg_int_id,
  20. msg_date,
  21. msg_time,
  22. msg_title,
  23. msg_werknemer,
  24. msg_int_link_id,
  25. msg_linken
  26. )
  27.  
  28. values
  29. (
  30. '',
  31. CURDATE(),
  32. CURDATE(),
  33. '". $_POST['msg_title']. "',
  34. '". $iFieldId . "',
  35. '". $_POST['msg_int_link_id']. "',
  36. '". $_POST['msg_linken']. "'
  37. )";
  38. $result_int_site = mysql_query($query) or die(mysql_error());
  39. }
  40. ?>
  41.  
  42.  
  43. <form name="form1" method="post" action="<?php echo($_SERVER["PHP_SELF"]) ?>">
  44.  
  45. <p>Pagina title
  46. <input type="msg_title" name="msg_title">
  47. <input type="msg_int_link_id" name="msg_int_link_id">
  48. <input type="msg_linken" name="msg_linken">
  49.  
  50. <br>
  51.  
  52. <?php
  53. //gegevens uit tabel weergeven in drop down menu
  54.  
  55. $select = "*";
  56. $from = "werknemers";
  57. $order1 = "msg_v_naam";
  58. $order2 = "msg_a_naam";
  59. $input_name = "msg_werknemer";
  60.  
  61. $query_werknemer= "SELECT ".$select." FROM ".$from." ORDER BY ".$order1.", ".$order2." ";
  62. $result_werknemer = mysql_query($query_werknemer)or die(mysql_error());
  63.  
  64. while( $data = mysql_fetch_array($result_werknemer))
  65.  
  66. {
  67.  
  68. echo '<input name="msg_werknemer[]" type="checkbox" value="'.$data['msg_id'].'">';
  69. echo stripslashes ($data['msg_v_naam']);
  70. echo stripslashes ($data['msg_v_naam']);
  71.  
  72. }
  73.  
  74. if(isset($_POST['checkbox'])) //Checkbox aangevinkt
  75. foreach( $_POST['msg_werknemer'] as $iFieldId => $iMessageId )
  76.  
  77. {
  78. echo "Value: " . $iFieldId . "<br />";
  79. }
  80. else
  81.  
  82. ?>
  83.  
  84. <input name="Plaatsen" type="submit" >
  85.  
  86. </form>
Offline Voldemort - 31/10/2006 22:09
Avatar van Voldemort PHP ver gevorderde Ik zei niet dat je die if/else erbij moest lappen en die foreach moest verplaatsten. Ik gaf het voorbeeld van hoe je een Checkbox controleert of ie aan of uit is. Jij hebt het blijkbaar niet door hoe je checkt of de checkbox aan of uit gevinkt is. je wil een value van je checkbox, wat verwacht je soms te zien?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.218s