fout in script maar waar?
we zijn een forum aan het maken. maar het is bijna af, we vinden alleen de fout niet waardoor geen reactie's kunnen worden geplaatst.
hier is het script even te downloaden:
http://rapidshare.com/files/141342441/forum21.rar.html
Plaats even een stuk script en welke error hij geeft.
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
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
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
<?
require("database.php");
function maand($counter)
{
if ($counter == 1)
$count = "januari";
elseif ($counter == 2)
$count = "februari";
elseif ($counter == 3)
$count = "maart";
elseif ($counter == 4)
$count = "april";
elseif ($counter == 5)
$count = "mei";
elseif ($counter == 6)
$count = "juni";
elseif ($counter == 7)
$count = "juli";
elseif ($counter == 8)
$count = "augustus";
elseif ($counter == 9)
$count = "september";
elseif ($counter == 10)
$count = "oktober";
elseif ($counter == 11)
$count = "november";
elseif ($counter == 12)
$count = "december";
return $count;
}
if (!$_GET['id'] && !$_POST['id'])
{
$counter = 1;
while($counter <= 12)
{
if ($counter == 1)
$counter = "0" . $counter;
$sql = "SELECT id,titel,datum,substring(datum, 7, 4) as year FROM topics WHERE SUBSTRING(datum, 4, 2) = " . $counter . " order by id DESC,year DESC";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
$year = $row['year'];
$berichten = mysql_num_rows($res);
$month = maand($counter);
if ($berichten == 1)
echo "<b>" . ucfirst($month) . " " . $year . "</b> (" . $berichten . " bericht)";
else
echo "<b>" . ucfirst($month) . " " . $year . "</b> (" . $berichten . " berichten)";
echo "<blockquote>";
while ($row = mysql_fetch_array($res))
{
$sql2 = "select id from topics where id = " . $row['id'];
$res2 = mysql_query($sql2);
$count = mysql_num_rows($res2);
echo "[" . $row['datum'] . "] <a href=" . $_SERVER['PHP_SELF'] . "?id=" . $row['id'] . ">" . htmlentities($row['titel']) . "</a> (" . $count . ")<br>";
}
echo "</blockquote><p>";
}
else
{
if ($counter <= 12)
{
$length = strlen(maand($counter)) - 1;
$month = strtoupper(substr(maand($counter), 0, -$length)) . substr(maand($counter), 1);
if ($counter == 11)
$months .= $month . " en ";
elseif ($counter == 12)
$months .= $month;
else
$months .= $month . ", ";
}
if ($counter == 12)
{
if (strlen($months) <= 8)
echo "Er zijn (nog) geen topics van de maand: " . $months;
else
echo "Er zijn (nog) geen topics van de maanden: " . $months;
}
}
$counter++;
}
}
else
{
if ($_POST['submit'] && $_POST['naam'] && $_POST['msg'])
{
$datum = date("d.m.Y H:i");
$sql = "INSERT INTO replys (id, naam, msg, bericht, datum, tid) VALUES ";
$sql .= "('', '" . $_POST['naam'] . "', '" . $_POST['naam'] . "', '" . $_POST['msg'] . "', '" . $datum . "', '" . $_SERVER['REMOTE_ADDR'] . "', '" . $_GET['id'] . "')";
$res = mysql_query($sql);
if ($res)
echo "<SCRIPT LANGUAGE=\"javascript\" TYPE=\"text/javascript\">window.location='" . $_SERVER['PHP_SELF'] . "?id=" . $_GET['id'] . "'</SCRIPT>\n";
else
echo "Reactie niet toegevoegd.";
}
else
{
$sql = "SELECT id, naam, msg, bericht, datum FROM topics WHERE id = '" . $_GET['id'] . "'";
$res = mysql_query($sql);
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "\" target=\"_top\">topic overzicht</a><p>";
if (mysql_num_rows($res))
{
$row = mysql_fetch_array($res);
$hiddentitel = $row['naam'];
echo "<h1>" . htmlentities($row['nssm']) . "</h1> [" . $row['datum'] . "]<p>";
$row['msg'] = nl2br(htmlentities($row['msg']));
echo $row['msg'] . "<p>";
echo "<hr color=\"#000000\"><p>";
$sql = "SELECT id,naam,bericht,msg,datum FROM replys WHERE tid = '" . $_GET['id'] . "' ORDER BY id DESC";
$res = mysql_query($sql);
echo "<a name=\"reacties\"><table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"#CFC9B4\" width=\"100%\"><tr><td>";
echo "<table border=0 cellspacing=0 cellpadding=5 width=\"100%\"></a>";
if (mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo "<tr><td bgcolor=\"#CFC9B4\"><b>" . htmlentities($row['naam']) . "</b> [" . $row['datum'] . "]</td></tr>";
$row['msg'] = nl2br(htmlentities($row['msg']));
echo "<tr><td bgcolor=\"#E4DECA\">" . $row['msg'] . "</td></tr>";
}
}
else
{
echo "<tr><td bgcolor=\"#CFC9B4\">Er zijn nog geen reacties op dit bericht</td></tr>";
}
echo "</td></tr></table></table><p>";
echo "<form method=\"post\" action=\"$PHP_SELF?id=$_GET[id]\">";
echo "<input type=\"hidden\" name=\"titel\" value=\"$hiddentitel\">";
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\" bgcolor=\"#E4DECA\" bordercolor=\"#CFC9B4\" width=\"100%\">";
echo "<tr><td><table border=0 cellspacing=0 cellpadding=0>";
echo "<tr><td width=\"60\" valign=\"top\">Naam</td><td><input type=\"text\" name=\"naam\">";
echo "<tr><td width=\"60\" valign=\"top\">Bericht</td><td><textarea name=\"msg\" rows=\"6\" cols=\"50\"></textarea>";
echo "<tr><td width=\"60\"> </td><td><input type=\"submit\" name=\"submit\" value=\"reactie plaatsen\">";
echo "</table></td></tr>";
echo "</table>";
echo "</form>";
}
else
{
echo "topic niet gevonden.";
}
echo "<p><a href=\"" . $_SERVER['PHP_SELF'] . "\" target=\"_top\">Topic overzicht</a><p>";
}
}
?>
require("database.php");
function maand($counter)
{
if ($counter == 1)
$count = "januari";
elseif ($counter == 2)
$count = "februari";
elseif ($counter == 3)
$count = "maart";
elseif ($counter == 4)
$count = "april";
elseif ($counter == 5)
$count = "mei";
elseif ($counter == 6)
$count = "juni";
elseif ($counter == 7)
$count = "juli";
elseif ($counter == 8)
$count = "augustus";
elseif ($counter == 9)
$count = "september";
elseif ($counter == 10)
$count = "oktober";
elseif ($counter == 11)
$count = "november";
elseif ($counter == 12)
$count = "december";
return $count;
}
if (!$_GET['id'] && !$_POST['id'])
{
$counter = 1;
while($counter <= 12)
{
if ($counter == 1)
$counter = "0" . $counter;
$sql = "SELECT id,titel,datum,substring(datum, 7, 4) as year FROM topics WHERE SUBSTRING(datum, 4, 2) = " . $counter . " order by id DESC,year DESC";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
$year = $row['year'];
$berichten = mysql_num_rows($res);
$month = maand($counter);
if ($berichten == 1)
echo "<b>" . ucfirst($month) . " " . $year . "</b> (" . $berichten . " bericht)";
else
echo "<b>" . ucfirst($month) . " " . $year . "</b> (" . $berichten . " berichten)";
echo "<blockquote>";
while ($row = mysql_fetch_array($res))
{
$sql2 = "select id from topics where id = " . $row['id'];
$res2 = mysql_query($sql2);
$count = mysql_num_rows($res2);
echo "[" . $row['datum'] . "] <a href=" . $_SERVER['PHP_SELF'] . "?id=" . $row['id'] . ">" . htmlentities($row['titel']) . "</a> (" . $count . ")<br>";
}
echo "</blockquote><p>";
}
else
{
if ($counter <= 12)
{
$length = strlen(maand($counter)) - 1;
$month = strtoupper(substr(maand($counter), 0, -$length)) . substr(maand($counter), 1);
if ($counter == 11)
$months .= $month . " en ";
elseif ($counter == 12)
$months .= $month;
else
$months .= $month . ", ";
}
if ($counter == 12)
{
if (strlen($months) <= 8)
echo "Er zijn (nog) geen topics van de maand: " . $months;
else
echo "Er zijn (nog) geen topics van de maanden: " . $months;
}
}
$counter++;
}
}
else
{
if ($_POST['submit'] && $_POST['naam'] && $_POST['msg'])
{
$datum = date("d.m.Y H:i");
$sql = "INSERT INTO replys (id, naam, msg, bericht, datum, tid) VALUES ";
$sql .= "('', '" . $_POST['naam'] . "', '" . $_POST['naam'] . "', '" . $_POST['msg'] . "', '" . $datum . "', '" . $_SERVER['REMOTE_ADDR'] . "', '" . $_GET['id'] . "')";
$res = mysql_query($sql);
if ($res)
echo "<SCRIPT LANGUAGE=\"javascript\" TYPE=\"text/javascript\">window.location='" . $_SERVER['PHP_SELF'] . "?id=" . $_GET['id'] . "'</SCRIPT>\n";
else
echo "Reactie niet toegevoegd.";
}
else
{
$sql = "SELECT id, naam, msg, bericht, datum FROM topics WHERE id = '" . $_GET['id'] . "'";
$res = mysql_query($sql);
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "\" target=\"_top\">topic overzicht</a><p>";
if (mysql_num_rows($res))
{
$row = mysql_fetch_array($res);
$hiddentitel = $row['naam'];
echo "<h1>" . htmlentities($row['nssm']) . "</h1> [" . $row['datum'] . "]<p>";
$row['msg'] = nl2br(htmlentities($row['msg']));
echo $row['msg'] . "<p>";
echo "<hr color=\"#000000\"><p>";
$sql = "SELECT id,naam,bericht,msg,datum FROM replys WHERE tid = '" . $_GET['id'] . "' ORDER BY id DESC";
$res = mysql_query($sql);
echo "<a name=\"reacties\"><table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"#CFC9B4\" width=\"100%\"><tr><td>";
echo "<table border=0 cellspacing=0 cellpadding=5 width=\"100%\"></a>";
if (mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo "<tr><td bgcolor=\"#CFC9B4\"><b>" . htmlentities($row['naam']) . "</b> [" . $row['datum'] . "]</td></tr>";
$row['msg'] = nl2br(htmlentities($row['msg']));
echo "<tr><td bgcolor=\"#E4DECA\">" . $row['msg'] . "</td></tr>";
}
}
else
{
echo "<tr><td bgcolor=\"#CFC9B4\">Er zijn nog geen reacties op dit bericht</td></tr>";
}
echo "</td></tr></table></table><p>";
echo "<form method=\"post\" action=\"$PHP_SELF?id=$_GET[id]\">";
echo "<input type=\"hidden\" name=\"titel\" value=\"$hiddentitel\">";
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\" bgcolor=\"#E4DECA\" bordercolor=\"#CFC9B4\" width=\"100%\">";
echo "<tr><td><table border=0 cellspacing=0 cellpadding=0>";
echo "<tr><td width=\"60\" valign=\"top\">Naam</td><td><input type=\"text\" name=\"naam\">";
echo "<tr><td width=\"60\" valign=\"top\">Bericht</td><td><textarea name=\"msg\" rows=\"6\" cols=\"50\"></textarea>";
echo "<tr><td width=\"60\"> </td><td><input type=\"submit\" name=\"submit\" value=\"reactie plaatsen\">";
echo "</table></td></tr>";
echo "</table>";
echo "</form>";
}
else
{
echo "topic niet gevonden.";
}
echo "<p><a href=\"" . $_SERVER['PHP_SELF'] . "\" target=\"_top\">Topic overzicht</a><p>";
}
}
?>
of zou het in reactietracker zitten? dan is die hier:
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
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
<?
require("database.php");
$sql = "SELECT tid,naam,datum FROM replys ORDER BY id DESC LIMIT 0, 8";
$res = mysql_query($sql);
{
$i = 1;
while($row = mysql_fetch_array($res))
{
$row['datum'] = substr($row['datum'], 0, 5);
if ($i == 8)
echo "[" . $row['datum'] . "] <a href=\"index.php?id=" . $row['tid'] . "\" title=\"" . htmlentities($row['titel']) . "\" target=\"_top\">" . htmlentities($row['naam']) . "</a>";
else
echo "[" . $row['datum'] . "] <a href=\"index.php?id=" . $row['tid'] . "\" title=\"" . htmlentities($row['titel']) . "\" target=\"_top\">" . htmlentities($row['naam']) . "</a><br>";
$i++;
}
}
else
{
echo "<i>Er zijn nog geen reacties</i>";
}
?>
require("database.php");
$sql = "SELECT tid,naam,datum FROM replys ORDER BY id DESC LIMIT 0, 8";
$res = mysql_query($sql);
{
$i = 1;
while($row = mysql_fetch_array($res))
{
$row['datum'] = substr($row['datum'], 0, 5);
if ($i == 8)
echo "[" . $row['datum'] . "] <a href=\"index.php?id=" . $row['tid'] . "\" title=\"" . htmlentities($row['titel']) . "\" target=\"_top\">" . htmlentities($row['naam']) . "</a>";
else
echo "[" . $row['datum'] . "] <a href=\"index.php?id=" . $row['tid'] . "\" title=\"" . htmlentities($row['titel']) . "\" target=\"_top\">" . htmlentities($row['naam']) . "</a><br>";
$i++;
}
}
else
{
echo "<i>Er zijn nog geen reacties</i>";
}
?>
als fout geeft die aan: reactie is niet toegevoegd, ga maar naar http://artisttube.v3host.nl/forum21/index.php
Gewijzigd op 01/01/1970 01:00:00 door robin
Er gaat dus iets fout met mysql_query(). Echo mysql_error() eens, dan weet je wat er fout gaat.
sorry, ik weet er niet super veel van, hoe moet ik dat doen en waar moet ik het zetten
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
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
<?
require("database.php");
$sql = "SELECT tid,naam,datum FROM replys ORDER BY id DESC LIMIT 0, 8";
$res = mysql_query($sql) or die (mysql_error());
{
$i = 1;
while($row = mysql_fetch_array($res))
{
$row['datum'] = substr($row['datum'], 0, 5);
if ($i == 8)
echo "[" . $row['datum'] . "] <a href=\"index.php?id=" . $row['tid'] . "\" title=\"" . htmlentities($row['titel']) . "\" target=\"_top\">" . htmlentities($row['naam']) . "</a>";
else
echo "[" . $row['datum'] . "] <a href=\"index.php?id=" . $row['tid'] . "\" title=\"" . htmlentities($row['titel']) . "\" target=\"_top\">" . htmlentities($row['naam']) . "</a><br>";
$i++;
}
}
else
{
echo "<i>Er zijn nog geen reacties</i>";
}
?>
require("database.php");
$sql = "SELECT tid,naam,datum FROM replys ORDER BY id DESC LIMIT 0, 8";
$res = mysql_query($sql) or die (mysql_error());
{
$i = 1;
while($row = mysql_fetch_array($res))
{
$row['datum'] = substr($row['datum'], 0, 5);
if ($i == 8)
echo "[" . $row['datum'] . "] <a href=\"index.php?id=" . $row['tid'] . "\" title=\"" . htmlentities($row['titel']) . "\" target=\"_top\">" . htmlentities($row['naam']) . "</a>";
else
echo "[" . $row['datum'] . "] <a href=\"index.php?id=" . $row['tid'] . "\" title=\"" . htmlentities($row['titel']) . "\" target=\"_top\">" . htmlentities($row['naam']) . "</a><br>";
$i++;
}
}
else
{
echo "<i>Er zijn nog geen reacties</i>";
}
?>
==>
Gewijzigd op 01/01/1970 01:00:00 door Wouter De Schuyter
Zo hoort het:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$res = mysql_query($sql);
if(!$res)
{
echo 'Mysql fout! '.mysql_error();
}
else
{
// de rest van je script
}
?>
$res = mysql_query($sql);
if(!$res)
{
echo 'Mysql fout! '.mysql_error();
}
else
{
// de rest van je script
}
?>
iChris.nl schreef op 30.08.2008 19:09:
Goed voorbeeld voor hoe het niet moet Paradox!
Zo hoort het:
Zo hoort het:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$res = mysql_query($sql);
if(!$res)
{
echo 'Mysql fout! '.mysql_error();
}
else
{
// de rest van je script
}
?>
$res = mysql_query($sql);
if(!$res)
{
echo 'Mysql fout! '.mysql_error();
}
else
{
// de rest van je script
}
?>
Wtf wat is daar mis mee :p?
Zo heb ik het hier geleerd.. http://www.tizag.com/mysqlTutorial/
Eigenlijk moet je nooit die()en ;) Je wilt meestal namelijk niet het hele script afsluiten, maar alleen het gedeelte dat afhankelijk is van de query. Dingen als een footer, die vaak verloren gaan bij die(), wil je namelijk niet weghebben.
Met een if-je/ else-je vind ik vaak ook minder, of in elk geval de echo: Een trigger_error() in plaats van een die() of echo() bevalt mij beter met foutafhandeling op de "oude" manier. Tegenwoordig is het meer met de try catch methode.
Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'@'localhost' (using password: NO) in /home/artist/domains/artisttube.v3host.nl/public_html/forum21/index.php on line 29
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/artist/domains/artisttube.v3host.nl/public_html/forum21/index.php on line 29
Mysql fout! Access denied for user 'apache'@'localhost' (using password: NO)
Wat moet ik hieraan doen?
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/artist/domains/artisttube.v3host.nl/public_html/forum21/index.php on line 165
je inlog gegevens kloppen niet.
je hoeft je helemaal niet in te loggen
Misschien hoef je niet in te loggen op de site, maar in ieder geval wel op MySQL.
Gezien je scripts moet je je database.php even aanpassen ;)