Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    26

    Data indietro di qualche giorno

    Ciao a tutti io ho trovato questo script su internet per visualizzare la data: la particolarità di questo script e che non mostra la data del computer in uso ma del server quindi è sicuramente corretta.

    [PHP]

    <?php

    $giorno= date("j");
    $mese = date("n");
    $anno = date("Y");
    $internettime = date("B");
    $settimana = date("w");
    $giornosettimana = array ("Domenica", "Lunedi", "Martedi", "Mercoledi",
    "Giovedi", "Venerdi", "Sabato");
    $nomemese = array (1 => "gennaio", "febbraio", "marzo", "aprile",
    "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre",
    "dicembre");


    echo ("$giornosettimana[$settimana]" . "," . " " . "$giorno" . " " . "$nomemese[$mese]"
    . " " . "$anno");

    ?>
    [\PHP]

    Io vorrei poter creare uno script simile a questo che mi dia la data del server ma che sia sbagliata, più specificamente indietro di 4 giorni. Voi vi chiederete perchè? io ve lo spiego subito voglio creare una scritta che dica la pagina è stata aggiornata il "data indietreggiata di 4 giorni". Da solo ci sono riuscito ma quando i giorni da indietreggiare sono i primi del mese va in valore negativi e poi non sono riuscito a modificare il giorno della settimana.

    Spero di essere stato abbastanza chiaro, se non lo sono stato chiedete pure

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Dalla prima linea dipende il formato dell'output della data, a seconda se ti trovi su un server linux o windows e delle lingue compilate sul server dovrai modificare la stringa it_IT in quella corretta per il tuo server.

    (potrebbe essere anche che la lingua italiana non sia compilata).

    Se non c'è la lingua italiana, dovrai usare il metodo che hai mostrato tu, ricavandoti con il comando date il giorno della settimana ecc partendo sempre dalla variabile $quattrogiornifa.


    codice:
    setlocale(LC_TIME,'it_IT');
    $oggi = time();
    $quattrogiornifa = $oggi - (4*86400);
    echo strftime('%A, %e %B %Y', $quattrogiornifa);
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    26
    Ciao gianiaz, sei grandissimo hai risolto il mio problema con solo 4 righe, grazie

    Ci sarebbe solo una cavolata che mi piacerebbe aggiustare: il giorno potrebbe cominciare per maiuscola?

    Poi c'è una cosa che ho notato: sul mio server virtual del computer il giorno (il numero) non compare mentre sul server altervista si.

    Come ultima cosa vorrei sapere una cosa che non c'entra niente con questo script, la chiedo a te perchè dalla risposta di prima mi sembri la persona più adatta (esperta). Volevo sapere ma quando si scrive una funzione del tipo mail(destinatario,oggetto,messaggio, ecc) nel messaggio io avrei due variabili: come faccio a fare che in una riga ci sia &variabile1 e a capo c'è $variabile2? Ho preso la funzione mail() solo per esempio, potrebbe per esempio anche applicarsi allo script di cui stiamo discutendo.

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da bonny666
    Ciao gianiaz, sei grandissimo hai risolto il mio problema con solo 4 righe, grazie

    Ci sarebbe solo una cavolata che mi piacerebbe aggiustare: il giorno potrebbe cominciare per maiuscola?
    codice:
    echo ucfirst(strftime('%A, %e %B %Y', $quattrogiornifa));

    Poi c'è una cosa che ho notato: sul mio server virtual del computer il giorno (il numero) non compare mentre sul server altervista si.
    Mi sembra strano, sei sicuro che non ci sia qualche altro problema di mezzo?

    Puoi provare a sostituire %e con %d che ti da il numero con lo zero davanti se il giorno è minore di 10, comunque non è una vera soluzione...
    Come ultima cosa vorrei sapere una cosa che non c'entra niente con questo script, la chiedo a te perchè dalla risposta di prima mi sembri la persona più adatta (esperta). Volevo sapere ma quando si scrive una funzione del tipo mail(destinatario,oggetto,messaggio, ecc) nel messaggio io avrei due variabili: come faccio a fare che in una riga ci sia &variabile1 e a capo c'è $variabile2? Ho preso la funzione mail() solo per esempio, potrebbe per esempio anche applicarsi allo script di cui stiamo discutendo.
    Questa domanda non l'ho capita, ti puoi spiegare meglio?

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    26
    Originariamente inviato da gianiaz

    Questa domanda non l'ho capita, ti puoi spiegare meglio?

    ciao
    Nell'esempio di questo script, per esempio vorrei mettere in una riga il giorno e il mese e in un'altra l'anno.

    Esempio:

    Lunedì, 9 novembre
    2007

    Sono stato chiaro adesso?

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    una funzione a cui sono particolarmente affezionato è

    get_date();

    se si lasciano vuole le parentesi getdate restituisce un array con tutti i dati che ti servono (giorno,mese,anno,giorno della settimana,giorno dell' anno e timestamp) ATTUALI.

    ma se si passa un timestamp come parametro get_date() restituisce la data riferita a quel timestamp.

    timestamp è un valore che conta i secondi passati dal 1 gennaio 1970, quindi utilizzatissimo per calcolare i passaggi temporali

    Codice PHP:
    $quel_giorno=getdate(time()-(86400*5));  // 5 è il numero di giorni di cui vuoi retrocedere. se vuoi andare avanti invece metti + . 86400 sono i secondi in 24 ore

    echo "<pre>";print_r($quel_giorno);echo "</pre>"
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    26
    Originariamente inviato da dottwatson
    una funzione a cui sono particolarmente affezionato è
    Grazie dottwatson per avermi aiutato ma questo è il risultato è in lingua inglese per cui per il momento preferisco l'altro, ma per indicare l'ora potrebbe essermi utile a proposito per collegare il valore di una casella di testo come questa:

    <input name="orologio" type="text" value="" />

    nel campo value come faccio ad inserire l'ora che si aggiorna ogni secondo con php? sapete qualcosa in proposito?



    Originariamente inviato da bonny666
    Nell'esempio di questo script, per esempio vorrei mettere in una riga il giorno e il mese e in un'altra l'anno.

    Esempio:

    Lunedì, 9 novembre
    2007
    Mi sono risposto da solo guardando un altro script: basta inserire

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da bonny666
    nel campo value come faccio ad inserire l'ora che si aggiorna ogni secondo con php? sapete qualcosa in proposito?
    Se vuoi questo effetto devi per forza usare javascript.

    Tieni presente che se vuoi fare tutto in javascript avrai la data del client e non del server.

    Se vuoi la data del server che si aggiorni dovrai usare un misto di javascript e php (ajax), ma te lo sconsiglio, interrogare il server ogni secondo per avere la nuova data e aggiornarla nel campo è uno spreco secondo me inutile delle risorse.

    ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    26
    Originariamente inviato da gianiaz
    Se vuoi questo effetto devi per forza usare javascript.

    Tieni presente che se vuoi fare tutto in javascript avrai la data del client e non del server.

    Se vuoi la data del server che si aggiorni dovrai usare un misto di javascript e php (ajax), ma te lo sconsiglio, interrogare il server ogni secondo per avere la nuova data e aggiornarla nel campo è uno spreco secondo me inutile delle risorse.

    ciao
    Grazie, forse hai ragione. Ma se si aggiornasse ogni minuto? Non dovrebbe avere più lo stesso problema di interrogare il server ogni secondo, quindi va bene no?

    Ma come si fa, allora, a far aggiornare l'ora ogni minuto con ajax?

  10. #10

    http://www.mtbvulture.net

    da profano, non potrebbe aggiornare via js l'orario che gli passa la pagina PHP, cioè prendere come origine l'orario server e poi fare un TIC-TAC lato client partendo dal quella data senza andare a scomodare ajax? penso sia la soluzione + conveniente...

    CIAO!

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.