Je vous sollicite car je comprends pas pourquoi ca marche pas. Je veux sécuriser ma page de téléchargement ("telechar.php") mais quand je rajoute mon p'tit bout de script (concernant la session) ma page ne fonctionne plus alors que je suis (quasi) sur de moi. Mon acrobat s'ouvre et me marque : "Une erreur est survenue lors de l'ouverture de ce document. Fichier introuvable."
Si je retire la condition if, ca marche.
Voici mon code :
<? session_start();
if (!isset($_SESSION["login"])) {
header("location : index.php");
}else{
require_once("parametres.php");
$q = "SELECT id,link FROM matable WHERE id = '".$_GET["id"]."'";
$r = mysql_query($q);
while($rows=mysql_fetch_array($r)){
$filename = $rows["link"];
}
function download($filename) {
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=".basename($filename) );
header("Accept-Ranges: bytes");
header("Content-Length: ".filesize($filename) );
readfile($filename);
}
download($filename);
}
?>
Erreur ou incompatibilité ? Je veux protéger ceci car même en sécurisant un dossier de destination quelqu'un qui tapperait dans l'url telechar.php?id=1 aurait accès au fichier soit disant sécurisé.
Kerrang