Visualizzazione risultati 1 fino 5 di 5

Discussione: problema con le sessioni in locale con easy php

  1. #1
    Guest

    Predefinito problema con le sessioni in locale con easy php

    salve a tutti.
    Ho un problema con le sessioni in locale su easy php.
    voglio creare un sistema di login che presenta un form nella prima pagina e il codice per la registrazione delle sessioni nella seconda pagina.
    La sintassi delle sessioni da me utilizzata è la seguente:
    $_SESSION['username']=$username;
    o per esempio all'inizio di ogni pagina : session_start()
    per la distruzione delle sessioni : session_destroy() ecc ecc.
    Se uppo tutto su remoto funziona che è una meraviglia!!! ma su easy php spuntano i seguenti errori:

    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\blog_cms\index.php:2) in c:\program files\easyphp1-8\www\blog_cms\index.php on line 6

    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\blog_cms\index.php:2) in c:\program files\easyphp1-8\www\blog_cms\index.php on line 12

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\blog_cms\index.php:2) in c:\program files\easyphp1-8\www\blog_cms\index.php on line 12

    ps: il parametro safe_mode di php.ini lo impostato a on ma non va ugualmente

    e mentre che ci sono vorrei sapere perchè su remoto hosting altervista non mi funziona la scrittura dei file anche impostandogli i permessi 666 (scrittura, lettura) sul file che intendo scrivere.

    grazie davvero per l'attenzione!

  2. #2
    Guest

    Predefinito

    quelli sono dei warning e ti dicono di fare attenzione, mandi in output qualcosa prima di chiamate a funzioni tipo header() o che stanno costruendo l'header della risposta.
    in pratica stai facendo qualcosa per l'interprete php che non ha tanto senso, anche se forse non è un errore.
    Se posti il codice, si può capire meglio cosa c'è che non va. ciao

  3. #3
    Guest

    Predefinito eccolo:

    index.php:
    Codice PHP:
    <html><head><?php if (is_dir("./install"))

    {

    header("location:./install");

    }
    ?>
    <?php
    include "./config.php";
    session_start();
    $connessione=mysql_connect($host, $user, $password);
    $dbselect=mysql_select_db($name,$connessione);
    $query="
    SELECT intestazione
    FROM config
    "
    ;
    $img=mysql_query($query, $connessione);
    $immagine=mysql_fetch_array($img);
    ?>
    </head>

    <link rel="stylesheet" href="style.css" type="text/css">
    <body style="height: 408px;">
    <table width=90% height=180% align="center" border="1" cellpadding="0" cellspacing="0">
    <tbody>
    <tr>
    <td style="width: 330px; height: 167px;" colspan="3" rowspan="1" align="center">
    <img src="<?php print $immagine[0]; ?>" width="100%" height="200">
    </td>
    </tr>
    <tr>
    <td style="width: 292px; height: 130px;">
    <?php
    if(!$_SESSION['user'])
    {
    print
    "
    <form method='post' action='login.php' name='login'>
    Login:<br>Username:&nbsp<input type='TEXT' name='user'><br>Password:&nbsp<input type='PASSWORD' name='pass'><br><input type='submit' value='login'><br>
    <a href='forgot_pass.php'>Password dimenticata?</a><br><a href='registra.php'>Registrati gratis!</a>
    </form>"
    ;
    }else
    {
    print
    "Loggato come <font color='blue'><a href='profilo.php'>";
    print
    $_SESSION['user'];
    print
    "</a></font>";
    print
    "<br><a href='profilo.php'>Profilo</a>";
    print
    "<br><a href='calendario.php'>Visualizza il calendario</a>";
    print
    "<br><a href='logout.php'>Esci</a>";
    }
    ?>

    </td>
    <td style="width: 330px; height: 130px;"></td>
    <td style="height: 130px;"></td>
    </tr>
    <tr>
    <td style="width: 292px; height: 159px;"></td>
    <td style="width: 330px; height: 159px;"></td>
    <td style="height: 159px;"></td>
    </tr>
    <tr>
    <td style="width: 292px; height: 156px;"></td>
    <td style="width: 330px; height: 156px;"></td>
    <td style="height: 156px;"></td>
    </tr>
    <tr>
    <td style="width: 292px;"></td>
    <td style="width: 330px;"></td>
    <td></td>
    </tr>
    </tbody>
    </table>
    <br>
    </body></html>
    login.php:
    Codice PHP:
    <?php
    include "./config.php";
    session_start();
    $connessione=mysql_connect($host, $user, $password);
    $dbselect=mysql_select_db($name, $connessione);
    $user=$_POST['user'];
    $pass=$_POST['pass'];
    $query="
    SELECT *
    FROM utenti
    WHERE username='
    $user' AND password='$pass'
    "
    ;
    $result=mysql_query($query, $connessione);
    if(
    mysql_num_rows($result))
    {
    $_SESSION['user']=$user;
    $_SESSION['pass']=$pass;
    header ("Location:index.php");
    }else
    {
    print
    "Nome utente o password errati <br><a href='index.php'>Torna indietro</a>";
    }
    ?>
    ripeto il tutto su hosting altervista funziona perfettamente il problema è su easy php
    edit:Ho provato a rimuovere l'header dell'index che mi porta all'installazione del cms mettendo un link in html <a href="./instal">Clicca per installare</a> ma non va ugualmente gli errori sono gli stessi. grazie ancora.
    e poi scusa che senso avrebbe che l'interprete mi dice che sto facendo una cosa senza senso? mica lui ha un intelligenza se lo faccio cè un senso!!!!
    da quest'altro errore:
    Notice: Undefined index: user in c:\program files\easyphp1-8\www\blog_cms\index.php on line 29
    capisco che non mi sta passando la variabile $_SESSION['user'] ed è come se non fosse dichiarata quindi potrebbe essere anche un problema che non riconosce proprio le $_SESSION come se non fossero definite???
    scusami ancora ma ci sto impazzando per capire che cavolo cè che non va

    NUOVO EDIT:
    RISOLTOOOO!
    Il problema stava nel fatto che lo session_start() doveva stare prima di ogni qualsiasi codice html o php, non so perchè su remoto non ha alcuna importanza.

    "quelli sono dei warning e ti dicono di fare attenzione, mandi in output qualcosa prima di chiamate a funzioni tipo header() o che stanno costruendo l'header della risposta."
    infatti avevi esattamente ragione e ci sono arrivato grazie a questa cosa che hai scritto! grazie davvero.

    comunque avrei un altra domanda:
    perchè su hosting remoto altervista non mi consente la scrittura del file config.php per la configurazione del database nell'installazione , nonostante gli abbia impostato i permessi 666? è talmente poco sicuro questo sistema di configurazione che non è permesso utilizzarlo? come dovrei fare allora?
    Ultima modifica di moschittaa : 28-02-2011 alle ore 01.08.03

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da moschittaa Visualizza messaggio
    Il problema stava nel fatto che lo session_start() doveva stare prima di ogni qualsiasi codice html o php, non so perchè su remoto non ha alcuna importanza.

    "quelli sono dei warning e ti dicono di fare attenzione, mandi in output qualcosa prima di chiamate a funzioni tipo header() o che stanno costruendo l'header della risposta."
    infatti avevi esattamente ragione e ci sono arrivato grazie a questa cosa che hai scritto! grazie davvero.
    Vi è un'impostazione nel php.ini (error_reporting) che fa comparire gli errori o meno...
    ma aldilà della comparsa a video l'errore era presente anche qui su AV.
    Cmq hai risolto in modo corretto.

    Citazione Originalmente inviato da moschittaa Visualizza messaggio
    comunque avrei un altra domanda:
    perchè su hosting remoto altervista non mi consente la scrittura del file config.php per la configurazione del database nell'installazione , nonostante gli abbia impostato i permessi 666? è talmente poco sicuro questo sistema di configurazione che non è permesso utilizzarlo? come dovrei fare allora?
    Cosa intendi dire con "non è permessa la scrittura" nello script che hai postato c'è semplicemente una inclusione.

  5. #5
    Guest

    Predefinito scrittura file

    intendo dire che quel file config.php viene scritto durante l'installazione di questo mio cms, però su remoto lo script per la scrittura del file non funziona poichè altervista non mi permette di aprire il file in modalità scrittura nonostante gli abbia impostati i permessi chmod 666
    spero di essere stato chiaro!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •