Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema session_start()

    Sono un nuovo iscritto al vostro forum. Sto iniziando ad imparare ora php e vi prego di scusarmi se la domanda che vi rivolgo è un po banale per voi ma purtroppo non sono riuscito a risolvere il problema con i manuali.
    Si tratta dei seguenti listati:

    login.html

    <html>
    <head>
    <title> Modulo per il login </title>
    </head>
    <body>





    <form method="post" action="login_1.php">
    <big>[b]Nome utente:</big></br> <input type="Text" name="login">


    <big>[b]Password:</big></br> <input type="Text" name="pwd">


    <input type="Submit" value="Invia i dati &gt;&gt;">
    </form>
    </body>
    </html>

    login_1.php

    <html>
    <head>
    <title> Accettazione login </title>
    </head>
    <body>



    <big>[b]
    <?
    session_start();
    $utente=$HTTP_POST_VARS["login"];
    $passwd=$HTTP_POST_VARS["pwd"];
    $connessione = mysql_connect($host,$utente,$passwd)
    or die("Connessione non riuscita: " . mysql_error());
    print "Ok, login riuscito";
    mysql_select_db("news") or die("Selezione del database non riuscita");
    mysql_close($connessione);
    ?>
    </body>
    </html>

    Il problema è l'istruzione session_start() sul secondo listato. La vorrei usare per memorizzare in seguito le variabili $utente e $passwd, però quando la inserisco il browser mi visualizza il seguente warning:
    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\programmi\easyphp1-8\www\login_1.php:8) in c:\programmi\easyphp1-8\www\login_1.php on line 9

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\programmi\easyphp1-8\www\login_1.php:8) in c:\programmi\easyphp1-8\www\login_1.php on line 9
    L'ambiente sul quale sto sviluppando è windows xp con Easy PHP 1.8.0.0, PHPMyAdmin 2.6.1, PHP 4.3.10, MySQL 4.1.9

    Vi ringrazio in anticipo per l'aiuto.

  2. #2
    l'errore è dovuto al fatto che session_start() deve trovarsi in cima alla pagina...senza nemmeno uno spazio o un a capo prima dell'apertura nel tag php

    così:
    Codice PHP:
    <?
    session_start
    ();
    ...

    ciauz

  3. #3
    Grazie!

  4. #4
    ah...un avvertimento...
    controlla i valori in _POST e fai un escape dei caratteri pericolosi

    ciauz

  5. #5
    Grazie del suggerimento.
    Ciao

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.