fout in blog

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ruben php

ruben php

18/03/2009 18:51:00
Quote Anchor link
ik denk dat ik een foutje gemaakt heb in mijn sql code bij het toevoegen of iets anders dit is een van mijn eerste scripts waarbij ik echt werk met een object en functies dus ik weet ongeveer wat ik doe :D

hij laat de berichten van het blog wel zien maar hij voegt ze niet toe

iemand suggesties hoe ik dit kan oplossen

////blog.php


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

include "bestanden/config.php"; //database connectie

class blog
{
    function
schrijven()
    {

        $datum = date('d-m-y');
        
        echo "
        <table align='center'>
        <form action='blog.php?functie=toevoegen' method='post'>
        <tr>
        <td><label>Titel:</label></td>
        <td><input type='text' size='30' name='titel' /></td>
        </tr>
        <input type='hidden' value='$datum' name='datum' />
        <tr>
        <td><label>text</label></td>
        <td><textarea name='text'></textarea></td>
        </tr>
        <tr><td></td>
        <td><input type='submit' value='toevoegen' /></td>
        </tr>
        </form>
        </table>
        "
;
    }
    
    function
toevoegen($titel,$datum,$text)
    {

        $qwery = "INSERT INTO blog ('titel','datum','text') VALUES ($title,$datum,$text)";
        mysql_query($qwery) or die('kan het niet toevoegen');
        echo "<script type='text/javascript'>alert('bericht succesvol toegevoegd');</script>";
    }
    
    function
bekijken()
    {

        echo "<table align='center' border='0'>";
        
        $qwery = "SELECT * FROM blog";
        $reslut = mysql_query($qwery);
        
        while($row = mysql_fetch_array($reslut))
        {

            echo "
            <tr>
            <td>"
.$row['titel']."</td>
            <td>"
.$row['datum']."</td>
            <td><a href='?functie=verwijderen&verwijderen="
.$row['titel']."'>verwijderen</a></td>
            </tr>
            <tr>
            <td colspan='5'>"
.$row['text']."</td>
            </tr>
            "
;
        }

        
        echo"</table>";
    }
    
    function
instalatie()
    {

        $qwery = "CREATE TABLE blog (titel varchar(255),datum varchar(255),text text)";
        mysql_query($qwery) or die('kan de database niet instaleren');
        echo "<script type='text/javascript'>alert('database succesvol geinstaleerd \nu kunt nu beginnen');</script>";
    }
    
    function
verwijderen($titel)
    {

        $qwery = "DELETE FROM blog WHERE titel=$titel";
        mysql_query($qwery) or die('kan het bericht niet verwijderen');
        echo "<script type='text/javascript'>alert('Bericht succesvol verijderd');</script>";
    }
}


$blog = new blog;

$functie = $_GET['functie'];

echo"<h1 align='center'>blog</h1>";
echo"<p align='center'><a href='?functie=instalatie'> instaleren </a> | <a href='?functie=schrijven'> schrijf </a></p><br/>";
echo"<div align='center'>";

switch($functie)
{
    case
schrijven:
        $blog->schrijven();
    break;
    
    case
toevoegen:
        $titel = $_POST['titel'];
        $datum = $_POST['datum'];
        $text = $_POST['text'];
        $blog->toevoegen($titel,$datum,$text);
    break;
    
    case
bekijken:
        $blog->bekijken();
    break;
    
    case
instalatie:
        $blog->instalatie();
    break;
    
    case
verijderen:
        $verwijderen = $_GET['verwijderen'];
        $blog->verwijderen($verwijderen);
    break;
    
    default:

        $blog->bekijken();
    break;
}


echo "</div>";

?>



ltrz
Gewijzigd op 01/01/1970 01:00:00 door Ruben php
 
PHP hulp

PHP hulp

26/12/2024 18:03:52
 
Wouter De Schuyter

Wouter De Schuyter

18/03/2009 18:54:00
Quote Anchor link
Geen idee, beetje rare manier van werken vind ik persoonlijk..
 
- SanThe -

- SanThe -

18/03/2009 19:03:00
Quote Anchor link
Alle quotes in de query's staan verkeerd of ontbreken.
Verder ontbreekt elke vorm van foutafhandeling.
En het is ook nog eens sql-injection gevoelig oftewel lek.
 
Ruben php

ruben php

18/03/2009 19:13:00
Quote Anchor link
SanThe schreef op 18.03.2009 19:03:
Alle quotes in de query's staan verkeerd of ontbreken.


je bedoelt hierin :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$qwery = "INSERT INTO blog ('titel','datum','text') VALUES ($title,$datum,$text)";


welke precies?

alvast bedankt

PS wat betreft de veiligheid daar maak ik me later wel druk om
hij moet voor mezelf eerst werken, want ik maak t ook voor mezelf voor de fun, om te oefenen
Gewijzigd op 01/01/1970 01:00:00 door ruben php
 
- SanThe -

- SanThe -

18/03/2009 19:23:00
Quote Anchor link
'titel' is op deze manier geen tabel/veldnaam maar gewoon tekst. Hier horen geen quotes omheen.
En bij $title horen juist weer wel quotes want dit is tekst. En hou $vars buiten de dubbele quotes.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query
= "INSERT INTO blog (
                      titel,
                      datum,
                      text
                      )
                      VALUES
                      (
                      '"
. mysql_real_escape_string($title) . "',
                      NOW(),
                      '"
. mysql_real_escape_string($text) . "'
                      )"
;
?>
 
Willem Jan Z

Willem Jan Z

18/03/2009 20:10:00
Quote Anchor link
En je switch werkt op deze manier gewoon niet. Zal altijd naar default terugvallen. Tenzij ik heb gemist waar jij de constanten definieert die je daar gebruikt.
 
Ruben php

ruben php

19/03/2009 19:52:00
Quote Anchor link
super bedankt allemaal ik ben er achter:D
 



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.