anoniem Geplaatst: 9 oktober 2002 Delen Geplaatst: 9 oktober 2002 In een site werk ik een NIET door mij geschreven perl script bij. Er zit alleen een hardnekkig probleem in waar ik maar niet uit kom. Zodra binnen een textarea een aanhalingsteken wordt gebruikt, crasht het script na het verzenden van het formulier. Op zich logisch want de scriptregel wordt te vroeg afgebroken. Maar het is heel vervelend omdat een plaatsnaam, zoals 's-Gravenhage, veel voor kan komen in het invulformulier. Ik los het nu op door expliciet aan te geven dat aanhalingstekens niet mogelijk zijn. Maar dat lijkt natuurlijk nergens op. Dit is een voorbeeld van zo'n regel: print "<DIV id=sellinput11><textarea rows='6' cols='37' name=description></textarea></DIV>"; En de commentaarregel na de crash is: You have an error in your SQL syntax near 's-Gravenhage',1,0)' at line 1 Waar nodig kan ik meer info verschaffen. En bij voorbaat dank voor hulp. Olaf Quote Link naar reactie
anoniem Geplaatst: 9 oktober 2002 Auteur Delen Geplaatst: 9 oktober 2002 volgens mij moet je deze opvangen door er een \ voor te zetten, zodat het \' wordt ::greetz:: Obi Quote Link naar reactie
anoniem Geplaatst: 9 oktober 2002 Auteur Delen Geplaatst: 9 oktober 2002 PHP kent hiervoor de functies [url=http://www.php.net/addslashes]addSlashes()[/url] en [url=http://www.php.net/stripslashes]stripSlashes()[/url], kent ASP hier geen equivalent voor? - Basje Quote Link naar reactie
anoniem Geplaatst: 9 oktober 2002 Auteur Delen Geplaatst: 9 oktober 2002 [quote:eb3857ecc1="BasHamar"]PHP kent hiervoor de functies [url=http://www.php.net/addslashes]addSlashes()[/url] en [url=http://www.php.net/stripslashes]stripSlashes()[/url], kent ASP hier geen equivalent voor? - Basje[/quote:eb3857ecc1] Hij schrijft dat hij een perl script gebruikt, perl heeft volgens mij ook wel zo iet, maar ik weet niet uit mijn hooft wat. Quote Link naar reactie
anoniem Geplaatst: 9 oktober 2002 Auteur Delen Geplaatst: 9 oktober 2002 [quote:c336ea190a="mispunt"]Hij schrijft dat hij een perl script gebruikt[/quote:c336ea190a]Hèhèhè... Oeps? :D - Basje. Quote Link naar reactie
anoniem Geplaatst: 9 oktober 2002 Auteur Delen Geplaatst: 9 oktober 2002 DBI gebruiken: use DBI; $dbh = DBI->connect('', '' ,'' ); [b:80b1567f9f]$dbh->quote($var);[/b:80b1567f9f] of zelf een regexp maken.. $description =~ s/(['"])/\\$1/g; Quote Link naar reactie
anoniem Geplaatst: 9 oktober 2002 Auteur Delen Geplaatst: 9 oktober 2002 Je kunt het voorlopig werkbaar maken, door de single quotes te escapen. Zet ergens voor het sql commando: $description =~ s/\'/\\\'/g; Waarbij ik er dan even van uitga, dat $description de gebruikte variable is, kan anders zijn. Mogelijk werkt wat Jurriaan aangeeft ook, maar dat is afhankelijk van het script. Kom namelijk nog wel eens andere modules tegen dan DBI. Verder kun je je afvragen wat de kwaliteit van dat script is, want dit is een vrij grove fout voor een programmeur. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen