Visualizzazione risultati 1 fino 19 di 19
Like Tree1Likes
  • 1 Post By GraphOGLRisorse

Discussione: Data in php o js?

  1. #1
    Guest

    Predefinito Data in php o js?

    Ho un codice che richiama in php una data, però ho pensato che in php continua a interrogare il server, mentre se lo mettessi in js sarebbe un codice più leggero.
    Voi che dite?

  2. #2
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,293

    Predefinito

    Salve,
    dipende da ciò che s'intende fare eda come lo si vuole sviluppare.

    Php lavora lato server mentre js lato client.

    Se non ha bisogno di memorizzare alcuna data, forse js è più adatto. In ogni caso sarebbe opprtuno vedere il codice a cui si riferisce.

    Cordiali saluti.

  3. #3
    Guest

    Predefinito

    Il codice aggiorna il primo gennaio di ogni anno la data

    Codice PHP:
    if (is_home()) {
    $output = '© 2016-'.date('Y').'...';
    echo
    $output;
    }
    Ultima modifica di albertifoto : 27-11-2020 alle ore 20.00.50

  4. #4
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,293

    Predefinito

    Se vuole sostituirlo in js può usare questo codice:
    Codice HTML:
    <div id="data_id"></div>
    
    <script type="text/javascript" language="JavaScript">
      var d=new Date();
      yr=d.getFullYear();
      if (yr!=2016) document.getElementById("data_id").innerHTML = "&copy; 2016 - "+yr;
    </script>
    Cordiali salti.
    Ultima modifica di GraphOGLRisorse : 27-11-2020 alle ore 20.52.00

  5. #5
    Guest

    Predefinito

    La mia domanda non è come sostituirlo, ma quale codice appesantisce meno il sito anche a livello SEO.

  6. #6
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,293

    Predefinito

    Per script semplici come questi, è difficile stabilirlo senza eseguire dei test, comunque non credo che ci sia una differenza significaiva in tempi di caricamento. Ci sono script js come quelli della policy, che incidono molto di più sui tempi di caricamento delle pagine.

    Riguardo al seo, a parte le tempistiche di eseguzione, che in questo caso non dovrebbero influire, non vedo in che altro modo possa farlo.

    Eseguendo questo script di test TestTimeJsPhp, può verificare che i tempi di esguzione dei due script sono circa gli stessi. Questo vale in questo caso ovviamente.

    Quidni può fare come preferisce.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 27-11-2020 alle ore 21.45.10
    mzanella likes this.

  7. #7
    Guest

    Predefinito

    Ok, i tempi sono identici. Allora tengo il php che è più sicuro

  8. #8
    Guest

    Predefinito

    Ho messo così, però mostra l'anno in ritardo di un ora, si è aggiornato alle 01:00. Come lo modifico per farlo aggiornare alle 00:00?

    Codice PHP:
    $output = '&copy; 2016-'.date('Y').'...;

  9. #9
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,293

    Predefinito

    Con php dipende dal fuso orario del server.

    Può impostare quello corretto con DateTimeZone():
    Codice PHP:
    $date = new DateTime('now', new DateTimeZone('Europe/Rome'));
    $output = '&copy; 2016-'.date->format('Y').'...;
    Cordiali saluti.

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Con php dipende dal fuso orario del server.

    Può impostare quello corretto con DateTimeZone():
    Codice PHP:
    $date = new DateTime('now', new DateTimeZone('Europe/Rome'));
    $output = '© 2016-'.date->format('Y').'...;
    Cordiali saluti.
    Ok, invece di fare la modifica nella funzione, si può fare solo nell'echo?

  11. #11
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,293

    Predefinito

    Con echo la modifica non viene apportata al contatore.

    In alternativa, può usare date_default_timezone_set():
    Codice PHP:
    date_default_timezone_set('Europe/Rome');
    ma è il vecchio metodo usato con php 5.x e va messo comunque prima del contatore.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 02-01-2021 alle ore 15.40.40

  12. #12
    Guest

    Predefinito

    Siccome nel tema del sito ho già "date" come codice predefinito, volevo però usarlo modificato ma nell'echo.

    Forse allora è meglio tornare al vecchio js.

    Il codice che mi avevi dato è questo, cosa metto come echo?

    Codice HTML:
    <div id="data_id"></div>
    
    <script type="text/javascript" language="JavaScript">
      var d=new Date();
      yr=d.getFullYear();
      if (yr!=2016) document.getElementById("data_id").innerHTML = "&copy; 2016 - "+yr;
    </script>

  13. #13
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,293

    Predefinito

    Scsusi, echo è php non ha nulla a che fare con js.

    Qui viene stampato a video e aggiornato tramite innerHTML. In js il fuso orario se non precisato, viene usato quello in uso nel browser dell'utente.

    PS. Mi è venuti un dubbio...
    Citazione Originalmente inviato da albertifoto Visualizza messaggio
    Ok, invece di fare la modifica nella funzione, si può fare solo nell'echo?
    Sul codice in php intendeva questo?
    Codice PHP:
    $date = new DateTime('now', new DateTimeZone('Europe/Rome'));
    $output = '© 2016-'.date->format('Y').'...;
    echo $output;
    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 02-01-2021 alle ore 18.12.23

  14. #14
    Guest

    Predefinito

    No, intendevo mettere tutto sull'echo.
    Ultima modifica di albertifoto : 02-01-2021 alle ore 19.27.03

  15. #15
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,293

    Predefinito

    Citazione Originalmente inviato da albertifoto Visualizza messaggio
    No, intendevo mettere tutto sull'echo.
    Quindi vorebbe convertire tutto il codice in una stringa e poi visualizzarlo con echo?

    Al massimo può metterlo su una sola riga:
    Codice PHP:
    echo '© 2016 - '.(new DateTime('now', new DateTimeZone('Europe/Rome')))->format('Y');
    Cordiali saluti.

  16. #16
    Guest

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Quindi vorebbe convertire tutto il codice in una stringa e poi visualizzarlo con echo?

    Al massimo può metterlo su una sola riga:
    Codice PHP:
    echo '© 2016 - '.(new DateTime('now', new DateTimeZone('Europe/Rome')))->format('Y');
    Cordiali saluti.
    Bene. Nel tema ho già questo di default e bastava richiamarlo, ma come dicevo aggiorna l'anno un'ora dopo le 00:00 del 1 gennaio di ogni anno.
    Col tuo codice lo fa subito.

    Codice PHP:
    function wp_portfolio_the_year() {
    return
    date( 'Y' );
    }
    Ultima modifica di albertifoto : 02-01-2021 alle ore 23.17.57

  17. #17
    Guest

    Predefinito

    Ora io ho ancora un codice (l'ultimo) e poi non ti disturbo più. Anche questo entra in azione un'ora dopo quella effettiva italiana. Anche qui vorrei mettere il "new DateTimeZone('Europe/Rome')" come a quell'altro.

    Codice PHP:
    $giorno = date('d');
    $mese = date('m');
    if ((
    $giorno >= 1 && $mese == 12) || ($giorno <= 2 && $mese == 1))
    echo
    'Testo';
    Ultima modifica di albertifoto : 03-01-2021 alle ore 09.09.14

  18. #18
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,293

    Predefinito

    Nessu problema.

    Questo è il codice aggiornato:
    Codice PHP:
    $giorno = (new DateTime('now', new DateTimeZone('Europe/Rome')))->format('d');
    $mese = (new DateTime('now', new DateTimeZone('Europe/Rome')))->format('m');
    if ((
    $giorno >= 1 && $mese == 12) || ($giorno <= 2 && $mese == 1))
    echo
    'Testo';
    Cordiali saluti.

  19. #19
    Guest

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Nessu problema.

    Questo è il codice aggiornato:
    Codice PHP:
    $giorno = (new DateTime('now', new DateTimeZone('Europe/Rome')))->format('d');
    $mese = (new DateTime('now', new DateTimeZone('Europe/Rome')))->format('m');
    if ((
    $giorno >= 1 && $mese == 12) || ($giorno <= 2 && $mese == 1))
    echo
    'Testo';
    Cordiali saluti.
    Good!
    Ultima modifica di albertifoto : 03-01-2021 alle ore 19.19.11

Regole di scrittura

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