Niet alle waarde worden in DB opgeslagen
Beste,
Ik zit met volgend probleem. Ik heb een formulier met radiobuttons deze waarde moeten opgelsaan worden in mysql. Dit lukt allemaal, alleen de eerste waarde wordt niet opgeslagen.
Hieronder vinden jullie het formulier:
Dit is dan het invoeg gedeelte:
Wat doe ik verkeerd? Ik heb al alle mogelijke oplossingen geprobeerd, de $test ergens anders plaatsen, de $i ergens anders plaatsen, ...
Niets blijkt te werken!
Iemand enig advies???
Mvg,
Jelle
Ik zit met volgend probleem. Ik heb een formulier met radiobuttons deze waarde moeten opgelsaan worden in mysql. Dit lukt allemaal, alleen de eerste waarde wordt niet opgeslagen.
Hieronder vinden jullie het formulier:
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?
include("../../tools/dbconnect.php");
//Var declareren
$i=0;
//Juiste opdracht selecteren
$sql_opdracht ="SELECT * FROM opdrachten WHERE opdrachtId=".$aanwezigid."";
$query_opdracht = mysql_query($sql_opdracht);
$result = mysql_fetch_assoc($query_opdracht);
$opdracht = $result["omschrijving"];
//Formulier aanmaken om aanwezigheden weer te geven
echo'<table id="tabel_cnb1" cellspacing="0" cellpadding="0">'.PHP_EOL;
echo"\t".'<tr>'.PHP_EOL;
echo"\t"."\t".'<td align="left" valign="bottom"><img src="./../img/book_edit.png" id="afbeelding_noborder1" alt="invullen aanwezigheden" /></td>'.PHP_EOL;
echo"\t"."\t".'<td align="center" valign="middle">Invullen aanwezigheden</td>'.PHP_EOL;
echo"\t".'</tr>'.PHP_EOL;
echo"\t".'<tr>'.PHP_EOL;
echo"\t"."\t".'<td align="center" valign="bottom" colspan="2">'.$opdracht.'</td>'.PHP_EOL;
echo"\t".'</tr>'.PHP_EOL;
echo'</table><br /><br />'.PHP_EOL;
echo'<form method="post" action="./aanwezigheid_bewaar.php">'.PHP_EOL;
echo'<table id="tabel_cnb2" cellspacing="0" cellpadding="0">'.PHP_EOL;
echo"\t".'<tr>'.PHP_EOL;
echo"\t"."\t".'<td id="w15zw" align="center"></td>'.PHP_EOL;
echo"\t"."\t".'<td id="w200" align="center"> Naam </td>'.PHP_EOL;
echo"\t"."\t".'<td id="w200" align="center"> E-mail </td>'.PHP_EOL;
echo"\t"."\t".'<td id="w100" align="center"> Aanwezig </td>'.PHP_EOL;
echo"\t"."\t".'<td id="w100" align="center"> Gewettigd afwezig </td>'.PHP_EOL;
echo"\t"."\t".'<td id="w100" align="center"> Ongewettigd afwezig </td>'.PHP_EOL;
echo"\t".'</tr>'.PHP_EOL;
// Mensen uit DB halen die ingeschreven zijn voor opdracht
$sql_waar ="SELECT * FROM inschrijving WHERE opdrachtId=".$aanwezigid." ORDER BY ` tijdInschr` ASC";
$query_waar = mysql_query($sql_waar);
while ($uitvoer = mysql_fetch_assoc($query_waar))
{
$naam = $uitvoer["naam"];
$email = $uitvoer["email"];
//Aanwezigheden in DB stoppen
echo"\t".'<tr>'.PHP_EOL;
echo"\t\t".'<input type="hidden" name="aanwezigid" value='.$aanwezigid.' size="20" />'.PHP_EOL;
echo"\t\t".'<input type="hidden" name="evenement" value="'.$opdracht.'" size="500" />'.PHP_EOL;
echo"\t\t".'<td><img src="./../img/pijltje.png" alt="pijltje" /></td>'.PHP_EOL;
echo"\t\t".'<td>'.$naam.'<input type="hidden" name="naam" value="'.$naam.'" size="500" /></td>'.PHP_EOL;
echo"\t\t".'<td>'.$email.'</td>'.PHP_EOL;
echo"\t\t".'<td align="center"><input type="radio" name="checkbox_'.$i.'" value="aanwezig" /></td>'.PHP_EOL;
echo"\t\t".'<td align="center"><input type="radio" name="checkbox_'.$i.'" value="gewettigd" /></td>'.PHP_EOL;
echo"\t\t".'<td align="center"><input type="radio" name="checkbox_'.$i.'" value="ongewettigd" /></td>'.PHP_EOL;
echo'</tr>'.PHP_EOL;
$test=$_POST["checkbox_'.$i.'"]
$i++;
}
echo"\t".'<tr>'.PHP_EOL;
echo"\t\t".'<td align="center" valign="bottom" colspan="6"><input type="submit" value="Aanwezigheden bevestigen" name="sub" /></td>'.PHP_EOL;
echo'</tr>'.PHP_EOL;
echo'</table><br />'.PHP_EOL;
echo'</form>'.PHP_EOL;
//Databank afsluiten
mysql_close($databank);
?>
include("../../tools/dbconnect.php");
//Var declareren
$i=0;
//Juiste opdracht selecteren
$sql_opdracht ="SELECT * FROM opdrachten WHERE opdrachtId=".$aanwezigid."";
$query_opdracht = mysql_query($sql_opdracht);
$result = mysql_fetch_assoc($query_opdracht);
$opdracht = $result["omschrijving"];
//Formulier aanmaken om aanwezigheden weer te geven
echo'<table id="tabel_cnb1" cellspacing="0" cellpadding="0">'.PHP_EOL;
echo"\t".'<tr>'.PHP_EOL;
echo"\t"."\t".'<td align="left" valign="bottom"><img src="./../img/book_edit.png" id="afbeelding_noborder1" alt="invullen aanwezigheden" /></td>'.PHP_EOL;
echo"\t"."\t".'<td align="center" valign="middle">Invullen aanwezigheden</td>'.PHP_EOL;
echo"\t".'</tr>'.PHP_EOL;
echo"\t".'<tr>'.PHP_EOL;
echo"\t"."\t".'<td align="center" valign="bottom" colspan="2">'.$opdracht.'</td>'.PHP_EOL;
echo"\t".'</tr>'.PHP_EOL;
echo'</table><br /><br />'.PHP_EOL;
echo'<form method="post" action="./aanwezigheid_bewaar.php">'.PHP_EOL;
echo'<table id="tabel_cnb2" cellspacing="0" cellpadding="0">'.PHP_EOL;
echo"\t".'<tr>'.PHP_EOL;
echo"\t"."\t".'<td id="w15zw" align="center"></td>'.PHP_EOL;
echo"\t"."\t".'<td id="w200" align="center"> Naam </td>'.PHP_EOL;
echo"\t"."\t".'<td id="w200" align="center"> E-mail </td>'.PHP_EOL;
echo"\t"."\t".'<td id="w100" align="center"> Aanwezig </td>'.PHP_EOL;
echo"\t"."\t".'<td id="w100" align="center"> Gewettigd afwezig </td>'.PHP_EOL;
echo"\t"."\t".'<td id="w100" align="center"> Ongewettigd afwezig </td>'.PHP_EOL;
echo"\t".'</tr>'.PHP_EOL;
// Mensen uit DB halen die ingeschreven zijn voor opdracht
$sql_waar ="SELECT * FROM inschrijving WHERE opdrachtId=".$aanwezigid." ORDER BY ` tijdInschr` ASC";
$query_waar = mysql_query($sql_waar);
while ($uitvoer = mysql_fetch_assoc($query_waar))
{
$naam = $uitvoer["naam"];
$email = $uitvoer["email"];
//Aanwezigheden in DB stoppen
echo"\t".'<tr>'.PHP_EOL;
echo"\t\t".'<input type="hidden" name="aanwezigid" value='.$aanwezigid.' size="20" />'.PHP_EOL;
echo"\t\t".'<input type="hidden" name="evenement" value="'.$opdracht.'" size="500" />'.PHP_EOL;
echo"\t\t".'<td><img src="./../img/pijltje.png" alt="pijltje" /></td>'.PHP_EOL;
echo"\t\t".'<td>'.$naam.'<input type="hidden" name="naam" value="'.$naam.'" size="500" /></td>'.PHP_EOL;
echo"\t\t".'<td>'.$email.'</td>'.PHP_EOL;
echo"\t\t".'<td align="center"><input type="radio" name="checkbox_'.$i.'" value="aanwezig" /></td>'.PHP_EOL;
echo"\t\t".'<td align="center"><input type="radio" name="checkbox_'.$i.'" value="gewettigd" /></td>'.PHP_EOL;
echo"\t\t".'<td align="center"><input type="radio" name="checkbox_'.$i.'" value="ongewettigd" /></td>'.PHP_EOL;
echo'</tr>'.PHP_EOL;
$test=$_POST["checkbox_'.$i.'"]
$i++;
}
echo"\t".'<tr>'.PHP_EOL;
echo"\t\t".'<td align="center" valign="bottom" colspan="6"><input type="submit" value="Aanwezigheden bevestigen" name="sub" /></td>'.PHP_EOL;
echo'</tr>'.PHP_EOL;
echo'</table><br />'.PHP_EOL;
echo'</form>'.PHP_EOL;
//Databank afsluiten
mysql_close($databank);
?>
Dit is dan het invoeg gedeelte:
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
include("../../tools/dbconnect.php");
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
$sql_toevoegen = "INSERT INTO opdrachten_aanwezigheid VALUES ($aanwezigid, \"$evenement\", \"$naam\", \"$test\" )";
if (!$result = mysql_query($sql_toevoegen)){
print mysql_error();
print '<HR>Fout bij toevoegen!<BR><BR>Contacteer de webmaster<br /><br />';
}else{
echo "<p>Opdracht succesvol toegevoegd ...</p>";
}
}
//Databank afsluiten
mysql_close($databank);
?>
include("../../tools/dbconnect.php");
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
$sql_toevoegen = "INSERT INTO opdrachten_aanwezigheid VALUES ($aanwezigid, \"$evenement\", \"$naam\", \"$test\" )";
if (!$result = mysql_query($sql_toevoegen)){
print mysql_error();
print '<HR>Fout bij toevoegen!<BR><BR>Contacteer de webmaster<br /><br />';
}else{
echo "<p>Opdracht succesvol toegevoegd ...</p>";
}
}
//Databank afsluiten
mysql_close($databank);
?>
Wat doe ik verkeerd? Ik heb al alle mogelijke oplossingen geprobeerd, de $test ergens anders plaatsen, de $i ergens anders plaatsen, ...
Niets blijkt te werken!
Iemand enig advies???
Mvg,
Jelle
Zet dit bovenin je script.
dan krijg ik undefind var checkbox_0, iemand een idee hoe dit kan opgelost worden?
Jelle Vliegen op 28/08/2010 13:53:51:
dan krijg ik undefind var checkbox_0, iemand een idee hoe dit kan opgelost worden?
Dan bestaat die dus niet.
Op welke regel is dat?
op regel 55 waar ik $test definieer om door te geven.
1. alleen checkboxes die gechecked staan komen in de $_POST terecht, dus klopt je controle niet
2. checkbox_0, duid op een veerkeerde manier van omgaan met meerdere checkboxes in een form. Gebruik dan name="checkbox[piewie][0]" of name="checkbox[]" of checkbox[verwijzend_id]
2. checkbox_0, duid op een veerkeerde manier van omgaan met meerdere checkboxes in een form. Gebruik dan name="checkbox[piewie][0]" of name="checkbox[]" of checkbox[verwijzend_id]
name="checkbox[$i]" mag dan ook?
Jelle Vliegen op 28/08/2010 14:08:24:
name="checkbox[$i]" mag dan ook?
Ja, maar als er niks gepost is of niks aangevinkt dan zal de $_POST['...'] niet bestaan.
ja idd hoe kan ik dit dan oplossen? het moet toch op de een of andere wijze mogelijk zijn??
Gebruik daarvoor isset().
dus isset($test=$_POST["checkbox['.$i.']"]);




