[PHP] Non mi effettua header

samurai.sette

Utente Attivo
17 Dic 2015
235
6
18
Ciao a tutti. E' da qualche giorno che sto cercando di riuscire a risolvere questo errore ma non ci sono ancora riuscito e speravo in un vostro aiuto.
L'errore che mi genera è questo:
Codice:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test\monitoraggio_AGG-remoto.php:257) in C:\xampp\htdocs\test\monitoraggio_AGG-remoto.php on line 263
Questo errore me lo ha generato dopo che ho scritto queste semplicissime righe di codice:
Codice:
<?php
if (isset ($_POST['excel']))
{
$nome_tabella = $lavoro;
$_SESSION['$lavoro'] = $nome_tabella;
header ("location:exel.php");
}
?>
Un'annotazione: se questo codice lo provo in un nuovo file funziona perfettamente, ma se lo inserisco all'interno del mio sito genera l'errore che ho scritto prima.
Secondo voi quali potrebbero essere le cause?
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
30
Ciao.
Il problema è che c'è del codice qualche riga più sopra che produce un output, mandando in errore la funzione header().
 

samurai.sette

Utente Attivo
17 Dic 2015
235
6
18
Ciao Adeknite, grazie per la risposta.
Ti vorrei fare una domanda: secondo te come potrei riuscire a trovare quella riga di codice che crea problemi? Ho riletto il codice ma non trovo errori; infatti prima di scrivere quelle righe di codice (che ho anche riportato nel post) non avevo nessun tipo di problema.
Ciao, grazie.
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
30
Prova a postare qua il codice.
In ogni caso, potrebbe anche essere un file esterno che viene incluso in quella pagina.
 

samurai.sette

Utente Attivo
17 Dic 2015
235
6
18
Ciao AdeKnite. Prima di postarti il codice ti spiego brevissimamente quello che fa.
Un utente effettua il login e successivamente passa in un altra pagina attraverso la quale può verificare dei dati.
Ora ti posto il codice della pagina che mi dà quell'errore (scusa ma devo spezzare il codice in due repliche perchè è un po lunghetto).
Codice:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
<style type="text/css">
body {
    font-family: "Trebuchet MS";
    text-align: center;
    background-color: #46494E;
}
#TESTATA {
    width: 1000px;
    text-align: left;
    font-size: 45px;
    font-weight: bold;
    color: #1CC06A;
}
#CORPO {
    width: 1000px;
    margin-right: auto;
    margin-left: auto;
    color: #FFFFFF;
}
#MENU {
    background-color: #1CC06A;
    width: 200px;
    float: left;
}
#GRAFICO {
    width: 800px;
    float: left;
    color: #FFFFFF;
}
#TABELLA {
    width: 1000px;
    margin-right: auto;
    margin-left: auto;
    color: #000000;
}
#ERRORI {
    color: #CC0000;
    font-size: 14px;
}
</style>

<?php
// faccio la connessione al server e al database
$con = mysql_connect ("localhost", "root","") or die ("Connessione non disponibile".mysql_error());
$db = mysql_select_db ("database", $con) or die ("Connessione con il database non disponibile".mysql_error());

// leggo i valori di user e password
$user = $_SESSION['username'];
$pass = $_SESSION['password'];

$committente = mysql_query("SELECT nome_committente FROM utenti WHERE username = '$user' AND password = '$pass' ORDER BY id");

// estraggo il nome della tabella in cui sarà memorizzato il monitoraggio e lo salvo nella variabile $lavoro
$lavoro = mysql_result($committente,0);


if (isset ($_POST['excel']))
{
  $TBLmonit = $_POST['tab_monit'];
  $_SESSION['tab_monit'] = $TBLmonit;
  header ("refresh:1; url = excel.php");
}

    if (isset ($_POST['aggiorna']))
    {
      // leggo i valori di "data_inizio" e "data_fine" eliminando i trattini
      $min=$_POST['data_inizio'];
      $min1 = substr($min,0,4);
      $min2 = substr($min,5,2);
      $min3 = substr($min,8,2);
      $minore = $min1.$min2.$min3;
    
      $max=$_POST['data_fine'];
      $max1 = substr($max,0,4);
      $max2 = substr($max,5,2);
      $max3 = substr($max,8,2);
      $maggiore = $max1.$max2.$max3;
      
      if ($min == "Effettua una scelta" AND $max == "Effettua una scelta")
        exit();
      
      if ($min == "Effettua una scelta")
        exit();
      
      if ($max == "Effettua una scelta")
        exit();
    
      //trovo il min id e il max id
      $query=mysql_query("SELECT MIN(id) AS min, MAX(id) AS max FROM $lavoro WHERE $campo_data=$minore OR $campo_data=$maggiore");
      $riga=mysql_fetch_assoc($query);
      $id_min=$riga['min'];
      $id_max=$riga['max'];
      
    // estraggo i valori corrispondenti agli id
    // Se sull'asse X viene scelta la data o l'ora, l'ordinamento avviene per id, altrimenti avviene in base alla variabile X
      if (($campo_x == 'data') or ($campo_x == 'ora'))
      {
        $sql7="SELECT * FROM $lavoro WHERE id>=$id_min AND id<=$id_max ORDER BY id";   
      }
      else
      {
        $sql7="SELECT * FROM $lavoro WHERE id>=$id_min AND id<=$id_max ORDER BY $campo_x";   
      }   
    
      $sth7 = mysql_query($sql7) or die('Query fallita: ' . mysql_error());

      // "costruisco" indicando i nomi delle colonne della tabella - una deve essere in formato stringa (asse x) ed una in formato number (asse y)
      $table7['cols'] = array (
      array('label' => $campo_x, 'type' => 'string'),
      array('label' => $campo_y, 'type' => 'number')
      );
      $rows7 = array();
      if ($sth7)
      {
        while($r7 = mysql_fetch_assoc($sth7))
        {
          $temp7 = array();
          $temp7[] = array('v' => (string) $r7[$campo_x]);
          $temp7[] = array('v' => (float) $r7[$campo_y]);
          $rows7[] = array('c' => $temp7);
        }
      }
      $table7['rows'] = $rows7;
      $jsonTable = json_encode($table7);
    }

?>

</head>
Ciao, grazie
 

samurai.sette

Utente Attivo
17 Dic 2015
235
6
18
questa è la seconda parte del codice che parte immediatamente dopo </head>
Codice:
<body>

<div id="TESTATA">
</div>

<br />
<div id="CORPO">
    <div id="MENU">
        <br />
        <form method="post">
            <input name="guida" type="submit" value="Guida all'utilizzo" style="width:170px; height:30px; background-color:#CCCCFF; color:black; font-weight:bold;" onclick="" />
        <br />
            <hr />Unità di misura
        <br />
        <br />
            Fessure: mm
        <br />
            Angoli: gradi sessadecimali
        <br />
            Temperatura: °C
        <br />
            <hr />
            1. Documenti
        <br />
        <br />
            <input name="excel" style="width: 180px; height:30px; background-color:#CCCCFF;color:black;font-weight:bold;" type="submit" value="Esporta la tabella in excel" />
        <br />
            <hr />
            2. Dati COMPLETI
        <br />
        <br />
            <input name="aggiorna_totale" type="submit" style="height:30px; background-color:#CCCCFF;color:black;font-weight:bold;" value="TABELLA" />
            Pagina
        <select name="pagina" style="width: 50px">
            <?php
            // calcolo numero totale delle righe della tabella del database
              $record_totali = mysql_query("SELECT * FROM $lavoro");
              $N = mysql_num_rows ($record_totali);
         
            // calcolo numero pagine (ogni pagina visualizza 30 record) e chiudo la connessione
              $P=ceil($N/30);
              $con1 = mysql_close();
         
              // inserisco il numero delle pagine dentro il drop-down box
              for ($i=1; $i<=$P; $i++)
              {
              echo '<option>' .$i.'</option>';            
              }
            ?>
            </select>
        <br />
            <hr />3. Dati FILTRATI
        <br />
        <br />
            Inizio periodo
        <br />
            <select name="data_inizio" style="width: 170px">
            <?php
              $campo_data='data';
            // seleziono la colonna del tempo o delle letture con la variabile $campo_x che varia in base al login e alla dicitura "DISTINCT" che
            // scarta eventuali doppioni presenti in lista
              $drop_x = mysql_query("SELECT DISTINCT $campo_data FROM $lavoro ORDER by data");  // in questo modo le date vengono visualizzate in ordine crescente

              // inserisco all'interno del drop-down box la scritta "Effettua una scelta" seguita dalle date
              if ($campo_x == '')
              {
                echo '<option> Effettua una scelta </option>';
              }
              else
              {
                echo '<option>' .$campo_data.'</option>';
              }
         
              while ($record = mysql_fetch_array($drop_x))
              {
              echo '<option value='.$record[0].'>'.$record[0].'</option>';
              }
            ?>
            </select>
        <br />
            Fine periodo
        <br />
            <select name="data_fine" style="width: 170px">
            <?php
              $campo_data='data';
            // seleziono la colonna del tempo o delle letture con la variabile $campo_x che varia in base al login e alla dicitura "DISTINCT" che
            // scarta eventuali doppioni presenti in lista
              $drop_x = mysql_query("SELECT DISTINCT $campo_data FROM $lavoro ORDER by data");  // in questo modo le date vengono visualizzate in ordine crescente

              // inserisco all'interno del drop-down box la scritta "Effettua una scelta" seguita dalle date
              if ($campo_x == '')
              {
                echo '<option> Effettua una scelta </option>';
              }
              else
              {
                echo '<option>' .$campo_data.'</option>';
              }
         
              while ($record = mysql_fetch_array($drop_x))
              {
              echo '<option value='.$record[0].'>'.$record[0].'</option>';
              }
            ?>
            </select>
        <br />
            Asse X
        <br />
            <select name="asse_x" style="width: 170px">
            <?php
            // leggo i nomi delle colonne dalla tabella e le inserisco nel drop-down box
            $drop_x = mysql_query("SHOW COLUMNS FROM $lavoro");
            $campo_x = $_POST['asse_x'];  
            echo '<option> Effettua una scelta </option>';
            while ($record = mysql_fetch_array($drop_x))
            {
              if (($record[0]!='id') and ($record[0]!='umidita') and ($record[0]!='tempint'))          
              {
                echo '<option value='.$record[0].'>'.$record[0].'</option>';
              }
            }
            ?>
            </select>
        <br />
            Asse Y
        <br />
            <select name="asse_y" style="width: 170px">
            <?php
            // leggo i nomi delle colonne dalla tabella e le inserisco nel drop-down box
            $drop_y = mysql_query("SHOW COLUMNS FROM $lavoro");
            $campo_y = $_POST['asse_y'];
            echo '<option> Effettua una scelta </option>';
            while ($record = mysql_fetch_array($drop_y))
            {
              if (($record[0]!='id') and ($record[0]!='data') and ($record[0]!='ora') and ($record[0]!='umidita') and ($record[0]!='tempint'))
              {
                echo '<option value='.$record[0].'>'.$record[0].'</option>';
              }          
            }
            ?>

            </select>
        <br />
        <br />
            <input name="aggiorna" style="width: 170px;height:30px; background-color:#CCCCFF;color:black;font-weight:bold;" type="submit" value="VISUALIZZA DATI" />
        <br />
            <hr />4. Opzioni Visualizzazione
        <br />
        <br />
            <input name="nascondi_tab" style="width: 170px; height:30px; background-color:#CCCCFF; color:black;font-weight:bold;" type="button" value="Nascondi tabella" onclick="" />
        <br />
        <br />
            <input name="visualizza_tab" style="width: 170px; height:30px; background-color:#CCCCFF; color:black;font-weight:bold;" type="button" value="Visualizza tabella" onclick="" />
        <br />
        <br />
            <input name="stampa_tab" style="width: 170px; height:30px; background-color:#CCCCFF; color:black;font-weight:bold;" type="button" value="Stampa tabella" onclick="" />
        <br />
        <br />
            <input name="stampa_graph" style="width: 170px; height:30px; background-color:#CCCCFF; color:black;font-weight:bold;" type="button" value="Stampa grafico" onclick="" />
        <br />
        <br />
        </form>
    </div>
    <div id="GRAFICO">
   
<script type="text/javascript" src="../AppData/Local/Temp/smartstructure2/jsapi"></script>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1.1", {packages:["line"]});
      google.setOnLoadCallback(drawChart);
     
      function drawChart() {
      var data = new google.visualization.DataTable(<?=$jsonTable?>);

      var options = {
            chart: {          
            title: 'Monitoraggio',
            subtitle: 'Acquisizione dati'},
            series: {
              // DEFINISCO GLI ASSI A CUI DARE IL NOME
            0: { axis: 'AsseY'}
          },
          axes: {
          // AGGIUNGO IL NOME ALL'ASSE
          y: {
             AsseY: {label: 'Asse Y'}
           }
          }
        };                
      var chart = new google.charts.Line(document.getElementById('linechart_material'));

        chart.draw(data, options);
      }
    </script>
   
    <div id="linechart_material" style="width: 850px; height: 350px; margin-left:auto; margin-right:auto"></div>
   
    </div>
</div>
<br />
<div id="TABELLA">

    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1.1", {packages:["table"]});
      google.setOnLoadCallback(drawTable);

      function drawTable() {
        var data = new google.visualization.DataTable(<?=$jsonTable?>);

        var table = new google.visualization.Table(document.getElementById('table_div'));

        table.draw(data, {showRowNumber: true, width: '750px', height: '100%'});
      }
    </script>
   
    <div id="table_div"></div>

</div>

</body>

</html>
Ciao, grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
questo è un out html
HTML:
<!DOCTYPE html>
e anche questo (lo spazio)
PHP:
<!-- qui sotto cè uno spazio-->

<?php
header('location: pinco.php');
?>
quuindi o header prima di qualsiasi out html oppure es
PHP:
<?php
ob_start();
sesshion_start();
?>
<!DOCTYPE html><html><head></head>
<body>
<!-- .... -->
<?php
header('location: pinco.php');
?>
<!-- .... -->
</body></html>
<?php
ob_end_flush();
?>
 

samurai.sette

Utente Attivo
17 Dic 2015
235
6
18
Ciao a tutti. Vi ringrazio tantissimo, ora funziona alla grande!!! :D:D:D
Ciao, spero di contraccambiare in qualche modo.
 
Discussioni simili
Autore Titolo Forum Risposte Data
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
P Data scraping in PHP non funziona PHP 4
L php mysql non salva solo id PHP 21
A php metodo post jquery non da mai errore jQuery 4
M Guestbook - non funziona dopo upgrade di PHP PHP 5
Valerio93 [PHP] non capisco come mai mi da la data NULL PHP 3
S [PHP] non prende la query PHP 0
WebmasterFioriniAndrea [PHP] Problema che non mi fa vedere niente PHP 2
Leshabituelles Non riesco ad aggiornare PHP PHP 0
Max 1 [PHP] Script che funziona in locale e non online PHP 16
R [PHP] pagina inclusa che non viene visualizzata PHP 2
Punix [PHP] query non valida PHP 1
M [PHP] Visualizzare un array partendo dal numero 1 e non 0 PHP 5
gandalf1959 [PHP] Inserimento di più righe non funziona come mi aspetto... PHP 2
M [PHP] Query UPDATE che non mi aggiorna campi seconda tabella PHP 3
M [PHP] header (location..) non funzionante dopo login PHP 3
B [PHP] Valore variabile non riconosciuto PHP 1
M [PHP] Selezionare immagini directory non presenti in db PHP 11
P [PHP] $_GET non preleva variabile nell’URL PHP 4
R mojave php non interpretato PHP 11
M Non corretta lettura del file php.ini della sezione CLI PHP 3
P [PHP] Input Type="date" non va correttamente con Apple PHP 2
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
S [PHP] Selezionare i campi non in comune con le altre colonne della tabella PHP 4
Monital [PHP] Insert into non inserisce tutti i dati PHP 1
T interpretare uno script php non fatto da me... PHP 3
M PHP - Funzione non e scrive il risultato PHP 3
L [PHP] case then e campo non riconosciuto PHP 0
T [PHP] aiuto....Fatal error: Uncaught Error:non riesco a capire PHP 1
T [PHP] ...Parse error che non c'è... PHP 7
M [PHP] Non si connette PHP 7
W [PHP] Non esegue il parsing su un dato sito e negli altri si... PHP 0
A Php mail non invia due mail di seguito PHP 3
O PHP 5.6 non riesco ad abilitare TSL 1.2 PHP 1
L [PHP] Nuovo server, query non funzionano PHP 3
M [PHP] Escludere campi non valorizzati PHP 22
Tommy03 Perchè non si apre una pagina PHP PHP 4
F [PHP] if(isset($_POST['Invia'])) non mi riconosce le variabili PHP 3
D [PHP] Update non trasferisce condizione where PHP 1
V Creare tabella mysql con php non funziona PHP 1
V [PHP] Perché non funziona ? PHP 1
V [PHP] Variabile modificata in un if non mantiene quel valore PHP 5
alessandra86 [PHP] Elementi di un array non visualizzabili PHP 7
C [PHP] non trovo l'errore? PHP 3
A [PHP] Non prende variabile $provincia ma tutte le altre si PHP 6
M [css][php] codice php esterno non vede il css PHP 6
M [PHP] Non calcola l'ultimo record inserito PHP 13
M [PHP] Problema IF non riconosciuta PHP 2
webimage [PHP] Non inserimento in tabella PHP 19
D [PHP] in una determinata fascia oraria non visualzzare campo PHP 5

Discussioni simili