probleem met script
isset
je script is een puinhoop:
- geen or die() gebruiken
- juiste quotes gebruiken
- van waar komen $wat , $waar en $wanneer? je maakt onnodige vars aan
- let op sql-injectie -> mysql_real_escape_string
- $vars buiten quotes halen
is het niet if ($Wanneer && $Wat && $Waar) (kijk ook even naar je script is een puinhoop:
- geen or die() gebruiken
- juiste quotes gebruiken
- van waar komen $wat , $waar en $wanneer? je maakt onnodige vars aan
- let op sql-injectie -> mysql_real_escape_string
- $vars buiten quotes halen
Gewijzigd op 25/02/2011 16:40:43 door Jasper DS
- mysql_close() niet nodig
- Voer alle PHP uit boven de HTML, dus connectie query afhandeling. In de body hoeft het alleen maar zichtbaar gemaakt te worden.
- Haal die quotes uit de query weg:
'royal' ártikel' moet zijn royal artikel
- á op letters mag niet
- : bij rij namen mag ook niet
- Als je opent met " mag je hem niet opsluiten met '
- Database royal en tabel naam royal? Leer normaliseren
- Ga netjes scripten en voeg tabs in op de goede manier:
Gewijzigd op 25/02/2011 17:09:10 door Wouter J
ik heb geprobeerd te doen wat je vertelde hierbij de vernieuwde code
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
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
isset ($Wanneer && $Wat && $Waar) { //agenda regei ingevoerd?
$db = mysql_connect("blabla", "blabla", "12313235#");
mysql_select_db("royal", $db);
$sql = "INSERT INTO 'agenda' (Wanneer, Wat, Waar) VALUES ('$Wanneer', '$Wat', '$Waar')";
if (!mysql_query($sql)) { // voer de sql uit
echo 'toevoegen regel mislukt!';
} else {
echo "De regel<b>$Wat</b> is op <b>$Wanneer</b> bij <b>$Waar</B> toegevoegd";
}
} else {
?>
Regel invoegen
<form method="post" action="invoegen.php">
Datum: <input type="text" name="Wanneer"><br>
Wat: <input type="text" name="Wat"><br>
Waar: <input type="text" name="Waar"><br>
<input type="reset" value="wissen"> <input type="submit" name="knop" Value="toevoegen">
</form>
<?php
}
?>
</body>
</html>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
isset ($Wanneer && $Wat && $Waar) { //agenda regei ingevoerd?
$db = mysql_connect("blabla", "blabla", "12313235#");
mysql_select_db("royal", $db);
$sql = "INSERT INTO 'agenda' (Wanneer, Wat, Waar) VALUES ('$Wanneer', '$Wat', '$Waar')";
if (!mysql_query($sql)) { // voer de sql uit
echo 'toevoegen regel mislukt!';
} else {
echo "De regel<b>$Wat</b> is op <b>$Wanneer</b> bij <b>$Waar</B> toegevoegd";
}
} else {
?>
Regel invoegen
<form method="post" action="invoegen.php">
Datum: <input type="text" name="Wanneer"><br>
Wat: <input type="text" name="Wat"><br>
Waar: <input type="text" name="Waar"><br>
<input type="reset" value="wissen"> <input type="submit" name="knop" Value="toevoegen">
</form>
<?php
}
?>
</body>
</html>
Gewijzigd op 25/02/2011 18:41:14 door Marcel de Jong
haal even je login gegevens weg..
helemaal gelijk dat is geregeld
- juiste quotes
- ...
Wat bedoel je met: let op sql-injectie -> mysql_real_escape_string
Ik denk dat ik dan opnieuw moet beginnen met een login pagina en een pagina waarin ik agendaitems kan aanmaken, bewerken en verwijderen
ik zal zo een inlog gedeelte proberen te maken.
wikipedia:
De term SQL-injectie (Engels: SQL injection) wordt gebruikt voor een type kwetsbaarheid van computerapplicaties, meestal webapplicaties. Applicaties die informatie in een database opslaan maken gebruik van SQL om met de database te communiceren. SQL-injectie kan gebeuren als invoer van gebruikers op onvoldoende gecontroleerde wijze wordt verwerkt in een SQL-statement. Om de precieze werking van SQL-injectie te begrijpen is het belangrijk om te weten hoe SQL werkt.