een sql fout
ik heb een scriptje gemaakt..
maar als ik vraag om toe te voegen aan een tabel in me db geeft hij een fout aan:
Code (php)
Ik heb paar dingen geprobeerd maar ik kom er niet uit?
Mis kunnen jullie helpe?
alvast bedankt!
Groetjes
het script:
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
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
<?php
include('config.php');
// Een gedeelte voor verwijderen!
if ($_GET['edit'] == "verwijderen")
{
echo 'Verwijderen';
}
// Een gedeelte voor bijwerken
if ($_GET['edit'] == "bijwerken")
{
echo 'Bijwerken';
}
// Een gedeelte voor toevoegen
if ($_GET['edit'] == "voegtoe") {
if($_POST['submit'] AND $_POST['websitenaam'] != "" AND $_POST['imgurl'] != "" AND $_POST['url'] != ""){
$ins = 'INSERT INTO partners (websitenaam, imgurl, url) VALUES (
"'.$_POST['websitenaam'].'",
"'.$_POST['imgurl'].'"",
"'.$_POST['url'].'")';
mysql_query($ins) OR die (mysql_error());
} else {
///////////////////////////// De website naam
echo '<form action="'.$SERVER['PHP_SELF'].'" method="post">';
echo '<table border="0" cellpadding="0 cellspacing="0">';
echo '<tr><td>';
echo 'Naam:';
echo '</td><td>';
echo '<input type="text" name="websitenaam" value="'.$_POST['websitenaam'].'">';
echo '</td></tr>';
if($_POST['submit'] AND $_POST['websitenaam'] == ""){
echo '<tr>';
echo '<td colspan="2">';
echo 'Je moet wel een <b>websitenaam</b> invoeren!';
echo '</td>';
echo '</tr>';
}
//////////////////// de website url
echo '<tr><td>';
echo 'website url:';
echo '</td><td>';
echo '<input type="text" name="url" value="'.$_POST['url'].'">';
echo '</td></tr>';
if($_POST['submit'] AND $_POST['url'] == ""){
echo '<tr>';
echo '<td colspan="2">';
echo 'Je moet wel een <b>url</b> invoeren!';
echo '</td>';
echo '</tr>';
}
///////////////////// plaatje url
echo '<tr><td>';
echo 'plaatje url:';
echo '</td><td>';
echo '<input type="text" name="imgurl" value="'.$_POST['imgurl'].'">';
echo '</td></tr>';
if($_POST['submit'] AND $_POST['imgurl'] == ""){
echo '<tr>';
echo '<td colspan="2">';
echo 'Je moet wel een <b>plaatje url</b> invoeren!';
echo '</td>';
echo '</tr>';
}
echo '<td colspan="2">';
echo '<input type="submit" name="submit" value="Voegtoe">';
echo '</td>';
echo '</tr></form>';
}
}
?>
include('config.php');
// Een gedeelte voor verwijderen!
if ($_GET['edit'] == "verwijderen")
{
echo 'Verwijderen';
}
// Een gedeelte voor bijwerken
if ($_GET['edit'] == "bijwerken")
{
echo 'Bijwerken';
}
// Een gedeelte voor toevoegen
if ($_GET['edit'] == "voegtoe") {
if($_POST['submit'] AND $_POST['websitenaam'] != "" AND $_POST['imgurl'] != "" AND $_POST['url'] != ""){
$ins = 'INSERT INTO partners (websitenaam, imgurl, url) VALUES (
"'.$_POST['websitenaam'].'",
"'.$_POST['imgurl'].'"",
"'.$_POST['url'].'")';
mysql_query($ins) OR die (mysql_error());
} else {
///////////////////////////// De website naam
echo '<form action="'.$SERVER['PHP_SELF'].'" method="post">';
echo '<table border="0" cellpadding="0 cellspacing="0">';
echo '<tr><td>';
echo 'Naam:';
echo '</td><td>';
echo '<input type="text" name="websitenaam" value="'.$_POST['websitenaam'].'">';
echo '</td></tr>';
if($_POST['submit'] AND $_POST['websitenaam'] == ""){
echo '<tr>';
echo '<td colspan="2">';
echo 'Je moet wel een <b>websitenaam</b> invoeren!';
echo '</td>';
echo '</tr>';
}
//////////////////// de website url
echo '<tr><td>';
echo 'website url:';
echo '</td><td>';
echo '<input type="text" name="url" value="'.$_POST['url'].'">';
echo '</td></tr>';
if($_POST['submit'] AND $_POST['url'] == ""){
echo '<tr>';
echo '<td colspan="2">';
echo 'Je moet wel een <b>url</b> invoeren!';
echo '</td>';
echo '</tr>';
}
///////////////////// plaatje url
echo '<tr><td>';
echo 'plaatje url:';
echo '</td><td>';
echo '<input type="text" name="imgurl" value="'.$_POST['imgurl'].'">';
echo '</td></tr>';
if($_POST['submit'] AND $_POST['imgurl'] == ""){
echo '<tr>';
echo '<td colspan="2">';
echo 'Je moet wel een <b>plaatje url</b> invoeren!';
echo '</td>';
echo '</tr>';
}
echo '<td colspan="2">';
echo '<input type="submit" name="submit" value="Voegtoe">';
echo '</td>';
echo '</tr></form>';
}
}
?>
2) Gebruik in SQL altijd enkele quotes ', in PHP zet je de query dus tussen dubbele quotes ". Jij doet het net andersom.
3) POST-waardes mogen nooit onbeveiligd in een query staan, is vragen om problemen. Geldt ook voor COOKIE en GET-waardes
4) Waarom 4x controleren of er een formulier is verstuurd? Na 1x weet je het wel...
5) $SERVER['PHP_SELF'] bestaat niet, hoor je een notice op te krijgen. Of toon je deze niet? Gebruik $_SERVER['PHP_SELF'], dat werkt beter.
6) '"", levert een probleem op, daar staat een dubbele quote teveel. Zie ook punt 2.
Hoe kan ik het dan beter doen volgens jou?
Kan je voorbeeld geven?
Nomis schreef op 30.01.2008 20:48:
Volgens mij noemt Frank net 6 punten op die voor verbetering vatbaar zijn.Hoe kan ik het dan beter doen volgens jou?
Lijkt me dat je nu zelf wel aan de hand van de verschillende handleidingen uit kunt vogelen hoe je dat aan zou kunnen pakken?
Succes!