Thomas - 30/01/2005 21:53 (laatste wijziging 30/01/2005 21:54)
Moderator
Gaat de insert-query nog steeds fout wanneer magic_quotes_gpc aan staat ? (j/n)
Ik denk dat ik hier wel een oplossing voor weet, maar zou je niet gewoon een andere naming-scheme gaan gebruiken ?
Quotes in filenames... *brr* ?
roy - 31/01/2005 08:34 (laatste wijziging 31/01/2005 08:55)
PHP gevorderde
Hallo,
Citaat:
Gaat de insert-query nog steeds fout wanneer magic_quotes_gpc aan staat ? (j/n)
ja
Citaat:
Ik denk dat ik hier wel een oplossing voor weet, maar zou je niet gewoon een andere naming-scheme gaan gebruiken ?
ooit heeft het wel gewerkt, opeens is er een soort instelling verandert waardoor het niet meer werkt..
Citaat:
Quotes in filenames... *brr* ?
Je hebt helemaal gelijk als er geen quotes instonden dan zou het meteen werken, maar die quotes zijn nodig voor het programma.
De naam wordt bij het downloaden weer gestipslashed en zo aan de download verbonden.
Groeten,
Roy
NB. als ik een gewoon tekstvak maak en ik zet daar de naam in dan geeft hij het wel goed weer.
Capricorn-\'Challenge 2\'-Bert v Zantvoort(Tacx) 09-05-2004-#1.im
En bij het uitlezen andersom?
Ik ben geen php held, maar ik heb eens een generator gemaakt die een link moest genereren voor een javascriptje, en toen zaten er ook een aantal tekens in de weg, met ongeveer deze code lukte het wel.
Dus bovenstaande op eigen risico gebruiken
Als je je $_POST-var waarin die naam staat (Capricorn-\'Challenge 2\'-Bert v Zantvoort(Tacx) 09-05-2004-#1.im) nou eens strip_slashes()ed voordat je hem in de database zet ?
Volgens mij had MySQL zijn eigen magic zooi, dus die ziet vanzelf dat er slashes nodig zijn.
Het klinkt tegenstrijdig, maar ik denk dat het als volgt moet:
- zet magic_quotes_gpc aan (dit heb je gedaan)
- strip de slashes van je $_POST-invoer voordat je insert
- insert de waarden in je database
Het probleem voor zover ik goed gevolgd heb, is dat al van in de
$_FILES['bestand']['name']
een fout staat, namelijk het einde van het bestandsnaam.
Dat kun je ook zien aan het miniscriptje van iemand in het begin van deze post, waar de bestandsnaam wordt afgedrukt, en dan de bestandsnaam met stripslashes() wordt afgedrukt en beiden tonen pas vanaf de laatste quote in de naam.
Het is dus onmogelijk dat het iets is dat de naam verkort, anders zou het maar het begin van de bestandsnaam zijn, en het einde zou weggelaten zijn. (logisch voor mij)
Het probleem zou goed bij die magic_quotes_gpc kunnen zijn, maar daar ken ik niets van...
Volgens mij had MySQL zijn eigen magic zooi, dus die ziet vanzelf dat er slashes nodig zijn.
Het klinkt tegenstrijdig, maar ik denk dat het als volgt moet:
- zet magic_quotes_gpc aan (dit heb je gedaan)
- strip de slashes van je $_POST-invoer voordat je insert
- insert de waarden in je database
Hoe bedoel je dat?? Dan krijg je toch juist problemen...? MySQL herkent alleen slashes voor quotes en haalt die weg, zodat je niet meer stripslashes hoeft te doen bij het SELECT'en...
En zoals twopeak zegt, met of zonder stripslashes of addslashes, het eerste deel zit er gewoon niet bij...
Citaat:
Als je je $_POST-var waarin die naam staat (Capricorn-'Challenge 2'-Bert v Zantvoort(Tacx) 09-05-2004-#1.im) nou eens strip_slashes()ed voordat je hem in de database zet ?
Dat is het probleem niet. Die post var was alleen om aan te geven dat het met een gewoon tekstveld wel werkt maar bij bestanden (en dus de FILES array) niet. Dat is juist het rare...