Visualizzazione dei risultati da 1 a 10 su 10

Discussione: classi con include

  1. #1

    classi con include

    Un saluto a tutti!
    Ho la pagina head.php (che contiene la parte superiore della grafica del sito) che viene inclusa in tutte le altre pagine.
    La pagina head.php:
    codice:
    <?
    inclusione del file che contiene la classe
    include 'admin/session.class.php';
    
    istanzia l'oggetto
    $session = new my_session($session_time, $session_gc_time);
    
    avvia/aggiorna la sessione inviando il cookie al client
    $session->my_session_start();
    
    if ($session->my_session_read(status) == 'login') {
    	echo "CONNESSO";
    } else {
    	$session->my_session_register('status', 'nologin');
    	echo "NON CONNESSO";
    }
    ?>
    <html>
    <head>
    <title>Il fantacalcio della comitiva 2003/04</title>
    <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
    <link href="stile/stile.css" rel="stylesheet" type="text/css">
    </head>
    
    <body>
    ...
    Nella pagina prova.php, per esempio, voglio fare un controllo per vedere se l'utente ha lo 'status' settato su 'login' per capire se può vedere tale pagina oppure no (es.: dei dati personali).
    La pagina prova.php:
    codice:
    <?
    // include la grafica
    include "head.php";
    
    if ($session->my_session_read(status) == 'login') {
    	echo "puoi vedere i dati privati";
    } else {
    	echo "non sei autorizzato a vedere il contenuto della pagina";
    };
    
    ?>
    Purtroppo il controllo non avviene: è come se l'oggetto $session->my_session_read(status) non venisse riconosciuto, anche se istanziato in head.php.

    Ho provato anche a istanziare un nuovo oggetto in prova.php in questo modo:
    codice:
    // istanzia l'oggetto
    $sessionnuova = new my_session($session_time, $session_gc_time);
    
    if ($sessionnuova->my_session_read(status) == 'login') {
    	echo "puoi vedere i dati privati";
    } else {
    	echo "non sei autorizzato a vedere il contenuto della pagina";
    };
    ma niente....

    Come mai avviene ciò, qualcuno sa rispondermi?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    428
    non so come hai implemntato la classe .. però vedendo che in $session->my_session_register('status', 'nologin') status lo passi come stringa ... ti sei dimenticato gli apici nel session_read!

    ciao
    gnegno

  3. #3

    Ciao grazie per aver risposto

    La classe è quella creata da gm per le sessioni alternative: ecco l'articolo!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    428
    ok!
    Ma se richiami la funzione come ti ho detto usando i doppi apici funziona?
    $session->my_session_read('status')

  5. #5
    No, non funziona!

    Il fatto è che se istanzio la sessione direttamente in prova.php e non in head.php ...
    codice:
    <?
    inclusione del file che contiene la classe
    include 'admin/session.class.php';
    
    istanzia l'oggetto
    $session = new my_session($session_time, $session_gc_time);
    
    avvia/aggiorna la sessione inviando il cookie al client
    $session->my_session_start();
    
    if ($session->my_session_read(status) == 'login') {
    	echo "puoi vedere i dati privati";
    } else {
    	echo "non sei autorizzato a vedere il contenuto della pagina";
    }
    ?>
    ... funziona benissimo; quindi c'è qualcosa che non va a causa dell'include

  6. #6
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da pakylory
    No, non funziona!

    Il fatto è che se istanzio la sessione direttamente in prova.php e non in head.php ...
    codice:
    <?
    inclusione del file che contiene la classe
    include 'admin/session.class.php';
    
    istanzia l'oggetto
    $session = new my_session($session_time, $session_gc_time);
    
    avvia/aggiorna la sessione inviando il cookie al client
    $session->my_session_start();
    
    if ($session->my_session_read(status) == 'login') {
    	echo "puoi vedere i dati privati";
    } else {
    	echo "non sei autorizzato a vedere il contenuto della pagina";
    }
    ?>
    ... funziona benissimo; quindi c'è qualcosa che non va a causa dell'include
    Io ho avuto gli stessi problemi, però quando includevo la pagina con la classe, non me la riconosceva, l'include mi dava errore, ma la pagina veniva inclusa, infatti il testo fuori dai tag <? ?> lo visualizzava! Bah... dopo ho lasciato perdere...

  7. #7
    Nessuno sa dirmi qualcosa

  8. #8
    ma i commenti nel file prova.php sono commentati ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Certo: non so perchè non sono stati copiati nei vari post...

  10. #10

    In head.php richiamo una funzione che al suo interno conteneva un mysql_close($db);
    Ecco il motivo del mal funzionamento....
    Incrediiiiibileeeeee

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.