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

    Problema variabili semplici di sessione

    Rieccomi con un ennesimo ostacolo che mi fa rimanere fermo per un pò

    Dunque, ho una classe Utente dove salvo le informazioni inerenti agli utenti.
    Salvo il nick di un utente nell'array delle sessioni in questo modo:

    $_SESSION['myuser'] = $utente->getNick();

    Il metodo getNick ovviamente restituisce una semplice stringa.

    Quando in un'altra pagina vado a richiamare il metodo statico Utente::readOne ($db, $_SESSION['myuser']) che restituisce un oggetto Utente con le informazioni dell'utente specificato dal secondo parametro del metodo, ecco che viene lanciato questo errore:

    "Catchable fatal error: Object of class __PHP_Incomplete_Class could not be converted to string in /opt/lampp/htdocs/webs/classes/objects.php on line 272"

    Nella riga 272 semplicemente eseguo una query con mysql_query, e parte della stringa che rappresenta la query è formata anche da $_SESSION['myuser'] che ho passato tramite il metodo readOne:

    Codice PHP:
        public static function readOne ($db$nick)
        {
            
    $ris mysql_query ("SELECT * FROM utenti WHERE nick = '$nick'"$db);
            
    $row mysql_fetch_row ($ris);

            if (
    $row[1] == "")
                return 
    null;
            ...
         } 
    La cosa più strana è che quando richiamo il metodo readOne per la prima volta, tutto funziona correttamente. Ma se aggiorno la pagina mi viene sempre lanciato quell'odioso errore...

    spero che qualcuno possa aiutarmi ^^

  2. #2
    Che cosa restituisce questo codice?

    Codice PHP:
    var_dump($utente->getNick()); 

  3. #3
    Originariamente inviato da filippo.toso
    Che cosa restituisce questo codice?

    Codice PHP:
    var_dump($utente->getNick()); 
    Intendi quando inizializzo $_SESSION['myuser']?

  4. #4
    Se sì mi restituisce questo: string(14) "UnknownSoldier"

    Appunto una stringa, ma il PHP si fa problemi o_O

  5. #5
    Se metti questo codice all'inizio del metodo readOne(), cosa ottieni?

    Codice PHP:
    var_dump($nick);
    die(); 

  6. #6
    Originariamente inviato da filippo.toso
    Se metti questo codice all'inizio del metodo readOne(), cosa ottieni?

    Codice PHP:
    var_dump($nick);
    die(); 
    La prima volta mi ricompare la stringa, la seconda mi appare un oggetto della classe Utente o_O Non capisco il perchè...

  7. #7
    Questo succede perchè, probabilmente, da qualche parte nel tuo codice salvi in sessione l'oggetto invece che una stringa.

  8. #8
    Originariamente inviato da filippo.toso
    Questo succede perchè, probabilmente, da qualche parte nel tuo codice salvi in sessione l'oggetto invece che una stringa.
    Eh già, solo che non riesco a capire dove... grazie ora cercherò di indagare

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.