Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Contatore

  1. #1

    Contatore

    Ciao a tutti,

    sto provando a ricreare il contatore che viene illustrato nella Guida di html.it:

    http://php.html.it/guide/lezione/269...ersonalizzato/

    se creo una nuova pagina in locale e inserisco il seguente codice tutto funziona.

    <?php

    require_once 'lib/counter.php';
    $counter = new SimpleCounter(new FileDataProvider);
    echo "Questa pagina &egrave; stata visitata ".$counter->visits." volte";

    ?>

    Ma se inserisco lo stesso codice sull'index del mio sito e lo carico nell'ftp non funziona.
    Il percorso del file è giusto, e non capisco il motivo.

    Comunque l'errore che mi viene visualizzato è:

    Parse error: syntax error, unexpected T_STRING in /web/htdocs/www.nomesito.it/home/lib/counter.php on line 3

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Puoi postare quello che hai salvato sotto lib/counter.php, ci sarà l'errore lì, probabilmente copy/paste ...

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    a cosa corrisponde la linea 3 nello script?

  4. #4
    La linea 3 è: interface DataProvider

    <?php

    interface DataProvider
    {
    public function storeVisits($visits);
    public function readVisits();
    }

    class FileDataProvider implements DataProvider
    {
    const FILE_PATH = 'counter.txt';

    private $fp;

    public function __construct()
    {
    if(!file_exists(FileDataProvider::FILE_PATH))
    {
    $fp = fopen(FileDataProvider::FILE_PATH, 'w+');
    fwrite($fp, '0');
    fclose($fp);
    }

    $this->fp = fopen(FileDataProvider::FILE_PATH, 'r+');
    }

    public function readVisits()
    {
    return intval(file_get_contents(FileDataProvider::FILE_PA TH));
    }

    public function storeVisits($visits)
    {
    ftruncate($this->fp, 0);
    fseek($this->fp, 0);
    fwrite($this->fp, strval($visits));
    }

    public function __destruct()
    {
    fclose($this->fp);
    }
    }

    class SimpleCounter
    {
    private $provider;

    public $visits;

    public function __construct(DataProvider $provider)
    {
    $this->provider = $provider;
    $this->visits = $this->provider->readVisits();
    if($this->isValid())
    {
    $this->provider->storeVisits(++$this->visits);
    }
    }

    protected function isValid()
    {
    return true;
    }
    }

    ?>

  5. #5
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Ma usi per caso ancora PHP4?

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  6. #6
    il codice è corretto!

  7. #7
    può darsi che abbia ancora php4 ma quando lo carico sull'ftp comunque non dovrebbe dare problemi.
    se volete vi faccio vedere anche su quale sito lo carico...

  8. #8
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Originariamente inviato da Cesare77
    può darsi che abbia ancora php4 ma quando lo carico sull'ftp comunque non dovrebbe dare problemi.
    se volete vi faccio vedere anche su quale sito lo carico...
    Perché? Se usi 5 in locale e 4 sul server è ovvio

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  9. #9
    In pratica se nel server dove risiede il tuo sito non c'e' php5 ,il tuo codice da errore

  10. #10
    a dirti la verità non lo so perchè il sito non è mio però gira su aruba

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.