fout in blog
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
ltrz
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)
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
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>";
?>
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
Geen idee, beetje rare manier van werken vind ik persoonlijk..
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.
Verder ontbreekt elke vorm van foutafhandeling.
En het is ook nog eens sql-injection gevoelig oftewel lek.
'SanThe:
Alle quotes in de query's staan verkeerd of ontbreken.
je bedoelt hierin :
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
'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.
En bij $title horen juist weer wel quotes want dit is tekst. En hou $vars buiten de dubbele quotes.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
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) . "'
)";
?>
$query = "INSERT INTO blog (
titel,
datum,
text
)
VALUES
(
'" . mysql_real_escape_string($title) . "',
NOW(),
'" . mysql_real_escape_string($text) . "'
)";
?>
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.
super bedankt allemaal ik ben er achter:D




