Waarschijnlijk denk ik helemaal in de verkeerde richting maar ik kom er niet uit.
De situatie is:
klant komt op persoonlijke pagina via login en zijn gegevens worden opgehaald uit database dmv het user_id.

Nu heb ik een map genaamd OFFERTES, daarin staan offertes op volgnummer, dus 0001, 0002 enz...
Dmv het user_id haal ik het bijbehorende offerte_id uit de database, het pad /bestandsnaam staat in mysql.

Dit werkt allemaal goed maar als je de url handmatig aanpast kun je dus de offerte van een ander inkijken.
Voor alle gegevens gebruik ik een simpele vergelijking: SELECT * where user_id = huidige gebruiker
zodat de juiste gegevens zichtbaar worden.

Ik zou niet weten hoe ik dit op een map moet toepassen, of ik zou een complete pdf in een record moeten kunnen opslaan (maar dat gaat niet lukken denk ik)

Misschien heeft iemand een beter idee?
de map offertes voorzien van een .htaccess bestand met daarin:
deny from all

Nu kan niemand meer vanaf afstand via de browser in de map komen.
Vervolgens laat je PHP het bestand aanbieden om te downloaden of te bekijken. Hiervoor zul je headers moeten gebruiken. en de file moeten output-ten:

<?php
header('Content-type: application/pdf');
readfile('offertes/myfile.pdf');
?>
En met een simpele if(...) kun je uiteraard voorkomen dat iemand die niet bevoegd is de download krijgt

[size=xsmall]Toevoeging op 13/02/2013 17:30:51:[/size]

of met een geforceerde download:
<?php
header('Content-disposition: attachment; filename=offerte.pdf');
header('Content-type: application/pdf');
readfile('offertes/myfile.pdf');
?>
Ik heb een extra bestandje aangemaakt (check) waarin ik controleer of het offerte_id bij de gebruiker hoort, zo ja dan wordt deze getoond.
bovenstaande voorbeelden heb ik gecombineerd tot iets werkends.
Dit werkt super want in de url wordt ook niet meer getoond in welke map de offertes zijn opgeslagen.

bedankt voor de tips en het helpen op te lossen.

Reageren