Autor Zpráva
gardener
Profil
Zdravím
Ve skriptu pr download seznamu v CSV z DB potřebuji ověřovat hodnotu session, aby skript nemohl úspěšne provést kdokoliv.

Problém ale nastvává ve chvíli, kdy použiji ověření dříve než hlavičky, poté dostanu hlášku ve smyslu "Nemůžete modifikovat hlavičky po odeslání na vstup..etc"

Jak by se to tedy dalo vyřešit abych mohl přímo ve skriptu ověřovat session a zároveň mohl použít hlavičky pro download vygenerovaného souboru?

Díky za každou radu.

V současnosti skript vypadá takto:

<?php
//initialize the session
session_start();
if (($_SESSION['prihlasen'] != 1))
{
	$id=session_id();
	echo("$id");
	die("Neplatne prihlaseni-vaše IP adresa byla zaznamenána do logovacího protokolu");
}

?>

<?php
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$data\""); 
require_once("./db_connect.php"); //including db_connect

$data="export.csv";//Path for save export
//mysql_real_escape_string($data);
$vysledek = mysql_query ("SELECT * FROM users");
while ($zaznam=MySQL_Fetch_Array($vysledek))
{
$obsah .= $zaznam["id"];
$obsah .= ",";
$obsah .= $zaznam["surname"];
$obsah .= ",";
$obsah .= $zaznam["password"];
$obsah .= ",";
$obsah .= $zaznam["isadmin"];
$obsah .= ",";
$obsah .= $zaznam["lastvisit"];
$obsah .= "\r\n";
}

$soubor=fopen($data, "w");
fwrite($soubor,$obsah);
fclose($soubor);
ReadFile ($data);
//unlink($data);
?>
ninja
Profil
Session pred header nevadi, zato jsou problem prazdne znaky na radce 12 vaseho kodu.
gardener
Profil
Díky, vůbec jsem netušil, že je to bráno jako výstup, myslel jsem, že to PHP interpreter prostě přeskočí..
SwimX
Profil
gardener
myslel jsem, že to PHP interpreter prostě přeskočí..
PHP interpret by to asi přeskočil, stejně jako na řádku 10, ale todle už není v php skriptu - to už je html takže je to vlastně mezera -> výstup

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0