Salve a tutti,
prima di scrivere questo post ho dato un occhiata in giro e mi sembra, ameno che mi sia sfuggito qualcosa, che il mio problema nn lo abbia avuto ancora nessuno. LOL.
Posterò anche il codice, ma prima passo ad una breve descrizione del problema.
In pratica ho realizzato un gestionale e voglio permettere all'utente di poter visualizzare la lista dei clienti o a preferenza dei contatti, in formato csv e pdf.
Per il pdf tutto ok, nn ho avuto grossi problemi nella sua creazione e nemmeno per quanto riguarda il file csv.
Però un piccolo problema per il csv sussiste:
L'utente può scaricare in locale il file csv sulla propria macchina e poi elaborarlo con excel.
L'unico problema sta nel fatto che insieme alle informazioni che mi servono, contenute nel csv, viene inviato anche il codice html della pagina.
Come posso ovviare a questo problema?
Qualsiasi soluzione è bene accetta
Grazie,
Cristian
Codice PHP:
if( isset($_POST['Submit']) && $_POST['Submit'] == "Esporta" ){
//Controllo le caselle spuuntate
$Spuntati = $_POST['kt_pk_clienti'];
$Contatore = count($Spuntati);
if( $Contatore == 0 ){
echo "<script type=\"text/javascript\">
alert(\"PER UTILIZZARE LA FUNZIONE ESPORTA BISOGNA SELEZIONARE ALMENO UN RECORD!!\");
window.location=\"contatti_list.php\";
</script>";
}
if( $Contatore > 0 ){
if( isset($_POST['doc_format']) && $_POST['doc_format'] == 0 ){
echo "<script type=\"text/javascript\">
alert(\"ERRORE!! SELEZIONARE UN FORMATO PER L'ESPORTAZIONE\");
window.location=\"clienti_list.php\";
</script>";
}
if( isset($_POST['doc_format']) && $_POST['doc_format'] != 0 ){
/**************************************
* FORMATO CSV *
**************************************/
if( $_POST['doc_format'] == 1 ){
// Il file si chiamerà CLIENTI_USER_(DATA ODIERNA)
// Calcolo la data odierna
$data = date('Y-m-d');
//Determino L'utente Loggato
mysql_select_db($database_TecniConn, $TecniConn);
$query_UserLogged = "SELECT users.* FROM users WHERE users.id = ".$_SESSION['kt_login_id']."";
$UserLogged = mysql_query($query_UserLogged, $TecniConn) or die(mysql_error());
$row_UserLogged = mysql_fetch_assoc($UserLogged);
$totalRows_UserLogged = mysql_num_rows($UserLogged);
$INIZIALI = $row_UserLogged['iniziali'];
$file_name = "CONTATTI_".$INIZIALI."_".$data.".csv";
$dir_name = "csv";
$apri_file = fopen("$dir_name/$file_name","w");
fputs($apri_file,"RAGIONE SOCIALE;INDIRIZZO;PROV;CAP;CITTA;CODICE FISCALE;TEL FISSO;TEL CELL;FAX;E MAIL;PARTITA IVA;NOME;COGNOME\n");
foreach($Spuntati as $pippo){
$_SESSION['IDS'] .= $pippo.",";
$_SESSION['contatto'] = 1;
// SELEZIONO I DATI CLIENTE
mysql_select_db($database_TecniConn, $TecniConn);
$query_Clients = "SELECT clienti.* FROM clienti WHERE clienti.id = ".$pippo."";
$Clients = mysql_query($query_Clients, $TecniConn) or die(mysql_error());
$row_Clients = mysql_fetch_assoc($Clients);
$totalRows_Clients = mysql_num_rows($Clients);
// RECUPERO DATI
if($row_Clients['nome']==""){
$NOME = " ";
}
if( $row_Clients['nome']!="" ){
$NOME = $row_Clients['nome'];
}
if($row_Clients['cognome']==""){
$COGNOME = " ";
}
if( $row_Clients['cognome']!="" ){
$COGNOME = $row_Clients['cognome'];
}
if($row_Clients['indirizzo']==""){
$INDIRIZZO = " ";
}
if( $row_Clients['indirizzo']!="" ){
$INDIRIZZO = $row_Clients['indirizzo'];
}
if($row_Clients['prov']==""){
$PROVINCIA = " ";
}
if( $row_Clients['provincia']!="" ){
$PROVINCIA = $row_Clients['provincia'];
}
if($row_Clients['cap']==""){
$CAP = " ";
}
if( $row_Clients['cap']!="" ){
$CAP = $row_Clients['cap'];
}
if($row_Clients['citta']==""){
$CITTA = " ";
}
if( $row_Clients['citta']!="" ){
$CITTA = $row_Clients['citta'];
}
if($row_Clients['cod_fiscale']==""){
$COD_FISCALE = " ";
}
if( $row_Clients['cod_fiscale']!="" ){
$COD_FISCALE = $row_Clients['cod_fiscale'];
}
if($row_Clients['tel_fisso']==""){
$TEL_FISSO = " ";
}
if( $row_Clients['tel_fisso']!="" ){
$TEL_FISSO = $row_Clients['tel_fisso'];
}
if($row_Clients['tel_cell']==""){
$TEL_CELL = " ";
}
if( $row_Clients['tel_cell']!="" ){
$TEL_CELL = $row_Clients['tel_cell'];
}
if($row_Clients['fax']==""){
$FAX = " ";
}
if( $row_Clients['fax']!="" ){
$FAX = $row_Clients['fax'];
}
if($row_Clients['email']==""){
$EMAIL = " ";
}
if( $row_Clients['email']!="" ){
$EMAIL = $row_Clients['email'];
}
if($row_Clients['p_iva']==""){
$PIVA = " ";
}
if( $row_Clients['p_iva']!="" ){
$PIVA = $row_Clients['p_iva'];
}
if($row_Clients['ragione_sociale']==""){
$RAGIONE_SOCIALE = " ";
}
if( $row_Clients['ragione_sociale']!="" ){
$RAGIONE_SOCIALE = $row_Clients['ragione_sociale'];
}
fputs($apri_file,"$RAGIONE_SOCIALE;$INDIRIZZO;$PROVINCIA;$CAP;$CITTA;$COD_FISCALE;$TEL_FISSO;$TEL_CELL;$FAX;$EMAIL;$PIVA;$NOME;$COGNOME\n");
}
fclose($apri_file);
// definisco una variabile con il percorso alla cartella
// in cui sono archiviati i file
$dir = "csv/";
// Recupero il nome del file dalla querystring
// e lo accodo al percorso della cartella del download
$file = $dir.$file_name;
// verifico che il file esista
if(!file)
{
// se non esiste chiudo e stampo un errore
die("Il file non esiste!");
}else{
// Se il file esiste...
// Imposto gli header della pagina per forzare il download del file
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename= " . $file);
//header("Content-Transfer-Encoding: binary");
// Leggo il contenuto del file
readfile($file);
}
}
/**************************************
* FORMATO PDF *
**************************************/
if( $_POST['doc_format'] == 2 ){
foreach($Spuntati as $pippo){
$_SESSION['IDS'] .= $pippo.",";
}
$_SESSION['contatto'] = 1;
require_once('fpdf/fpdfTable/EsportaClienti/clienti_start.php');
}
}
}
}
Questo codice è funzionante, solamente nn riesco a capire perchè mi venga stampato il codice html.