istruzione if ($ore ....
istruzione if ($ore .... postato il 02/08/2009 14:37:19 nel forum programmazione, open source e hosting e modificato da dande il 02/08/2009 17:12:24
<?
if (($ore > 06) && ($ore < 13)) {
echo "<img src=buongiorno.png>";
}
elseif (($ore > 12) && ($ore < 18)) {
print "<img src=buonpomeriggio.png>";
}
elseif (($ore > 17) && ($ore < 22)) {
echo "<img src=buonasera.png>";
}
elseif (($ore > 22) && ($ore < 00)) {
echo "<img src=buonanotte.png>";
}
?>
non mi segnala nessun errore ma funziona solo il "buongiorno" dalle 6 alle 13...
qual'è il problema?
[
l'intenzione era comunque quella di avere, a seconda dell'orario, un messaggio diverso (immagine png)
]
Grazie
Pagine → 1
02/08/2009 14:48:59
fatti stampare $ore e vedi se ti stampa il numero che dovrebbe stampare!
02/08/2009 14:52:19 e modificato da dande il 02/08/2009 15:12:26
need ha scritto: fatti stampare $ore e vedi se ti stampa il numero che dovrebbe stampare!
l'ora echo "$ore" risulta "02" alle 14.
come faccio a settarlo?
e comunque io ho:
$ore=strftime("%I");
$minuti=strftime("%M");
$data =(date("d-m-y"));
e nell'orario (funzione Tempo())
c'è l'orario 15:10
02/08/2009 15:37:15
%I ti restituisce l'ora in formato 01-12 %H te lo restituisce in formato 00-23
$ore=strftime("%H");
qui c'è anche la guida a tutti i parametri della funzione strftime():
http://it2.php.net/strftime ↗
02/08/2009 22:40:26 e modificato da dande il 03/08/2009 13:50:07
<?
if (($ore > 6) && ($ore < 13)) {
echo "<img src=buongiorno.png>";
}
elseif (($ore > 12) && ($ore < 18)) {
print "<img src=buonpomeriggio.png>";
}
elseif (($ore > 17) && ($ore < 22)) {
echo "<img src=buonasera.png>";
}
elseif (($ore > 21) && ($ore < 6)) {
echo "<img src=buonanotte.png>";
}
?>
Funziona fino al buonasera.png. Il buonanotte non lo dà. (che sia impostato per durare fino alle 6 o fino alle 0)
Così ho impostato
else {
echo "<img src=buonanotte.png>";
}
04/08/2009 12:48:57
<?php
if (($ore > 6) && ($ore < 13)) {
echo "<img src='buongiorno.png' border='0' />";
}
elseif (($ore > 12) && ($ore < 18)) {
echo "<img src='buonpomeriggio.png' border='0' />";
}
elseif (($ore > 17) && ($ore < 22)) {
echo "<img src='buonasera.png' border='0' />";
} else {
echo "<img src='buonanotte.png' border='0' />";
}
?>
questo dovrebbe essere corretto :) comunque consiglio se stai imparando il php.
Tutte le volte che scrivi qualcosa rileggilo in italiano quindi:
Se (if) $ore è maggiore di 6 E (&&) $ore è minore di 13 verrà stampata (echo)la stringa "<img ecc... />".
AltrimentiSe (elseif) $ore è .... ecc.
così via, in modo che riesci a comprendere meglio quello che stai scrivendo e non incappi in errori.
poi ho visto che hai usato anche un print messo lì così:
sintassi per print: print ("stringa"); oppure print('messaggio');
sintassi per echo: echo "messaggio"; oppure echo 'messaggio';
echo è più veloce visto che non fa controlli e non è una funzione, al contrario di print. vedi tu quale metodo adottare :)
poi, c'è anche un'altra soluzione se vuoi :) che è quella di usare uno costrutto switch.
Ciao.
05/08/2009 13:04:13
Sì avevo pensato anche allo swift però alla fine mi sembrava uguale.
Per il print devo essermi sbagliato...
Sì controllo in italiano tranquillo
Grazie dei consigli e dell'attenzione.
Ho già provato a mettere l'else infatti avevo risolto così il problema però volevo sapere se c'erano errori nella stringa del buonanotte.png :S
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Neverness to Everness ↗
CRSED: F.O.A.D. ↗
Wuthering Waves ↗
New Orleans ↗
War Thunder ↗
Enlisted ↗
Exclusive Villa GdR ↗