Forum » Server-Side scripting » foreach fout
Berichten: 552
avatar
Offline Stuur privebericht
Geachte leden,

ik zit met een fout in mijn soort van referentie script, ik heb een foreach lus met een fout. Aangezien ik er een tijd uit ben geweest zou ik niet meer weten hoe ik deze fout moet oplossen. Misschien weten jullie het.

De error:

Warning: Invalid argument supplied for foreach() in /home/u624378536/public_html/dennis/referenties.php on line 46

Het script:

Code | Selecteer Alles
minimaliseren
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<?php
    
include_once "inc/inc.include.left.php";
    
    if(
$_GET['pagina'] == 'nieuwereferentie')
        {
?>
<div id="path">
    U bevindt zich hier: <a href="referenties.php">Referenties</a> - <a href="referenties.php?pagina=nieuwereferentie">Nieuwe referentie</a>
</div>
<div id="main">
    <h1>Nieuwe referentie <div style="float: right; font-size: 12px; color: black;"><A href="referenties.php">Referenties</a></div></h1>
    
    <p>
        <?php
        
if(isset($_POST['submit']))
        {
            
            
//variables
            
$email $mysqli->real_escape_string(strip_tags($_POST['email']));
            
$voornaam $mysqli->real_escape_string(strip_tags($_POST['volledigenaam']));
            
$referentie $mysqli->real_escape_string(strip_tags($_POST['referentie']));
            
$error = array();
            
            if(empty(
$voornaam))
                {
                    
$error[] = 'U heeft uw volledige naam niet opgegeven!';
                }
            if(empty(
$email))
                {
                    
$error[] = 'U heeft uw email niet opgegeven!';
                }
            if(
$referentie == 'Plaats referentie...' OR empty($referentie))
                {
                    
$error[] = 'U heeft geen referentie opgegeven!';
                }
            if(!
filter_var($emailFILTER_VALIDATE_EMAIL))
                {
                    
$error[] = 'Uw email adres is ongeldig!';
                }
            
            
$fouten count($error);
            
            if(
$fouten 0)
                {
                    echo 
'De volgende fouten zijn opgetreden. <Br />';
                    
                    foreach(
$fouten as $fout)
                        {
                            echo 
$fout;
                        }
                }
            else
                {
                    echo 
'U heeft een referentie geplaatst!  Klik <a href="referentie.php">hier</a> om de referentie te bekijken.';
                }
        }
        
?>
        <form method="POST">
            <table width="100%">
                <tr>
                    <td>
                        <b>Volledige naam</b>
                    </td>
                    <td>
                        <input type="text" name="volledigenaam" size="25" />
                    </td>
                </tr>
                <tr>
                    <td>
                        <b>Email adres</b>
                    </td>
                    <td>
                        <input type="text" name="email" size="25" />
                    </td>
                </tr>
            </table>
            <table width="100%">
                <tr>
                    <td>
                        <b>Referentie:</b>
                    </td>
                </tr>
                <Tr>
                    <td>
                        <textarea cols="50%" rows="10%" name="referentie">Plaats referentie...</textarea>
                    </td>
                </tr>
            </table>
            <table width="100%">
                <Tr>
                    <td width="56%">
                        Plaats referentie:
                    </td>
                    <td>
                        <input type="submit" name="submit" value="Plaats" />
                    </td>
                </tr>
            </table>
        </form>
    </p>
    

</div>
<?php
        
}
    else
        {
?>
<div id="path">
    U bevindt zich hier: <a href="referenties.php">Referenties</a>.
</div>
<div id="main">
    <h1>Referenties <div style="float: right; font-size: 12px; color: black;"><A href="?pagina=nieuwereferentie">Nieuwe referentie</a></div></h1> 
    <p>
            <?php
                $rQuery 
"SELECT Referentie_ID,Referentie_Bericht,Referentie_Datum,Referentie_Auteur FROM Referenties ORDER BY Referentie_ID DESC LIMIT 0,15";
                if( 
$Referentie $mysqli->query($rQuery) )
                {
                
                    while( 
$Ref $Referentie->fetch_object() )
                    {
                        echo 
'<table width="100%">';
                        echo 
'<tr>
                                <td width="20%">
                                    <b>Auteur:</b>
                                </td>
                                <td width="79%"> 
                                    '
$Ref->Referentie_Auteur .'
                                </td>
                            </tr>
                        '
;
                        echo 
'<tr>
                                <td width="20%">
                                    <b>Datum:</b>
                                </td>
                                <td width="79%"> 
                                    '
$Ref->Referentie_Datum .'
                                </td>
                            </tr>
                        '
;
                        echo 
'</table>';
                        echo 
'<table width="100%">';
                        echo 
'<tr>
                                <td width="10%">
                                    <b>Referentie:</b>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    '
nl2br(htmlspecialchars($Ref->Referentie_Bericht)) .'
                                </td>
                            </tr>
                        '
;    
                        echo 
'</table>';
                    }
                }
            
?>
    </p>
</div>
<?php
        
}
    include_once 
"inc/inc.include.right.php";
?>

30-08-2011 18:16
Dit topic is 81 keer bekeken door 22 verschillende leden
Reacties op: "foreach fout"
1
Informatica Student
Berichten: 1406
avatar
Online Stuur privébericht
$fouten is geen array.
30-08-2011 18:22
Berichten: 552
avatar
Offline Stuur privébericht
Nee. Maar $error wel, $fouten roept $error op om $error om te zetten in cijfers..

$fouten = count($error);
30-08-2011 18:30
Berichten: 2123
avatar
Offline Stuur privébericht
$fouten is dus een integer. En door een integer kun je niet loopen. Je zult dus niet door $fouten moeten lopen, maar door $error.
30-08-2011 18:42
Berichten: 552
avatar
Offline Stuur privébericht
Klopt! Danku. heb van $fouten $error gemaakt.
30-08-2011 18:53
Reageer op: "foreach fout"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden