• User Attivo

    Testo che varia a seconda dell'orario.

    Salve ragazzi, Il titolo del trend non è il massimo :eheh:volevo chiedere se è possibile gestire con php un messaggio tipo questo:

    Grazie per aver compilato il form Vi auguro **Buonasera **(in pratica le variabili sono quattro, Buona giornata, buon pomeriggio, buonaserata, buonanotte)
    Si potrebbe fare???
    Vorrei evitare javascript.
    Grazie anticipatamente.


  • Consiglio Direttivo

    Ciao colvi. 🙂

    Non è assolutamente complicato. 😉

    Tramite la funzione time() ottieni l'orario del server in formato timestamp. Poi con la funzione date() ti ricavi l'ora (ed i minuti se vuoi, ma credo ti basti l'ora) e quindi effettui dei controlli sul valore restituito da date() e a seconda del risultato restituisci il messaggio che desideri.
    Tutto chiaro? 🙂


  • User

    Io avevo gestito la cosa con uno switch...ma non ricordo dove ho buttato lo script.


  • User Attivo

    @Samyorn said:

    Ciao colvi. 🙂

    Non è assolutamente complicato. 😉

    Tramite la funzione time() ottieni l'orario del server in formato timestamp. Poi con la funzione date() ti ricavi l'ora (ed i minuti se vuoi, ma credo ti basti l'ora) e quindi effettui dei controlli sul valore restituito da date() e a seconda del risultato restituisci il messaggio che desideri.
    Tutto chiaro? 🙂
    Ho provato questo javascript:
    <script type="text/javascript">adesso = new Date(); ora = adesso.getHours()
    if (ora > 6 && ora <= 13)document.write ("<P>Buongiornata!!</CENTER>")
    if (ora > 13 && ora <= 19)document.write ("<P>Buonpomeriggio!!</CENTER>")
    if (ora > 19 && ora <= 24)document.write ("<P>Buonasera!!</CENTER>")
    if (ora >= 0 && ora <= 6)document.write ("<P>Buona Notte!!</CENTER>")</script>

    Ma come detto lo vorrei realizzare in php per una serie di motivi.

    Potresti farmi un esempio pratico? sono alle prime armi quindi :arrabbiato: non tutto mi è chiaro.
    Grazie


  • User Attivo

    Ciao,
    in php il codice è abbastanza simile, cambiano le funzioni.
    Come ti ha suggerito Samyorn, le funzioni time() e date() ti permettono di ricavare l'ora, poi i controlli da fare sono gli stessi:
    [php]
    $ora=date("H",time());
    if ($ora> 6 && $ora<= 13) echo "Buongiornata!!";
    if ($ora> 13 && $ora<= 19) echo "Buonpomeriggio!!";
    if ($ora> 19 && $ora<= 24) echo "Buonasera!!";
    if ($ora>= 0 && $ora<= 6) echo "Buona Notte!!";
    [/php]

    Sfruttando l'idea di ciccio6630, puoi usare uno switch così:
    [php]
    $ora=date("H",time());
    switch (true) {
    case ($ora>19):
    echo "Buonasera!!";
    break;
    case ($ora>13):
    echo "Buonpomeriggio!!";
    break;
    case ($ora>6):
    echo "Buongiornata!!";
    break;
    default:
    echo "Buona Notte!!";
    }
    [/php]

    Alessandro


  • Consiglio Direttivo

    Non c'è altro da aggiungere a quanto scritto da Magicale, che personalmente ringrazio, preciso come sempre. 😉

    Entrambi i metodi sono validi e funzionali. 🙂


  • User Attivo

    Grazie ragazzi!!