Visualizzazione dei risultati da 1 a 6 su 6

Discussione: error session_start()

  1. #1

    error session_start()

    [04-Jun-2013 12:27:46] PHP Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by

    cm posso risolvere quest'errore ? infatti nn riesco a leggere le sessioni :S

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    session_start() deve essere la prima cosa del file.
    Prima non deve esserci nessun output, neanche uno spazio vuoto, altrimenti hai quell'errore.

  3. #3
    Si ma quando crea la sessione anche se refreho la pagina il broswer mi vede sempre la stessa pagina di prima ,come faccio a richiedere una nuova pagina dal server una volta loggato e sostituirla nella cache?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Secondo me hai le idee poco chiare oppure ti stai spiegando male.

    Spiega per bene cosa vuoi fare e dicci come lo stai facendo mostrandoci il codice che usi.
    Mi raccomando, spiega nei dettagli senza dare niente per scontato, perché noi non stiamo nella tua testa, quindi non sappiamo cosa pensi.

  5. #5
    Questo è il codice che metto nelle pagine per controllare che esiste la sessione,ma se carico la pagina prima che la sessione sia stata creata la sessione e poi la ricarico mi rida sempre la stessa pagina,ovvero come se non avesse letto la sessione,ma se la carico dopo aver creato la sessione va tutto bene.
    esempio:
    apro il browser vado sulla pagina in questione mi loggo torno indietro e non vede la sessione provo ad aggiornarla e non la vede ..come se caricasse sempre la stessa vecchia pagina prima del login...
    con ccleaner cancello tt la cache del broswer faccio il login senza caricare la pagina in questione e per magia legge le sessioni

    codice:
    <?php session_start();
    									
    				if(isset($_SESSION['cliente']))
    				{
    					if(isset($_SESSION['area']))
    					{
    						$area=$_SESSION['area'];
    						$pa=$_GET['partner'];
    					}
    					if($area == $pa)
    					{
    				
    						$user= $_SESSION['cliente'];
    					}
    				}
    
    ?>
    <html>
    ...


    questo è il codice del login
    codice:
    <?php session_start();
    			include("funzioni/connect.php");
    		
    			$user = $_POST['user'];	
    			$pass = md5($_POST['pass']);
    			$partner = $_POST['partner'];
    			
    			
    			$user = mysql_real_escape_string($user);
    			$pass = mysql_real_escape_string($pass);
    			$partner = mysql_real_escape_string($partner);
    		
    
    		$sql = "SELECT * FROM clientepartner WHERE ragionesociale= '$user' and codicepartner = $partner";
    
    		echo $sql;
    		
    		$res = mysql_query($sql) or die (mysql_error());
    		
    			if (mysql_num_rows($res) > 0)
    			{
    				
    				while ($row = mysql_fetch_assoc($res))
    				{
    					$dbpass=$row['pass'];
    				}
    				
    				
    			}
    			
    			if($dbpass==$pass)
    			{
    				
    				
    				$_SESSION['area'] = $partner;
    				$_SESSION['cliente']=$user;
    				?>
    				<script language="javascript">
    					document.location.href="home.php?partner=30&login=ok";
    				</script>
    				
    			<?php
    				
    			}
    			
    					
    			
    			
    			else
    			{
    				echo"login fallito";
    			}
    			mysql_close();
    
    
    
    ?>
    se rimando a la stessa pagina con un parametro in più in questo caso login=ok mi fa ,ma vorrei rimandarla alla stessa e che mi rilegga le sessioni

  6. #6
    Sembra che sostituendo il file php.ini(5.2) con il file php.ini(5.2 Fast CGI) il problema sia saprito :S si vede forse che il fast cgi gestisce la cache diversamente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.