fout in script maar waar?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robin

robin

30/08/2008 18:40:00
Quote Anchor link
Hoi,
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
 
PHP hulp

PHP hulp

24/04/2024 04:10:54
 
Loran DP

Loran DP

30/08/2008 18:42:00
Quote Anchor link
Plaats even een stuk script en welke error hij geeft.
 
Robin

robin

30/08/2008 18:46:00
Quote Anchor link
volgensmij is het dit:
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
<?
    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\">&nbsp;</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)
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
<?
    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
 
Douwe

Douwe

30/08/2008 18:50:00
Quote Anchor link
Er gaat dus iets fout met mysql_query(). Echo mysql_error() eens, dan weet je wat er fout gaat.
 
Robin

robin

30/08/2008 18:51:00
Quote Anchor link
sorry, ik weet er niet super veel van, hoe moet ik dat doen en waar moet ik het zetten
 
Wouter De Schuyter

Wouter De Schuyter

30/08/2008 19:07:00
Quote Anchor link
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
<?
    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>";
    }

?>



==>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    $res = mysql_query($sql) or die (mysql_error());
Gewijzigd op 01/01/1970 01:00:00 door Wouter De Schuyter
 
- -

- -

30/08/2008 19:09:00
Quote Anchor link
Goed voorbeeld voor hoe het niet moet Paradox!

Zo hoort het:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
}
?>
 
Wouter De Schuyter

Wouter De Schuyter

30/08/2008 19:11:00
Quote Anchor link
iChris.nl schreef op 30.08.2008 19:09:
Goed voorbeeld voor hoe het niet moet Paradox!

Zo hoort het:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
}
?>


Wtf wat is daar mis mee :p?
Zo heb ik het hier geleerd.. http://www.tizag.com/mysqlTutorial/
 
Douwe

Douwe

30/08/2008 19:13:00
Quote Anchor link
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.
 
Robert Deiman

Robert Deiman

30/08/2008 19:20:00
Quote Anchor link
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.
 
Robin

robin

30/08/2008 20:42:00
Quote Anchor link
dit geeft die aan:

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?
 
Robin

robin

30/08/2008 20:54:00
Quote Anchor link
deze is bij reactietracker:
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
 
Wolfje

wolfje

30/08/2008 21:13:00
Quote Anchor link
je inlog gegevens kloppen niet.
 
Robin

robin

01/09/2008 07:30:00
Quote Anchor link
je hoeft je helemaal niet in te loggen
 
Douwe

Douwe

01/09/2008 07:49:00
Quote Anchor link
Misschien hoef je niet in te loggen op de site, maar in ieder geval wel op MySQL.
 
- -

- -

01/09/2008 08:32:00
Quote Anchor link
Gezien je scripts moet je je database.php even aanpassen ;)
 



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.