Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027

    [Warning Session error] errore in sessione su linea <?php

    buongiorno,

    ho un errore quando faccio partire il mio script mi da questo errore il serve (2 volte)

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/mhd-01/www.francescopassanante.com/htdocs/tattoonia/registra.php:1) in /home/mhd-01/www.francescopassanante.com/htdocs/tattoonia/registra.php on line 2
    la cosa strana è che la riga uno del file registra.php è: <?php
    la riga due invece è: session_start();


    il codice completo è:

    codice:
    <?php
    session_start();
    $col = 'mysql:host=******;dbname=********';
    $db = new PDO($col , '*********', '************');
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $sesso=$_POST['sesso'];
    $email=$_POST['email'];
    $password=$_POST['password'];
    $tipo=$_POST['tipo'];
    $nazione=$_POST['nazione'];
    $citta=$_POST['citta'];
    $provincia=$_POST['provincia'];
    $indirizzo=$_POST['indirizzo'];
    $telefono=$_POST['telefono'];
    $controllo = $db->prepare("SELECT email FROM utente WHERE email = :email");
    $controllo->execute(array(':email'=>$email));
    if($controllo->rowCount() > 0){
        echo "<script>alert(\"Indirizzo e-mail occupato\")</script>";
        header("Refresh: 0; URL=index.php#registra");
    }
    else{
        $car = "aAbBcCdDeEfFgGhHiIlLjJkKmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789";
        $dim = 40;
        srand((double)microtime()*1000000);
        $string = '';
        for($inc=0;$inc<$dim;$inc++){
            $rand = rand(0, strlen($car)-1);
            $string .= $car{$rand};
        }
        $key = $string;
        $content = "Benvenuto su tattoonia $nome $cognome \r\n";
        $content .= "Per attivare il tuo Account fare click nel seguente link:\r\n\r\n";
        $content .= "http://www.francescopassanante.com/verifica_utente.php?key=" . $key;
        $headers = 'From:'.$email."\r\n".'Reply-To:'.$email."\r\n".'X-Mailer: PHP/'.phpversion();
        $parameters = "-f francescopassanante@gmail.com";
        mail($email,"Iscrizione a tattoonia", $content, $headers, $parameters);
        echo "<script>alert(\"Controllare la propria casella di posta per attivare l'account\")</script>";
        /*
        $sql = "INSERT INTO utente (nome,cognome,tipo,nazione,citta,provincia,indirizzo,email,password,telefono,sesso) VALUES (:nome,:cognome,:tipo,:nazione,:citta,:provincia,:indirizzo,:email,:password,:telefono,:sesso)";
        $q = $db->prepare($sql);
        $q->execute(array(':nome'=>$nome,':cognome'=>$cognome,':tipo'=>$tipo,':nazione'=>$nazione,':citta'=>$citta,':provincia'=>$provincia,':indirizzo'=>$indirizzo,':email'=>$email,':password'=>$password,':telefono'=>$telefono,':sesso'=>$sesso));
        header("Location:index.php#accedi");
        */
    }
    ?>

    inoltre vorrei aggiungere che, magari dipende da questo, il file è stato salvato in codifica utf-8...
    qualcuno sa dirmi qualcosa al riguardo?
    Ultima modifica di passasooz; 03-04-2014 a 16:48

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Controlla il charset del file, deve essere UTF-8 senza BOM (oppure ANSI as UTF-8, che è la stessa cosa).

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    che significa senza BOM?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    inserisci ob_start(); in cima al codice prima di tutto in ogni pagina

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da passasooz Visualizza il messaggio
    che significa senza BOM?
    Esistono la codifica "UTF-8" (che non va bene perché inserisce un carattere non stampabile, quindi invisibile, all'inizio del file) e la codifica "UTF-8 senza BOM" (che tale carattere non ce lo mette e quindi va bene).

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    ok chiaro, comunque i file sono tutti settati con charset utf8... non vedo l'opzione utf8 senza bom

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Cosa usi per scrivere il codice?
    Vedi se in qualche menu ti da la possibilità di convertire il file in "UTF8 senza BOM" o "Ansi as UTF8" (che come ripeto sono sinonimi).

    Se il tuo editor non te lo fa fare, scarica Notepad++, con quello si può fare.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    uso sublime text 3... stavo guardando infatti per settare iol carattere mi da utf8, utf16-le utf16-be e altro.... non leggo niente che dice: SENZA BOM

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Prova Notepad++, menu Formato -> Converti in UTF8 senza BOM, poi salva il file.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    ma non è quello il problema...

    sta inviando header dopo output, o invia prima l'header poi l'output, o inserisce ob_start(); in cima ad ogni file (PRIMA DI OGNI COSA)...
    <?php ob_start(); ?>
    <html>
    ....

    Cannot send session cookie - headers already sent by

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.