Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    45

    $_session e host remoto

    Ciao a tutti, continuo a riscontrare questo errore da un po' di giorni ormai, hostando in remoto la funzione session non funziona più (cosa che invece faceva in locale) il codice che uso per il check di un login form è questo:

    Codice PHP:
    <?php  // Inialize session 
    session_start();  
    // Include database connection settings 
    $conn=mysql_connect("host""blabla""psw");     
    if (!
    $conn)     {         
    die(
    "Connessione a Mysql non riuscita " mysql_error());     
    }     
    $db=mysql_select_db("mydb"$conn);     
    if (!
    $db)     
    {         
    die(
    "Connessione al Database non riuscita " mysql_error());     }   
    // Retrieve username and password from database according to user's input 
    $login mysql_query("SELECT * FROM admin WHERE (username = '" 
    mysql_real_escape_string($_POST['username']) . "') and (password = '" 
    mysql_real_escape_string(md5($_POST['password'])) . "')");  
    // Check username and password match 
    if (mysql_num_rows($login) == 1) { 
    // Set username session variable 
    $_SESSION['username'] = $_POST['username']; 
    // Jump to secured page  
    header("Location: index.php?menu=securedpage"); 

    else { 
    // Jump to login page 
    header("Location: index.php?menu=login"); 
    }  
    ?>
    Quando vado a compilare i campi del login, il browser carica e si blocca sul check.php e non ridà nulla. Se vado manualmente scrivendo l'indirizzo sulla barra al link della pagina che dovrebbe essere riservata ci posso accedere comunque, quindi le restrizioni non funzionano.
    Cosa posso fare? In locale funziona tutto!

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    dovresti verificare di avere attiva la visualizzazione completa degli errori... poi dici che se accedi direttamente alla pagina da proteggere vi accede, ma questo sembra un errore logico, infatti se ci fosse un controllo questo dovrebbe eventualmente "collassare" sulla non-autorizzazione in caso di problemi, invece così sembra che non fai neanche un controllo...

  3. #3
    Verifica che le sessioni siano attive....

    Crea una pagina e scrivi il codice php

    Codice PHP:
    <?php phpinfo(); ?>
    Chiamandola dal browser ti stamperà una spataffiata di roba da cui poter verificare se sull'host sono attive le session e in che maniera (cookie, get..).

    Che host è?

    Ciao,
    Gabriele
    Soluzioni Informatiche di Tondi Gabriele
    www.gabrieletondi.it
    info@gabrieletondi.it
    skype: gabrieletondi

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Prima di
    if (mysql_num_rows($login) == 1) {

    metti
    if(!$login) echo "Errore: ".myslq_error();

    magari c'è un errore sull'esecuzione della query e lo script si pianta lì non arrivando ai redirect.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    45
    Allora questo è il config del host per quanto riguarda le sessioni (l'host è TISCALI)



    Per quanto riguarda gli errori, alla semplice apertura della pagina login compare:



    MENTRE se inserisco i dati username e psw compare:


  6. #6
    Se non è il tuo codice (come sembrerebbe) c'è qualcosa che genera ed invia gli header prima che tu apra la sessione...

    Ad esempio se l'hosting è gratuito potrebbe trattarsi di qualche banner impostato da tiscali..

    EDIT: come hosting gratuito potresti provare altervista, ai tempi in cui lavoravo su hosting gratuiti era il top!
    Soluzioni Informatiche di Tondi Gabriele
    www.gabrieletondi.it
    info@gabrieletondi.it
    skype: gabrieletondi

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ecco, quindi hai dei problemi col session_start().

    session_start() non deve essere preceduta da alcun output, spazi e ritorni a capo inclusi.

    Il file in cui includi il login (index.php) manda in output qualcosa prima dell'inclusione del login, evita tale output mettendolo dopo, se non puoi, togli il session_start() dal file di login e mettilo come prima cosa nel file index.php

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    45
    Originariamente inviato da g.tondi
    Se non è il tuo codice (come sembrerebbe) c'è qualcosa che genera ed invia gli header prima che tu apra la sessione...

    Ad esempio se l'hosting è gratuito potrebbe trattarsi di qualche banner impostato da tiscali..

    EDIT: come hosting gratuito potresti provare altervista, ai tempi in cui lavoravo su hosting gratuiti era il top!
    No no non è per nulla gratuito, pago annualmente il dominio!
    Potresti spiegarmi meglio la faccenda dell'invio degli header?

    Ringrazio tutti intanto!

  9. #9
    Alhazred è già stato molto esaustivo.

    Più semplicemente fai in modo di aprire il session_start(); come prima cosa!
    Soluzioni Informatiche di Tondi Gabriele
    www.gabrieletondi.it
    info@gabrieletondi.it
    skype: gabrieletondi

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    45
    Originariamente inviato da Alhazred
    Ecco, quindi hai dei problemi col session_start().

    session_start() non deve essere preceduta da alcun output, spazi e ritorni a capo inclusi.

    Il file in cui includi il login (index.php) manda in output qualcosa prima dell'inclusione del login, evita tale output mettendolo dopo, se non puoi, togli il session_start() dal file di login e mettilo come prima cosa nel file index.php
    Questa è come si presenta l'index:

    Ho provato a inserire un sessionstart in cima a tutto ma sembra non cambiare la situazione, rimane un solo errore in cui mi dice la stessa cosa...

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.