Niet alle waarde worden in DB opgeslagen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jelle Vl

Jelle Vl

28/08/2010 13:07:40
Quote Anchor link
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:
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?  
            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)
PHP script in nieuw venster Selecteer het PHP script
1
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);    
        ?>

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
 
PHP hulp

PHP hulp

27/05/2026 04:52:40
 
- SanThe -

- SanThe -

28/08/2010 13:18:39
Quote Anchor link
Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
?>
 
Jelle Vl

Jelle Vl

28/08/2010 13:53:51
Quote Anchor link
dan krijg ik undefind var checkbox_0, iemand een idee hoe dit kan opgelost worden?
 
- SanThe -

- SanThe -

28/08/2010 13:57:14
Quote Anchor link
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?
 
Jelle Vl

Jelle Vl

28/08/2010 14:02:43
Quote Anchor link
op regel 55 waar ik $test definieer om door te geven.
 
Noppes Homeland

Noppes Homeland

28/08/2010 14:05:47
Quote Anchor link
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]
 
Jelle Vl

Jelle Vl

28/08/2010 14:08:24
Quote Anchor link
name="checkbox[$i]" mag dan ook?
 
- SanThe -

- SanThe -

28/08/2010 14:12:34
Quote Anchor link
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.
 
Jelle Vl

Jelle Vl

28/08/2010 14:14:47
Quote Anchor link
ja idd hoe kan ik dit dan oplossen? het moet toch op de een of andere wijze mogelijk zijn??
 
- SanThe -

- SanThe -

28/08/2010 14:22:13
Quote Anchor link
Gebruik daarvoor isset().
 
Jelle Vl

Jelle Vl

28/08/2010 14:27:11
Quote Anchor link
dus isset($test=$_POST["checkbox['.$i.']"]);
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.