Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Parse error

  1. #1

    Parse error

    Salve a tutti, sono nuova e questo è il mio primo post!
    Allora... Ho creato una gallery in php, che in locale funziona perfettamente, ma quando la vado a caricare da quest'errore:

    "Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /web/htdocs/www.innocentmidnight.com/home/Provaphpgallery/doujinshi.php on line 9 "

    questo è il codice:

    <?php
    class Galleria{
    var $pagtrad;
    var $pagtot;
    var $oriname;
    var $tradname;
    var $genere;
    var $nomebreve;
    function __construct($a,$b,$c,$d,$e,$f){
    $this->pagtrad=$a;
    $this->pagtot=$b;
    $this->oriname=$c;
    $this->tradname=$d;
    $this->genere=$e;
    $this->nomebreve=$f;
    }
    public function selezionadoujinshi(){
    echo '<p align="left">
    [img][/img]
    Titolo doujinshi:'.$this->oriname.'

    Titolo tradotto:'.$this->tradname.'

    Numero pagine:'.$this->pagtot.'

    Stato traduzione:';
    if($this->pagtot > $this->pagtrad){
    echo 'in corso...';}
    else if($this->pagtot = $this->pagtrad){
    echo 'completo';}
    echo '
    Genere:'.$this->genere.'

    Riassunto:

    Vai al doujinshi!
    </p>';
    }
    }

    ?>

    E' il primo script php che creo, ma sinceramente per quanto lo guardi non riesco a trovare l'errore, tanto più che come detto prima in locale funziona perfettamente!
    Se servisse uso Rapid PHP 2007!

    Grazie mille in anticipo

  2. #2
    Credo che il problema sia dovuto al fatto che in remoto hai una versione di php diversa da quella che usi in locale. Il costruttore di class __construct() è stato introdotto in php5, forse sul server c'è php4. Se è così, il costruttore deve essere dichiarato con lo stesso nome della classe

    function NomeClasse($a,$b,$c,$d,$e,$f){
    $this->pagtrad=$a;
    $this->pagtot=$b;
    $this->oriname=$c;
    $this->tradname=$d;
    $this->genere=$e;
    $this->nomebreve=$f;
    }

    Così dovrebbe funzionare sia con php4 che con php5.
    Per sapere la versione di php che è installata, guarda la funzione phpinfo().

  3. #3
    La versione è la 4.4.7

    Dopo aver postato il messaggio avevo avuto la stessa idea però anche mettendo

    <?php
    class Galleria{
    var $pagtrad;
    var $pagtot;
    var $oriname;
    var $tradname;
    var $genere;
    var $nomebreve;
    function Galleria($a,$b,$c,$d,$e,$f){
    $this->pagtrad=$a;
    $this->pagtot=$b;
    $this->oriname=$c;
    $this->tradname=$d;
    $this->genere=$e;
    $this->nomebreve=$f;
    }

    Da lo stesso identico errore! Ho anche provato a mettere public function ma non funziona...

  4. #4
    Scusa, ho guardato solo la linea dove dava l'errore, e non ho fatto caso alla dichiarazione degli attributi che precedono il costruttore... invece di var, prova a dichiararli con "public" oppure "private", a seconda della visibilità che vuoi dargli.

  5. #5
    Niente

    "Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /web/htdocs/www.innocentmidnight.com/home/Provaphpgallery/doujinshi.php on line 3"

    Ora la linea è diventata quella delle variabili!

  6. #6
    Ho trovato la soluzione levando l'attributo public dalle funzioni e lasciando solo function... Ma come mai i server usano ancora php4? Quando passeranno al 5?

    Grazie mille per l'aiuto!

  7. #7
    Toglia public da:

    public function selezionadoujinshi(){

    Che sia la volta buona???

  8. #8
    Ci sei arrivato prima!!!! Credo che server con php4 saranno duri a morire, per un bel pò di tempo ancora... Comunque, cerca di avere l'ambiente di sviluppo locale uguale a quello remoto, in modo da evitare brutte sorprese.

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.