Headers

Ciao a tutti :)  :bye:

Ho un problema con gli "headers".

Ho un piccolo codice che alla fine di alcuni comandi manda un header...

La cosa assurda č che in locale funziona tutto perfettamente mentre quando a fare l'upload sul server del sito ricevo il seguente errore con conseguente blocco nella esecuzione del codice...

Warning: Cannot modify header information - headers already sent by (output started at /home/max/include/inc_test.php:9) in /home/max/include/inc_test.php on line 23

Mi chiedo se c'č qualche cosa da cambiare sul php.ini magari...

La versione del server del sito č PHP Version 4.3.9

La versione del server in locale č PHP Version 4.4.4

Vi ringrazio in anticipo!

 :bye:

inviato 9 anni fa
max_72
X 0 X

Vuol dire che hai mandato qulcosa in output prima dell'header (ricorda basta anche un acapo).

 :bye:

risposto 9 anni fa
Marco Dario
X 0 X

forse l'output in questione č una segnalazione di errore (es. un NOTICE) che ti appare sul server ma che in locale č disabilitata.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

forse l'output in questione č una segnalazione di errore (es. un NOTICE) che ti appare sul server ma che in locale č disabilitata.

 :bye:

penso di essere esattamente in questa situazione:

questo č l'errore

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/local/home/nivisreg/nivis-regnum.com/LM/contact.php:2) in /mnt/local/home/nivisreg/nivis-regnum.com/LM/contact.php on line 30

si tratta di un mini form con un applicazione captcha che apre una sessione ecco il codice del form

        <?php session_start() ?>
<form action="send.php" method="post" enctype="multipart/form-data" onSubmit="MM_validateForm('nome','','R','email','','RisEmail','commento','','R');return document.MM_returnValue">
  <p>
    nome:<br >
    <input name="nome" type="text" class="moduli"  >

   <br >
    e-mail::<br >
    <input name="email" type="text" class="moduli"  > 
   <br >
    commento::<br >
    <textarea name="commento" rows="5" cols="18" class="moduli" id="commento" ></textarea>
  </p>
  <p>Inserisci i caratteri in nero per inviare il messaggio.<br>
    <img src="captcha.php" alt="captcha image"></td>
 <input type="text" name="captcha" size="3" maxlength="3">
    <br>
    <input name="Submit" type="submit" class="button" value="Invia" >
    <input name="Submit2" type="reset" class="button" value="Cancella" >

</form>
<?php
if(isset($_POST["captcha"]))
if($_SESSION["captcha"]==$_POST["captcha"])
{
    //CAPTHCA is valid; proceed the message: save to database, send by e-mail ...
   echo 'CAPTHCA č valido';
} 
else
{
   echo 'Il codice di verifica non č corretto, riprova';
}
?>

e se puo servire ecco il codice che genera l'immagine

<?php
session_start();
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); 

function _generateRandom($length=6)
{
   $_rand_src = array(
      array(48,57) //digits
      , array(97,122) //lowercase chars
//      , array(65,90) //uppercase chars
   );
   srand ((double) microtime() * 1000000);
   $random_string = "";
   for($i=0;$i<$length;$i++){
      $i1=rand(0,sizeof($_rand_src)-1);
      $random_string .= chr(rand($_rand_src[$i1][0],$_rand_src[$i1][1]));
   }
   return $random_string;
}

$im = @imagecreatefromjpeg("captcha.jpg"); 
$rand = _generateRandom(3);
$_SESSION['captcha'] = $rand;
ImageString($im, 5, 2, 2, $rand[0]." ".$rand[1]." ".$rand[2]." ", ImageColorAllocate ($im, 0, 0, 0));
$rand = _generateRandom(3);
ImageString($im, 5, 2, 2, " ".$rand[0]." ".$rand[1]." ".$rand[2], ImageColorAllocate ($im, 255, 0, 0));
Header ('Content-type: image/jpeg');
imagejpeg($im,NULL,100);
ImageD
?>

grazie il anticipo ::)

risposto 8 anni fa
Creepy-Eyes
X 0 X

Verifica che prima della riga <?php session_start() ?> non ci siano degli spazi.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda