gastenboek
Ik heb een gastenboek van internet geplukt met het volgende probleem:
De berichten worden op een of andere manier niet uit de database gehaald of in ieder geval; niet getoond. Wel wordt er getoond in toon.php :
Geplaatst door:
E-mail:
Bericht:
Maar hier staat niets achter....
2 belangrijkste bestanden zijn
toevoegen.php
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
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
<?php
ob_start();
include "verbinding.php";
include "forum_ubb.php";
if ($_POST["submit"]) {
if(isset($_COOKIE['gastenboekcookie'])){
die("Om fout gebruik (flooding / dubbelposts) van het forum te voorkomen kun je slechts 1 bericht per minuut plaatsen.");
exit();
}
$naam = $_POST['naam'];
$email = $_POST['email'];
$msg = $_POST['msg'];
$naam = htmlspecialchars($naam);
$email = htmlspecialchars($email);
$msg = htmlspecialchars($msg);
$naam = strip_tags($naam);
$email = strip_tags($email);
$msg = strip_tags($msg);
/* scheldwoordfilter je kan zelf nog toevoegen */
$msg = addslashes($msg);
/*einde scheldwoord filter*/
$sql = "INSERT INTO Guestbook SET Name='$naam', Email='$email', Message='$msg'";
$query = mysql_query($sql) or die("bericht niet geplaatst!");
echo "Bericht succesvol geplaatst! <a href=\"toon.php\">Terug naar gastenboek</a>";
setcookie("gastenboekcookie","geset",time()+100,"/");
} else { ?>
ob_start();
include "verbinding.php";
include "forum_ubb.php";
if ($_POST["submit"]) {
if(isset($_COOKIE['gastenboekcookie'])){
die("Om fout gebruik (flooding / dubbelposts) van het forum te voorkomen kun je slechts 1 bericht per minuut plaatsen.");
exit();
}
$naam = $_POST['naam'];
$email = $_POST['email'];
$msg = $_POST['msg'];
$naam = htmlspecialchars($naam);
$email = htmlspecialchars($email);
$msg = htmlspecialchars($msg);
$naam = strip_tags($naam);
$email = strip_tags($email);
$msg = strip_tags($msg);
/* scheldwoordfilter je kan zelf nog toevoegen */
$msg = addslashes($msg);
/*einde scheldwoord filter*/
$sql = "INSERT INTO Guestbook SET Name='$naam', Email='$email', Message='$msg'";
$query = mysql_query($sql) or die("bericht niet geplaatst!");
echo "Bericht succesvol geplaatst! <a href=\"toon.php\">Terug naar gastenboek</a>";
setcookie("gastenboekcookie","geset",time()+100,"/");
} else { ?>
<form method="post" action="">
Naam: <input type="text" name="naam"><br>
Email: <input type="text" name="email"><br>
Bericht: <textarea name="msg" rows="5" cols="30"></textarea><br>
<input type="submit" name="submit" value="Plaats bericht">
</form>
en toon.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
include("forum_ubb.php");
include("verbinding.php");
$query = "SELECT Name, Email, Message FROM Guestbook ORDER BY ID Desc";
$result = mysql_query($query) or die ("mysql error!");
$num = mysql_num_rows($result);
while($obj=mysql_fetch_object($result)){
$name = $obj->Name;
$email = $obj->Email;
$msg = $obj->Message;
?>
include("forum_ubb.php");
include("verbinding.php");
$query = "SELECT Name, Email, Message FROM Guestbook ORDER BY ID Desc";
$result = mysql_query($query) or die ("mysql error!");
$num = mysql_num_rows($result);
while($obj=mysql_fetch_object($result)){
$name = $obj->Name;
$email = $obj->Email;
$msg = $obj->Message;
?>
<table border="1" align="center">
<tr><td>Geplaatst door:</td>
<td></td></tr>
<tr><td>E-mail:</td>
<td></td></tr>
<tr><td>Bericht:</td>
<td></td></tr>
</table><br />
<center><a href="toevoegen.php">Voeg een bericht toe</a></center>
Bovendien krijg ik nog een error in toevoegen.php
Notice: Undefined index: submit in C:\wamp\www\toevoegen.php on line 5
Kan iemand me hierbij helpen...
Alvast bedankt...
Quote:
Kan iemand me hierbij helpen...
Wil je wel advies geven. Gebruik dit script niet, is namelijk "bagger".
Weet je zelf al wat van PHP/Mysql af? Zo niet, bekijk deze tuts eens.
- http://phptuts.nl/view/39/
- http://phptuts.nl/view/35/
- http://phptuts.nl/view/41/
ik kan dingen begijpen als ik de code lees en wat kleine aanpassingen maken maar ben echt niet in staat om zelf zo´n script te maken
..totdat je de vorige post las en bij de eerste link begon.
Quote:
..totdat je de vorige post las en bij de eerste link begon.
inderdaad.
Omdat ik in een slechte bui ben heb ik 1 HELE SIMPELE gemaakt, jij mag hem verder bouwen.
reactie_plaatsen.php
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
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
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
<?PHP
# Connectie met de database maken
require_once 'connect_db.php';
# Error is false
$Error = false;
# Array voor de messages
$Message = array();
# Kijken of er gepost wordt
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
# Kijken of naam leeg is
if(empty($_POST['naam']))
{
# Geen naam ingevuld
$Message[] = 'Vul A.U.B een naam in.';
# Error is true
$Error = true;
}
# Kijken of email adres leeg is
if(empty($_POST['email']))
{
# Geen email adres ingevuld
$Message[] = 'Vul A.U.B een email adres in.';
# Error is true
$Error = true;
}
# Kijken of bericht leeg is
if(empty($_POST['bericht']))
{
# Geen bericht ingevuld
$Message[] = 'Vul A.U.B een bericht in.';
# Error is true
$Error = true;
}
# Kijken of error false is
if($Error == false)
{
# Query uitvoeren
$Query =
"
INSERT INTO
berichten
(
naam,
email,
bericht,
ip,
datum
)
VALUES
(
'".mysql_real_escape_string($_POST['naam'])."',
'".mysql_real_escape_string($_POST['email'])."',
'".mysql_real_escape_string($_POST['bericht'])."',
'".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."',
NOW()
)
";
# Resultaat van de query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Fout opgetreden in de query
$Message[] = 'Er is een fout opgetreden, fout: '.mysql_error();
}
else
{
# Succesvol in database geplaats
$Message[] = 'U bericht is succesvol geplaatst.';
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bericht Plaatsen</title>
</head>
<body>
<h3>Bericht Plaatsen</h3>
<p>
<?PHP
# Kijken of er een message is
if(!empty($Message))
{
# Message(s) laten zien
foreach($Message as $Msg)
{
echo $Msg.'<br/>';
}
}
?>
</p>
<form id="form1" name="form1" method="post" action="">
<table width="400" border="0">
<tr>
<td>Naam:</td>
<td><input type="text" name="naam" id="naam" /></td>
</tr>
<tr>
<td>Email adres:</td>
<td><input type="text" name="email" id="email" /></td>
</tr>
<tr>
<td>Bericht:</td>
<td><textarea name="bericht" id="bericht" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" id="submit" value="Plaatsen" /> <input type="reset" name="reset" id="reset" value="Wissen" /></td>
</tr>
</table>
</form>
</body>
</html>
# Connectie met de database maken
require_once 'connect_db.php';
# Error is false
$Error = false;
# Array voor de messages
$Message = array();
# Kijken of er gepost wordt
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
# Kijken of naam leeg is
if(empty($_POST['naam']))
{
# Geen naam ingevuld
$Message[] = 'Vul A.U.B een naam in.';
# Error is true
$Error = true;
}
# Kijken of email adres leeg is
if(empty($_POST['email']))
{
# Geen email adres ingevuld
$Message[] = 'Vul A.U.B een email adres in.';
# Error is true
$Error = true;
}
# Kijken of bericht leeg is
if(empty($_POST['bericht']))
{
# Geen bericht ingevuld
$Message[] = 'Vul A.U.B een bericht in.';
# Error is true
$Error = true;
}
# Kijken of error false is
if($Error == false)
{
# Query uitvoeren
$Query =
"
INSERT INTO
berichten
(
naam,
email,
bericht,
ip,
datum
)
VALUES
(
'".mysql_real_escape_string($_POST['naam'])."',
'".mysql_real_escape_string($_POST['email'])."',
'".mysql_real_escape_string($_POST['bericht'])."',
'".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."',
NOW()
)
";
# Resultaat van de query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Fout opgetreden in de query
$Message[] = 'Er is een fout opgetreden, fout: '.mysql_error();
}
else
{
# Succesvol in database geplaats
$Message[] = 'U bericht is succesvol geplaatst.';
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bericht Plaatsen</title>
</head>
<body>
<h3>Bericht Plaatsen</h3>
<p>
<?PHP
# Kijken of er een message is
if(!empty($Message))
{
# Message(s) laten zien
foreach($Message as $Msg)
{
echo $Msg.'<br/>';
}
}
?>
</p>
<form id="form1" name="form1" method="post" action="">
<table width="400" border="0">
<tr>
<td>Naam:</td>
<td><input type="text" name="naam" id="naam" /></td>
</tr>
<tr>
<td>Email adres:</td>
<td><input type="text" name="email" id="email" /></td>
</tr>
<tr>
<td>Bericht:</td>
<td><textarea name="bericht" id="bericht" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" id="submit" value="Plaatsen" /> <input type="reset" name="reset" id="reset" value="Wissen" /></td>
</tr>
</table>
</form>
</body>
</html>
gastenboek.php
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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
<?PHP
# Connectie met de database maken
require_once 'connect_db.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Gastenboek</title>
</head>
<body>
<h3>Gastenboek</h3>
<p>
<?PHP
# Query uitvoeren
$Query =
"
SELECT
naam,
email,
bericht
FROM
berichten
ORDER BY
datum
DESC
";
# Resultaat van de query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Fout opgetreden in de query
echo 'Er is een fout opgetreden, fout: '.mysql_error();
}
else
{
# Kijken of er wel resultaten zijn
if(mysql_num_rows($Result) == 0)
{
# Geen resultaten in de database
echo 'Er staan geen berichten in de database.';
}
else
{
# Begin van de tabel
echo '<table width="400" border="0">';
# While loopje uitvoeren om de berichten te tonen
while($Row = mysql_fetch_assoc($Result))
{
echo '
<tr>
<td>Naam:</td>
<td>'.$Row['naam'].'</td>
</tr>
<tr>
<td>Email adres:</td>
<td>'.$Row['email'].'</td>
</tr>
<tr>
<td>Bericht:</td>
<td>'.$Row['bericht'].'</td>
</tr>
<tr>
<td colspan="2">-----------------------------------</td>
</tr>
';
}
# Tabel afsluiten
echo '</table>';
}
}
?>
</p>
</body>
</html>
# Connectie met de database maken
require_once 'connect_db.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Gastenboek</title>
</head>
<body>
<h3>Gastenboek</h3>
<p>
<?PHP
# Query uitvoeren
$Query =
"
SELECT
naam,
email,
bericht
FROM
berichten
ORDER BY
datum
DESC
";
# Resultaat van de query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Fout opgetreden in de query
echo 'Er is een fout opgetreden, fout: '.mysql_error();
}
else
{
# Kijken of er wel resultaten zijn
if(mysql_num_rows($Result) == 0)
{
# Geen resultaten in de database
echo 'Er staan geen berichten in de database.';
}
else
{
# Begin van de tabel
echo '<table width="400" border="0">';
# While loopje uitvoeren om de berichten te tonen
while($Row = mysql_fetch_assoc($Result))
{
echo '
<tr>
<td>Naam:</td>
<td>'.$Row['naam'].'</td>
</tr>
<tr>
<td>Email adres:</td>
<td>'.$Row['email'].'</td>
</tr>
<tr>
<td>Bericht:</td>
<td>'.$Row['bericht'].'</td>
</tr>
<tr>
<td colspan="2">-----------------------------------</td>
</tr>
';
}
# Tabel afsluiten
echo '</table>';
}
}
?>
</p>
</body>
</html>
connect_db.php
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?PHP
# Errors weergeven
error_reporting(E_ALL);
ini_set('display_errors', 1);
# Database gegevens
$db = array (
'host' => 'localhost',
'user' => '',
'pass' => '',
'dbname' => ''
);
# Kijken of we connectie kunnen maken
if(!mysql_connect($db['host'], $db['user'], $db['pass']))
{
trigger_error('Fout bij verbinden: '.mysql_error());
}
elseif(!mysql_select_db($db['dbname']))
{
trigger_error('Fout bij selecteren database: '.mysql_error());
}
?>
# Errors weergeven
error_reporting(E_ALL);
ini_set('display_errors', 1);
# Database gegevens
$db = array (
'host' => 'localhost',
'user' => '',
'pass' => '',
'dbname' => ''
);
# Kijken of we connectie kunnen maken
if(!mysql_connect($db['host'], $db['user'], $db['pass']))
{
trigger_error('Fout bij verbinden: '.mysql_error());
}
elseif(!mysql_select_db($db['dbname']))
{
trigger_error('Fout bij selecteren database: '.mysql_error());
}
?>
SQL Table
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
CREATE TABLE berichten(
id int( 11 ) NOT NULL auto_increment,
naam varchar( 50 ) collate utf8_unicode_ci NOT NULL,
email varchar( 255 ) COLLATE utf8_unicode_ci NOT NULL,
bericht varchar( 255 ) COLLATE utf8_unicode_ci NOT NULL,
ip varchar( 15 ) NOT NULL default '',
datum datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY( id )
) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;
id int( 11 ) NOT NULL auto_increment,
naam varchar( 50 ) collate utf8_unicode_ci NOT NULL,
email varchar( 255 ) COLLATE utf8_unicode_ci NOT NULL,
bericht varchar( 255 ) COLLATE utf8_unicode_ci NOT NULL,
ip varchar( 15 ) NOT NULL default '',
datum datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY( id )
) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;
Let op !: Code is niet getest, dat mag je zelf doen ^^
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark