met de php-functie while wordt een mysql-tabel genaamd "modules" uitgelezen. Iedere row wordt een checkbox in een formulier. Dit werkt prima.

Stel nu dat het resultaat van bovenstaande 2 checkboxen zijn met de values: admin en foto.

Wat ik graag zou willen is, wanneer admin wordt aangevinkt, dat er "admin" aan een kolom in de tabel "projecten" wordt toegevoegd. En wanneer beide opties worden aangevinkt, dat er dus "admin, foto" aan de tabel "projecten" wordt toegevoegd. Dit laatste lukt niet.

Wat me wel lukt is de aangevinkte checkboxen uitlezen met een foreach-lus.

Dit is de code van het formulier:

<?php

include("connect.php");

$query = "SELECT * FROM modules68";

$result = mysql_query($query) or die('Error: '.mysql_error());

?>

<table><tr>
<td id="blacktext">PROJECT</td><td id="bluetext">TOEVOEGEN</td>
</tr></table>

<form action="process-project.php" method="post" enctype="multipart/form-data" >
<table border="0" cellspacing="0" cellpadding="0">

  <tr>
    <td>Naam:  </td>
    <td colspan="3"><input type="text" name="naam" maxlength="30"></td>
  </tr>
    <tr><td>&nbsp;</td></tr>
  <tr>
    <td>Plaatje: </td>
    <td><input name="userfile" type="file" /></td>
  </tr>
      <tr><td>&nbsp;</td></tr>
  <tr>
    <td valign="top">Omschrijving: </td>
    <td rowspan="2"><textarea name="omschrijving" cols="50" rows="10"></textarea></td>
  </tr>
    <tr><td>&nbsp;</td></tr>
	   <tr><td>&nbsp;</td></tr>
    <tr>
    <td>Modules:  </td>
    <td colspan="2"><?php while ($row = mysql_fetch_array($result)) { extract($row); echo "<input name=modules[] type=checkbox value=$naam </input> $naam |"; } ?></td>
  </tr>
  
     <tr><td>&nbsp;</td></tr>
  
    <tr>
    <td>Link:  </td>
    <td colspan="2"><input type="text" name="link" maxlength="60"></td>
  </tr>
  
   <tr><td>&nbsp;</td></tr>
   <tr><td></td><td><div align="right"><input type="submit" value="toevoegen"></div></td></tr>
</table>
</form>


dit is de code om de checkboxen uit te lezen en werkt prima:

<?php

$modules = $_POST["modules"];

foreach ($modules as $m) {
echo $m. ", ";
}

?>


Nu wil ik dus het resultaat van de bovenstaande code om de checkboxen uit te lezen toevoegen aan een db. Alleen ik snap niet wat ik met de code moet doen. De structuur van de tabel komt overeen met de php-code dus daar kan het niet aan liggen! Ik had dit bedacht, maar werkt overduidelijk niet:


<?php
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT);

if(!empty($_FILES))
{
	$dir = "../projecten/" ;
	$destination = $dir.$_FILES['userfile']['name'];
	$temp_file = $_FILES['userfile']['tmp_name'];
	move_uploaded_file($temp_file,$destination);

	$filename = $_FILES['userfile']['name'];
	$naam = $_POST['naam'];
	$omschrijving = $_POST['omschrijving'];
	$modules = $_POST["modules"];
	$link = $_POST['link'];
	
	$module = foreach ($modules as $m) { echo $m. ", "; }
	
	include("connect.php");
	$query = "INSERT INTO projecten68 VALUES ('$naam','$filename','$omschrijving','$module','$link')";
	mysql_query($query) or die('Error, query failed'); 	

	echo "<p>Het project $naam is succesvol toegevoegd. 
	<br></br>
	Het volgende plaatje is met succes geupload:
	{$_FILES['userfile']['name']}
	({$_FILES['userfile']['size']})
	<br></br>
	<a href=admin.php>terug naar admin panel</a> of <a href=logout.php>uitloggen</a>
	
	</p>";
	}
  


?> 


Graag jullie hulp!

Reageren