- Home
- Categorie
- Coding e Sistemistica
- PHP
- Errore in Session-start
-
Errore in Session-start
Salve ragazzi, devo inserire uno script per la login...ma mi appare un errore all'avvio della pagina:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Programmi\Apache Group\Apache2\htdocs\identificazione\inizia.php:4) in C:\Programmi\Apache Group\Apache2\htdocs\identificazione\check.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Programmi\Apache Group\Apache2\htdocs\identificazione\inizia.php:4) in C:\Programmi\Apache Group\Apache2\htdocs\identificazione\check.php on line 2
Non capisco qual'è la causa!
In remoto su un dominio funziona tranquillamente...mentre in locale no!Sul mio pc ho installato:
- PHP 5.1.2
- Mysql 5.0.19
- Apache 1.3.34
Spero possiate aiutarmi!:D
Grazie anticipatamente
-
Ciao.
Tale errore appare di solito quando stampi qualche carattere prima di inviar un header. A volte basta un solo spazio.
Controlla che prima di session_start() non ci sia qualcosa. Cosa fa inizia.php ad esempio? Fa apparire qualcosa?
-
Ciao Massy, si ma il remoto mi funziona!:( quindi nn penso sia questione di sintassi o errore vario...kmq ti incollo il codice...magari se puoi gli dai un'okkio:)
Login.php
<?php session_start(); if (isset($_POST["invio"])) { $puntatore = fopen("pasx.txt", "r"); $trovato = 0; while ((!feof($puntatore)) && (!$trovato)) { $linea = fgets($puntatore); $trovato = stristr($linea, $_POST["userid"]); $puntatore++; } fclose($puntatore); list($nomeutente, $password) = split("~:~", $linea); if (($trovato) && ($_POST["passwd"] == trim($password))) { session_register('autorizzato'); $_SESSION["autorizzato"] = 1; $destinazione = "inizia.php"; } else { $destinazione = "destroy.php"; } echo '<script language=javascript>document.location.href="'.$destinazione.'"</script>'; } else { // HTML ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Prova Login php</title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> </head> <body> <form method=post action="login.php"> <table width="300" cellpadding="4" cellspacing="1" border="0"> <tr> <td colspan="2" align="left"> <u>inserite nome utente e password</u>: </td> </tr> <tr> <td> nome utente: </td> <td> <input type="text" name="userid"> </td> </tr> <tr> <td> password: </td> <td> <input type="password" name="passwd"> </td> </tr> <tr> <td colspan="2"> <input type="submit" name="invio" value="invio"> <input type="reset" name="cancella" value="cancella"> </td> </tr> </table> </form> </body> </html> <? //fine HTML } ?>
Inizia.php
<? include("check.php"); ?> <html> <head> <title> Pagina di test - PHP login </title> <!--meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content="" --> </head> <body> Esempio: login effettuato con successo </body> </html> >
check.php
<?php session_start(); if (!session_is_registered('autorizzato')) { echo "<h1>Area riservata - accesso negato</h1>"; die; } ?>
Ecco qui il tutto....spero potrai aiutarmi!
Grazie anticipatamenteeee...ciao ciao,Tony
-
Ciao
Ho dato uno sguardo al volissimo e mi sembra tutto a posto.A sto punto ipotizzo degli a capo prima di <? session_start().