Probleempje met het Agenda script,

Script werkt prima, alleen heb ik een mysql foutmelding als ik bv 's avonds in het bericht type bij bv avond niet, ligt dus aan het ' teken..
ik gebruik al de strip_tags() functie om de code te zuiveren van php of html tags. Maar toch gaat het fout..
Waarschijnlijk probleem met ' of " zie soort = 'feestdag"
$bericht = strip_tags($bericht);
Foutmelding: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'A vonds', date = '13/3/2008', soort = 'feestdagen'' at line 1

Iemand idee waar ' fouten geeft, btw niet op xamp omgeving maar wel bij mijn provider..vreemd? thanks
Laat je php script eens zien waar je de MySQL uitvoert?

Edit, 'feestdagen", dat kan natuurlijk niet ;)
De fout bevind zich op regel 51 colum 15.
Daar moet je even de ' in een '' vervangen.


NIET DUS...

Hoe moeten wij nou weten waar een fout zit, als we de broncode niet eens kunnen bekijken?
Sorry de code:

if ($_POST['titel']) 
{ 
$titel = $_POST['titel'];
$titel = wordwrap($titel, 15, '<br>', 1);
$bericht = $_POST['bericht'];
$bericht = wordwrap($bericht, 50, '<br>', 1);
$bericht = nl2br($bericht);
$jaar = $_GET['jaar'];
$maand = $_GET['maand'];
$dag = $_GET['dag'];
$soort = $_POST['soort'];
if($_POST['soort']===activiteit and $_POST['soort']===afspraak and $_POST['soort']===feestdag and $_POST['soort']===verjaardag)
{
$sql = "INSERT INTO agenda SET id = '', titel = '$titel', bericht = '$bericht', date = '$jaar/$maand', soort = 'activiteit', soort = 'afspraak', soort = 'feestdag', soort = 'verjaardag'";
mysql_query($sql) or die (mysql_error());
}
else
{
$sql = "INSERT INTO agenda SET id = '', titel = '$titel', bericht = '$bericht', date = '$jaar/$maand/$dag', soort = '$soort'";
mysql_query($sql) or die (mysql_error());
} 
?> 
Wat is dit dan?
if($_POST['soort']===activiteit and $_POST['soort']===afspraak and $_POST['soort']===feestdag and $_POST['soort']===verjaardag)

Edit, INSERT query's gaan anders dan de UPDATE query's.
[php]mysql_real_escape_string[/php]

Verder geen strip_tags gebruiken maar [php]htmlspecialchars[/php]
wordwrap en nl2br kunnen richting afvalbak, die gebruik je pas bij het presenteren van data, niet bij het opslaan van data.

De SQL-syntax is ook redelijk brak, dat is de syntax van een UPDATE die je nu misbruikt voor een INSERT. Wanneer je dan in de problemen komt, dan heb je er ook zelf om gevraagd.

Sla je de datum wel op als een datum? Dus in een kolom van het type DATE. Ik heb m'n twijfels, die slashes / duiden daar namelijk niet op.
mebus schreef op 25.03.2008 19:38
[php]mysql_real_escape_string[/php]

Verder geen strip_tags gebruiken maar [php]htmlspecialchars[/php]


Top Mebus.. werkt als een speer met deze mysql_real_escape_string

thanks..

pgFrank schreef op 25.03.2008 19:58
wordwrap en nl2br kunnen richting afvalbak, die gebruik je pas bij het presenteren van data, niet bij het opslaan van data.

De SQL-syntax is ook redelijk brak, dat is de syntax van een UPDATE die je nu misbruikt voor een INSERT. Wanneer je dan in de problemen komt, dan heb je er ook zelf om gevraagd.

Sla je de datum wel op als een datum? Dus in een kolom van het type DATE. Ik heb m'n twijfels, die slashes / duiden daar namelijk niet op.


ok, ga ik ook uitvogelen.. Thanks.
Niet Bumpen.
Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.
@Santhee, hoe snel typ je dat? Of is het knippen en plakken?^^

Reageren