Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25

Discussione: session_start()

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190

    session_start()

    Con questo codice:
    Codice PHP:
    [...]
    /* -- Creo una Sessione con ID dell'Utente, che lo farà restare Connesso tutto il Tempo della Navigazione alle Pagine protette da Login -- */
    while($row mysql_fetch_array($res)) 
    {
    session_start();
    $id_utente $row['id'];
    $nome_utente $row['nick'];
    $_SESSION['id_utente'] = $id_utente;
    $_SESSION['nome_utente'] = $nome_utente;

    /* -- Infine reindirizzo l'Utente nella pagina protetta da Login -- */
    header ("location: paginasegreta.php");
    }
    [...] 
    Mi da errore nella session_start()

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/nome/public_html/login.php:2) in /home/nome/public_html/login.php on line 59

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/nome/public_html/login.php:2) in /home/nome/public_html/login.php on line 59

    Warning: Cannot modify header information - headers already sent by (output started at /home/nome/public_html/login.php:2) in /home/nome/public_html/login.php on line 66

    Come mai?

  2. #2
    Ciao la session_start() deve inserirla nella prima riga del file.

    Prova e guarda se ti toglie i vari warning

  3. #3
    togli il while.
    L'utente è unico e cosi pure le sessioni devono essere uniche

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Ho messo la session_star() all'inizio, ma sempre le stesse Notice.
    ----
    Ho tolto il while e mi da errore subito:
    Parse error: syntax error, unexpected T_STRING in /home/nome/public_html/login.php on line 32

  5. #5
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    session_start();
    va in primissima riga, assicurati che non ci sia una qualche include e\o ritorno a capo

    tolto il while, ma hai lasciato l'assegnazione $row = mysql_fetch_array($res) ?
    If you think your users are idiots, only idiots will use it. DropBox

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da homerbit
    session_start();
    va in primissima riga, assicurati che non ci sia una qualche include e\o ritorno a capo

    tolto il while, ma hai lasciato l'assegnazione $row = mysql_fetch_array($res) ?
    Ecco lo script:

    Codice PHP:
    <?php

    session_start
    ();

    /* -- Connettiamoci al DataBase -- */
    include ('database_login.php');

    /* -- Recuperiamo i Valori -- */
    $user $_POST['user'];
    $pass $_POST['pass'];
    $risp "ok";
    $login $_GET['login'];

    /* -- Serve per Evitare di Ricevere subito un Messaggio dallo Script -- */
    if ( $login == $risp 
    {
    /* -- Controlliamo che i Campi siano stati tutti Compilati -- */
    if ( $user && $pass 
    {
    /* -- Effettuiamo l'Escape per i Valori Speciali, cosi da evitare Problemi con le Query -- */
    $user mysql_real_escape_string($user);
    $pass mysql_real_escape_string($pass);

    /* -- Query che Invia una richiesta al DataBase, visualizza se i Valori esistano -- */
    $sql "SELECT * FROM registrati WHERE nick = '$user' AND pass = MD5('$pass')";
    $res mysql_query($sql) or die (mysql_error());

    /* -- Se i Dati inseriti sono Esatti e Presenti all'interno della Tabella possiamo far effettuare il Login -- */
    if ( $res == TRUE 
    {
    /* -- Creo una Sessione con ID dell'Utente, che lo farà restare Connesso tutto il Tempo della Navigazione alle Pagine protette da Login -- */
    $row mysql_fetch_array($res);
    $id_utente $row['id'];
    $nome_utente $row['nick'];
    $_SESSION['id_utente'] = $id_utente;
    $_SESSION['nome_utente'] = $nome_utente;

    /* -- Infine reindirizzo l'Utente nella pagina protetta da Login -- */
    header ("location: paginasegreta.php");
    }


    echo 
    "Username o Password non corrette";
    }
    else 
    {
    echo 
    "Non sono stati compilati tutti i dati obbligatori";
    }
    }

    ?>
    <html>

    <head>

        <title>Login</title>

    </head>

    <body>

    <form action='<? echo $_SERVER['PHP_SELF']; ?>?login=ok' method='post'>

    [b]Username[/b]

    <input type='text' name='user'>

    [b]Password[/b]

    <input type='password' name='pass'>


    <input type='submit' value='Accedi'>


    </form>

    </body>

    </html>

  7. #7
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    guarda bene il codice, se quello postato è fedele all'originale hai un'interlinea prima della session...quindi va eliminata
    If you think your users are idiots, only idiots will use it. DropBox

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da homerbit
    guarda bene il codice, se quello postato è fedele all'originale hai un'interlinea prima della session...quindi va eliminata
    Ah! Quale interlinea sarebbe?

  9. #9
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    tuo codice inviato:
    Codice PHP:
    <?php
                 
    // <-- ecco l'interlinea
    session_start();
    va sostituito con
    Codice PHP:
    <?php
    session_start
    ();
    If you think your users are idiots, only idiots will use it. DropBox

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da homerbit
    tuo codice inviato:
    Codice PHP:
    <?php
                 
    // <-- ecco l'interlinea
    session_start();
    va sostituito con
    Codice PHP:
    <?php
    session_start
    ();
    Grazie, ho imparato cosa sia un'interlinea !
    Pero ora se scrivo username e password giusti è ok.
    Ma se scrivo i campi sbagliati non compare "Username o Password non corrette" o "Non sono stati compilati tutti i dati obbligatori" ma va alla pagina:

    header ("location: paginasegreta.php");

    e legge "Non hai le credenziali per visualizzare il contenuto di questa pagina."

    paginasegreta.php
    Codice PHP:
    <?php

    /* -- Apro la Sessione -- */
    session_start();

    /* -- Se id_utente e nome_utente non esistano errore | Se si ... -- */
    $var $_SESSION['id_utente'];
    $var2 $_SESSION['nome_utente'];
    if ( 
    $var == "" && $var2 == "" )
    {
        echo 
    "Non hai le credenziali per visualizzare il contenuto di questa pagina.";
    ?>
     <meta http-equiv="refresh" content="3; url=http://www.sito.com"/>
    <?
        
    exit();
    }
    ?>

    Accesso Effettuato

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.