session.cache_limiter

ciao ragazzi! la mia pagina php mi da quest'errore:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\ecom2\ins_dominio.php:3) in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\ecom2\ins_dominio.php on line 35

si è verificato ilo seguente errore.

Query was empty

1065zbr>

i permessi di scrittura sulla cartella della session_path ci sono, dovrei modificare queste righe del php.ini, kome???

session.cache_limiter = nocache

; Document expires after n minutes.

session.cache_expire = 180

inviato 9 anni fa
cyb
cyb
1
X 0 X

Il problema è un'altro: hai prodotto un output in ins_dominio.php alla riga 3 (può essere una echo oppure un'istruzione che ha generato un messaggio di errore, ecc.)

Non è consentito generare output prima dell'invio di headers (intestazioni HTTP). Tieni presente che session_start() invia degli headers.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Questo è lo script, kome dovrei modificarlo??

<?php





if (!empty($_POST['inviadati']) )  {


$dominio = $_POST['dominio'];
$spazio = $_POST['spazio'];
$hosting =  $_POST['hosting'];
$scad_dominio =  $_POST['scad_dominio'];
$importo_hosting =  $_POST['importo_hosting'];
$scad_hosting =  $_POST['scad_hosting'];
$user_ftp =  $_POST['user_ftp'];
$pass_ftp =  $_POST['pass_ftp'];
$host =  $_POST['host'];


   include ("connessione.php");
   connect_to_ecom_db();

   include ("errore.php");
   
   // lego la variabile $oggetto all'oggetto in sessione
   session_start();
   $id = $_SESSION['idcliente'];
   
   $sql="INSERT INTO scadenze_domini (dominio, spazio, hosting, importo_hosting, scadenza_dominio, scadenza_hosting, host, user_ftp, pass_ftp,idcliente ) VALUES ('$dominio', '$spazio','$hosting','$importo_hosting','$scad_dominio','$scad_hosting','$host','$user_ftp','$pass_ftp',$id)";
   
   $query =mysql_query ($sql) or die (errore_server());
   header("Location: promemo.php");
   
}
 
?>
risposto 9 anni fa
cyb
cyb
1
X 0 X

credo che non mi funziona perche ho modificato il database e i campi sono diversi, ora controllo e caso mai ti chiedo aiuto!! grazie!!

risposto 9 anni fa
cyb
cyb
1
X 0 X

ho sistemato i campi del database e mi da sempre:

Warning: Cannot modify header information - headers already sent by (output started at C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\ecom2\ins_dominio.php:3) in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\ecom2\ins_dominio.php on line 31

questo è lo script:

<?php

if (!empty($_POST['inviadati']) )  {
//if ($_POST['inviadati']==true){

$dominio = $_POST['dominio'];
$spazio = $_POST['spazio'];
$hosting =  $_POST['hosting'];
$scad_dominio =  $_POST['scad_dominio'];
$importo_hosting =  $_POST['importo_hosting'];
//$scad_hosting =  $_POST['scad_hosting'];
$user_ftp =  $_POST['user_ftp'];
$pass_ftp =  $_POST['pass_ftp'];
$host =  $_POST['host'];


   include ("connessione.php");
   connect_to_ecom_db();

   include ("errore.php");
   
   // lego la variabile $oggetto all'oggetto in sessione
   //session_start();
   //$id = $_SESSION['idcliente'];
   $id =1;
   
   $sql="INSERT INTO scadenze_domini (dominio, spazio, hosting, importo_hosting, scadenza_dominio, host, user_ftp, pass_ftp,idcliente ) VALUES ('$dominio', '$spazio','$hosting','$importo_hosting','$scad_dominio','$host','$user_ftp','$pass_ftp',$id)";
   $query =mysql_query ($sql) or die (errore_server());
   header("Location: promemo.php");
   
}
 
?>

kome lo devo modificare??

risposto 9 anni fa
cyb
cyb
1
modificato 9 anni fa
X 0 X

la riga 31 è

header("Location: promemo.php");

risposto 9 anni fa
cyb
cyb
1
X 0 X

Ma tra l'inizio del file ed il tag <?php c'è per caso qualche spazio o qualche "a capo" ?

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

este sono le prime 3 righe

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<?php

x fare il redirect sto usando:

   echo "<SCRIPT type=\"text/Javascript\"> location.href='promemo.php'; </SCRIPT>";

non so se cìè una soluzione migliore in php cmq così funziona!!

risposto 9 anni fa
cyb
cyb
1
X 0 X

Come ti ho anticipato, la pagina non può generare output prima che venga eseguita la funzione session_start(), quindi quelle righe iniziali devono sparire oppure devi eseguire session_start() prima che vengano inviate quelle righe.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

ti riferisci a :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

??

risposto 9 anni fa
cyb
cyb
1
X 0 X

si  :bye:

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