Visualizzazione risultati 1 fino 7 di 7

Discussione: __autoload non funzionante

  1. #1
    Guest

    Predefinito __autoload non funzionante

    salve

    ho un problema con la funzione __autoload di seguito riportata.

    function __autoload($clsName){
    require_once('classi/'.$clsName.'.php');
    }

    In locale funziona alla perfezione, su altervista no. L'errore riscontrato è:
    Fatal error: Cannot instantiate non-existent class: utente in /membri/mindthewine/pages/login.php on line 2

    Praticamente non viene trovata la classe Utente presente nella directory "classi", sottodirectory della root, come già detto però in locale funziona... sapreste aiutarmi? grazie mille

  2. #2
    Guest

    Predefinito

    Prova con la path assoluta:
    Codice PHP:
    require_once('/membri/mindthewine/classi/'.$clsName.'.php');

  3. #3
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Case sensitive...
    Dall'errore che attualmente hai sul sito il file si chiama Utente, ma la classe che cerchi di caricare è utente.
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  4. #4
    Guest

    Predefinito

    @binarysun
    no no la classe è proprio Utente con la U maiuscola!

    @nokiagames
    ho provato come hai detto tu ma il problema resta, anzi... ascolta questa:
    se anzichè usare l'autoload faccio il require_once manualmente si capisce finalmente per quale motivo non riesce a caricare la classe utente... dice che c'è un errore alla riga 3... ma sulla riga 3 c'è la dichiarazione di tutte le variabili di classe private!!!

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /membri/mindthewine/classi/Utente.php on line 3

    e il codice è il seguente:
    <?php
    class Utente{
    private $email, $password, $nome, $cognome, $dataDiNascita;

    ovviamente la riga 3 è quella che inizia con private... e ho notato che mi fa così con tutte!!! per ogni classe che ha una riga che inizia con private o static mi dà errore!!! scusate se siamo finiti off topic, però non riesco a capire davvero cosa succeda...

  5. #5
    Guest

    Predefinito

    dimenticavo... come già detto IN LOCALE FUNZIONA ALLA GRANDE!!! che ci sia qualche parametro del php.ini da settare? mi sembra strano...

  6. #6
    Guest

    Predefinito

    Quel tipo di sintassi per gli ogetti è tipica di php5. Con php4 non puoi dichiarare le variabili private o public (si erano una merda gli ogetti in php4 hanno migliorato qualcosa in php5, spero con php6 facciano qualcosa in più).

    In ogni modo, per il tuo problema, vai sul pannello di amministrazione, su gestione file, clicca sull'ingranaggio blue e setta php5 in tutto il sito.
    Ciao.

  7. #7
    Guest

    Predefinito

    GRANDEEE!!! Grazie mille!!! Pensavo che di default fosse settato il php 5...

    Grazie a tutti, davvero!!

Regole di scrittura

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