Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Errore in una variabile di sessione?

    In ogni pagina voglio fare un controllo sulla variabile di sessione contenente la login: se questa non viene trovata nella tabella Segreteria_Login, allora non fa un redirect alla login.
    Ho incluso il codice in questo modo:

    Codice PHP:
    <?php
    session_start
    (); 
    include (
    "controllo.php");
    ?>
    E il file controllo.php contiene questo codice:

    Codice PHP:
    <?php
      $controllo
    ="SELECT * FROM Segreteria WHERE Segreteria_Login='{$_SESSION['login']}'";
      
    $controllo_query mysql_query($controllo) or die(mysql_error());
      
    $num=mysql_num_rows($controllo_query);
      if(
    $num==0){
        include(
    "../login_include.php");
      }
    ?>
    Anche se entro con la login, mi dà errore alla linea 3 (dove viene eseguita la query):
    Access denied for user 'nobody'@'195.110.124.184' (using password: NO)
    Dove sta l'errore?

  2. #2
    dovresti anche fare la connessione al server e scegliere il db....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    si vede che è lunedì...
    Adesso comunque non mi dà più errore, ma mi indirizza alla login anche se la inserisco in modo esatto...

  4. #4
    Originariamente inviato da Horus-Ra
    si vede che è lunedì...
    Adesso comunque non mi dà più errore, ma mi indirizza alla login anche se la inserisco in modo esatto...
    dipende da cosa ci metti in $_SESSION e se prelevi il dato esatto.

    devi fare piu' debug quando programmi. Se non va fai il curioso e guarda cosa c'e' nelle variabili. Stampale. E abilita la stampa degli errori e dei NOTICE.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    In effetti, ora che ho provato a stamparla, non mi butta niente a video... Però sono sicuro che il contenuto della variabile passa, perchè più sotto l'ho adoperata nel messaggio di benvenuto:
    Benvenuto,<? echo "{$_SESSION['login']}"; ?>

    PS: come faccio ad abilitare la stampa dei notice?

  6. #6
    prova con:

    Codice PHP:

    <?php 
    session_start
    (); 
    echo 
    "<pre>";
    print_r($_SESSION);

    include (
    "controllo.php"); 

    ?>
    per stampare anche i NOTICE.. file php.ini

    error_reporting = E_ALL
    display_errors = On

    e poi restarta apache.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    ok, nell'array è presente anche la login, ma è invertita (sarebbe Segreteria.ab):

    Array{
    [login] => ab.Segreteria
    ...
    }

    Adesso però mi gioco uno strano scherzo... La mia pagina è divisa in due parti: sotto si mostra la pagina esatta come deve essere, sopra invece c'è la pagina di login. Ho provato a togliere l'include del controllo e a scrivere direttamente il codice lì dentro, ma non cambia niente. Direi che il problema è dovuto a questa "ripetizione" ma non so da dove lo ricava...

  8. #8
    viene scritta come la scrivi tu. Miracoli nel software non ci sono.



    se tu avessi stampato anche la query, lo avresti visto.

    echo $controllo;

    quando le cose non vanno per il verso aspettato, metti sempre punti di debug per verificare cosa effettivamente succede.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Grazie per l'aiuto, adesso funziona tutto!
    Direi che in futuro stamperò tutte le variabili quando troverò un errore

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.