Gastenboek schrijft niets meer in database, en gegevens worden niet meer opgehaald

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Webmaster Robbe

Webmaster Robbe

14/04/2014 15:33:48
Quote Anchor link
Hallo iedereen ;)

Zo als ik in de titel al zei, mijn gastenboek schrijft geen gegevens meer in de database, en ze haalt ook geen gegevens meer op.

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
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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
<?
    include("routines.php");
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<?standard_head_script();?>
<title>TeWinkelGroup - Home</title>
</head>
<body>
<center>
<div id="header">
    <table border="0" cellspacing="1">
    <tr>
    <td>
    <?logo();?>
    </td>
    <td>
        <div id="menu">
            <ul>
                <center>
                    <li class="active">
                    <a href="#">Home</a>
                    </li>
                    <li>
                    <a href="#">Gastenboek</a>
                    </li>
                    <li>
                    <a href="#">Geschiedenis</a>
                    </li>
                    <li>
                    <a href="#">Contact</a>
                    </li>
                </center>
            </ul>
        </div>
    </td>
    <td width="175px">
    <div id="language">
        <ul>
            <li>    
            <img src="img/nederlan.gif" height="15" width="20"> <a href="">Nederlands</a>
            </li>
            <li>
            <img src="img/frans.gif" height="15" width="20"> <a href="">Frans</a>
            </li>
        </ul>
    </div>
    </td>
    </tr>
    </table>
</div>

<div id="promo">
<!-- Hier komt de promo content.-->
</div>

<div id="content-index">
<center>
test
</center>

</diV>
<div id="content-gastenboek">
    <?
$sql
="SELECT * FROM gastenboek ORDER BY datum";
    $result=mysql_query($sql);
    if($result == false){
        echo "Er staan nog geen berichten in het Gastenboek.";
    }

    else{
        while($row = mysql_fetch_array($result)){
            $this_naam=$row['naam'];
            $this_bericht=$row['bericht'];
            $this_datum=$row['datum'];
?>

<div id="show_gastenboek_reacties">
    <table border="1" cellspacing="1" width="500px">
    <tr>
    <td><?spacerwidth15();?></td>
    <td><?spacerheight25();?></td>
    </tr>
    <tr>
    <td>Op  <?echo $this_datum;?> schreef  <?echo $this_naam;?></td>
    </tr>
    <tr>
    <td><?echo $this_bericht;?></td>
    </tr>
    </table>
    <?
    }
    }

    ?>

</div>
    <div id="new_gastenboek_reaction">
        <table border="0" cellspacing="1" width="100%">
            <tr>
                <td>
                <center>
                <fieldset>
                <legend><h3>Voeg een bericht toe</h3></legend>
                <form action="" method="post">
                    <table border="1">
                    <tr>
                        <td>Naam:</td>
                        <td><input type="text" name="naam" maxlength="50" cols="75" /></td>
                    </tr>
                    <tr>
                        <td>Email:</td>
                        <td><input type="text" name="email" maxlength="50" /></td>
                    </tr>
                    <tr>
                        <td>Bericht:</td>
                        <td><textarea cols="25" rows="5" name="bericht"></textarea><br /></td>
                    </tr>
                            <div style="position: absolute; left: -200px; top: -200px;"><br />
                            <input type="text" name="funname" id="funname" size="40" value="" />
                            </div>
                    <tr align="center">
                        <td></td>
                        <td><input type="submit" name="add_message" value="Verzenden" /><td>
                    </tr>
                    </table>
                </form>
                </fieldset>
                <?
                // Check of er een bericht gepost is zodat het toegevoegd
                // moet worden

                if ($_POST['add_message']) {
                    //1e fase om te kijken of we met hackers of spammers ziten.
                    //Indien de funname is ingevuld. Is het een hacker
                    //Dan wordt deze speler terug naar gastenboek.php gestuurd
                    //en gebeurd er niets.

                    if($_POST['funname'] !=''){
                        echo"Stouterik! Je bent een hacker!";
                    }
else{
                    // Om database errors te voorkomen, ga ik quotes escapen
                    // met een backslash voor elke variabele
                    // Een naam met een ' in wordt dan \'

                    $naam = addslashes($_POST['naam']);
                    $email = addslashes($_POST['email']);
                    $bericht = addslashes($_POST['bericht']);

                    //hier kijken we na of er iets is ingevuld, is dat niet zo dan geven we hem een mededeling mee
                    //dit is de 2e fase om spammers en hackers tegen te gaan.

                    if($_POST['naam'] ==''){
                        echo "U dient een naam in te vullen!";
                    }
elseif($_POST['email'] ==''){
                        echo "U dient een email in te vullen!";
                    }
elseif($_POST['bericht'] ==''){
                        echo "U dient een bericht in te vullen!";
                    }
else{
                    // Stel de query op met INSERT
                    $query = "INSERT INTO gastenboek (naam, email, bericht, datum, ip) "
                           . "VALUES ('$naam','$email','$bericht', NOW(), '".$_SERVER['REMOTE_ADDR']."')";
                    // voer de query uit
                    $result = mysql_query($query);

                    if ($result == true) {
                        echo "Bedankt $naam! Om een bericht achter te laten op TeWinkelGroup";
                    }
else {
                        echo "Sorry, er ging iets mis bij het toevoegen van je bericht.";
                    }
                    }
                    }
                }

                ?>

                </center>
                </td>
            </tr>
        </table>
    </div>
</div>
<?footer();?>
</center>
</body>
</html>


Weet er iemand waar dat mijn fout zit?
alvast bedankt!
Robbe

Toevoeging op 14/04/2014 15:53:59:

PROBLEEM OPGELOST :D

onder de include("routines.php");

moest ik nog een
connecttodb(); plaatsen :)
 
PHP hulp

PHP hulp

06/05/2024 22:57:45
 
- Ariën  -
Beheerder

- Ariën -

14/04/2014 16:10:47
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
  if($result == false){
        echo "Er staan nog geen berichten in het Gastenboek.";
    }

Hoe kom er erbij dat als $result false is dat er geen berichten in je gastenboek staan?
De query is dan gewoon stuk, en dan zou je gewoon netjes mysql_error() moeten bekijken.
 
Pipo Clown

Pipo Clown

14/04/2014 16:14:25
Quote Anchor link
Volgens mij kan dit nooit goed gaan.

Je <div> heb je in je while lus staan en wordt dus tig keer geplaatst.
De </div> staat na je while lus zodat er bergen niet afgesloten <div>'s staan.
 
Ivo P

Ivo P

14/04/2014 16:16:01
Quote Anchor link
gebruik ook <¿php in plaats van <¿ omdat de korte versie door veel servers niet (meer) ondersteund wordt.
 
Webmaster Robbe

Webmaster Robbe

14/04/2014 16:33:02
Quote Anchor link
@Ivo oké, pas ik aan!
@pip Werkt wel hoor :) Geen enkel foutje te bespeuren!
 
Michael -

Michael -

14/04/2014 18:29:46
Quote Anchor link
>>> @pip Werkt wel hoor :)

Er is een verschil tussen wel werken en goed werken.

>>> Geen enkel foutje te bespeuren!

Wel in je broncode.
Bij elke bericht open je een div <div id="show_gastenboek_reacties">
Maar sluit hem na de while maar 1x af.
Dus als je 100 berichten hebt, sluit je em 1x en heb je 99 open div's.
Je kunt regel 79 beter verplaatsen tussen 66 en 67.
Ook is t wat overdreven om voor elke bericht een nieuwe table te gebruiken. Als je de table ook opent voor de while en afsluit na de while heb je maar 1 table nodig voor je berichten.
 
Webmaster Robbe

Webmaster Robbe

14/04/2014 19:02:09
Quote Anchor link
Dankje Michael!
 



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.