Visualizzazione risultati 1 fino 14 di 14

Discussione: Cronometro

  1. #1
    skyandfire non è connesso Neofita
    Data registrazione
    11-02-2011
    Messaggi
    8

    Predefinito Cronometro

    Ciao a tutti, vorrei realizzare un cronometro in php, cliccando sul tasto inizio mi dovrebbe salvare l'orario rimanendo nella pagina, cliccando il tasto fine invia l'orario di inizio ad un'altra pagina che vede l'orario di apertura e fa il calcolo.
    Solo che nella pagina iniziale ci devono essere più di un cronometro, perciò avviando il primo non devo perdere l'orario di avvio del secondo ad esempio.
    Qualcuno può aiutarmi? grazie mille

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Ricordo che il PHP lavora lato server, quindi di per sé, il PHP non può mostrare né dei tasti, né il cronometro.

    Dipende cosa vuoi farci e a cosa ti serve.

    Hai provato a far qualcosa? Se sì, immagino non ci sei riuscito, visto che hai chiesto qui. Puoi mostrare comunque cosa hai fatto? (in modo di correggere gli eventuali errori).

    Ciao!

  3. #3
    skyandfire non è connesso Neofita
    Data registrazione
    11-02-2011
    Messaggi
    8

    Predefinito

    Ecco il codice:

    Home.php
    Codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    <meta content="it" http-equiv="Content-Language" />
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Il Biliardo di Hume</title>
    
    <script type="text/javascript">
    function datainizio1(){
    data = new Date();
    ora =data.getHours();
    minuti=data.getMinutes();
    document.biliardo1.inizio.value=ora+":"+minuti;
    }
    </script>
    </head>
    
    <body>
    
    <table style="width: 100%">
    	<tr>
    		<td style="width: 129px">&nbsp;</td>
    		<td colspan="2" style="width:80%;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;font;text-align: center;font-size:x-large">Il Biliardo di 
    		Hume</td>
    		<td style="font-family:'Courier New', Courier, monospace;text-align:center">Versione Alpha</td>
    	</tr>
    	<tr>
    		<td colspan="4" style="height: 60px"></td>
    	</tr>
    	<tr>
    		<td colspan="2" style="text-align:center;width: 50%; ">
    		<form name="biliardo1" action="cronometro.php" method="get" style="border: 1px solid #000000; width: 461px;border-width:4px;margin-bottom:20;margin-top:20;margin-left:100px;padding:10px">
    			<span style="font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;text-align:left">Biliardo 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
    			&nbsp;<span style="font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;font-size:x-small;text-align:right">costo orario&nbsp;&nbsp; </span>
    			<input name="costoorario" style="width: 38px" type="text" value="1,5" />&nbsp;&nbsp;&nbsp;
    			<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 		<input name="inizio" style="font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;" onclick="datainizio1()" type="button" value="INIZIO" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
    			<input name="fine1" type="submit" value="FINE" style="font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;" />
    		</form>
    		</td>
    		<td colspan="2" style="height: 74px"></td>
    	</tr>
    	<tr>
    		<td colspan="2" style="width: 449px">&nbsp;</td>
    		<td colspan="2">&nbsp;</td>
    	</tr>
    	<tr>
    		<td colspan="2" style="width: 449px">&nbsp;</td>
    		<td colspan="2">&nbsp;</td>
    	</tr>
    	<tr>
    		<td colspan="2" style="width: 449px">&nbsp;</td>
    		<td colspan="2">&nbsp;</td>
    	</tr>
    	<tr>
    		<td colspan="2" style="width: 449px">&nbsp;</td>
    		<td colspan="2">&nbsp;</td>
    	</tr>
    	<tr>
    		<td colspan="2" style="width: 449px">&nbsp;</td>
    		<td colspan="2">&nbsp;</td>
    	</tr>
    	<tr>
    		<td colspan="2" style="width: 449px">&nbsp;</td>
    		<td colspan="2">&nbsp;</td>
    	</tr>
    	<tr>
    		<td colspan="2" style="width: 449px">&nbsp;</td>
    		<td colspan="2">&nbsp;</td>
    	</tr>
    	<tr>
    		<td colspan="2" style="width: 449px">&nbsp;</td>
    		<td colspan="2">&nbsp;</td>
    	</tr>
    </table>
    
    </body>
    
    </html>
    cronometro.php
    Codice:
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Untitled 1</title>
    </head>
    
    <body>
    prova
    <?php echo $_GET["inizio"]; ?></body>
    
    </html>

  4. #4
    skyandfire non è connesso Neofita
    Data registrazione
    11-02-2011
    Messaggi
    8

    Predefinito

    Ho risolto, adesso ho un altro problema. Secondo te va bene questo algoritmo per calcolare la differenza tra gli orari? grazie ancora
    Codice PHP:
    $orainizio=$_POST["orainizio"];
    $minutiinizio=$_POST["minutiinizio"];
    $secondiinizio=$_POST["secondiinizio"];

    $orafine=date('G');
    $minutifine=date('i');
    $secondifine=date('s');

    if(
    $orainizio>$orafine)
    $orafine=$orafine+24;

    $secondi=(($orafine-$orainizio)*3600)+(($minutifine-$minutiinizio)*60)+($secondifine-$secondiinizio);
    Ultima modifica di alemoppo : 03-03-2012 alle ore 22.37.04 Motivo: [code] -> [php]

  5. #5
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Ciao, sto realizzando uno script per la gestione delle partite di calcio.
    Come hai risolto? Quel codice va bene?
    Grazie.

  6. #6
    skyandfire non è connesso Neofita
    Data registrazione
    11-02-2011
    Messaggi
    8

    Predefinito

    Ecco
    Nell' head:
    Codice:
    <script type="text/javascript">
    function datainizio1(){
    data = new Date();
    ora =data.getHours();
    minuti=data.getMinutes();
    secondi=data.getSeconds()
    document.biliardo1.orainizio.value=ora;
    document.biliardo1.minutiinizio.value=minuti;
    document.biliardo1.secondiinizio.value=secondi;
    document.biliardo1.textorainizio1.value=ora+":"+minuti+":"+secondi;
    document.biliardo1.inizio1.type="hidden";}
    function reset1(){
    document.biliardo1.inizio1.type="button";
    document.biliardo1.textorainizio1.value="";}
    
    function datainizio2(){
    data = new Date();
    ora =data.getHours();
    minuti=data.getMinutes();
    secondi=data.getSeconds()
    document.biliardo2.orainizio.value=ora;
    document.biliardo2.minutiinizio.value=minuti;
    document.biliardo2.secondiinizio.value=secondi;
    document.biliardo2.textorainizio2.value=ora+":"+minuti+":"+secondi;
    document.biliardo2.inizio2.type="hidden";}
    Corpo:
    Codice:
    		<form name="biliardo1" action="cronometro.php" method="post" style="border: 1px solid #000000;height:80px;margin-bottom:10px; width: 90%;border-width:4px;padding:10px; background-image: url('biliardo.png');" onsubmit="window.open('','cronometro','top=100,left=200,width=250,height=180')" target="cronometro">
    			<span style="font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;text-align:left; color: #FFFFFF;">Biliardo 1 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
    			&nbsp;<span style="font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;font-size:x-small;text-align:right; color: #FFFFFF;">tariffa oraria&nbsp;&nbsp; </span>
    			<input name="costoorario" style="width: 38px" type="text" value="5,50" />&nbsp;&nbsp;&nbsp;
    			<br /><input name="orainizio" type="hidden" value="" /><input name="minutiinizio" type="hidden" value="" /><input name="secondiinizio" type="hidden" value="" /><input name="numero" type="hidden" value="1" /><input name="biliardocarte" type="hidden" value="1" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 		
    			<input name="inizio1" style="border-style: solid; border-color: #000000; font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; background-color: #FFFFFF; color: #000000; background-image: none; height: 35px; width: 60px; font-weight: bold;" onclick="datainizio1()" type="button" value="INIZIO" />&nbsp;&nbsp; <input name="textorainizio1" type="text" value="" readonly="readonly" style="width: 54px; background-repeat: inherit; background-image: none;"/>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
    			<input name="fine1" type="submit" value="FINE" style="border-style: solid; border-color: #000000; font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; background-color: #FFFFFF; height: 35px; width: 50px; font-weight: bold;" onclick="reset1()"/>
    		</form>
    Popup:
    Codice PHP:
    <?php
    $orainizio
    =$_POST["orainizio"];
    $minutiinizio=$_POST["minutiinizio"];
    $secondiinizio=$_POST["secondiinizio"];
    $tariffa=$_POST["costoorario"];
    $numero=$_POST["numero"];
    $biliardocarte=$_POST["biliardocarte"];
    $tariffa=str_replace(",",".",$tariffa);
    if(
    $biliardocarte!=1){
    $persone=$_POST["persone"];
    }
    $orafine=date('G');
    $minutifine=date('i');
    $secondifine=date('s');
    if(
    $orainizio>$orafine)
    $orafine=$orafine+24;
    $secondi=(($orafine-$orainizio)*3600)+(($minutifine-$minutiinizio)*60)+($secondifine-$secondiinizio);
    if(
    $biliardocarte!=1)
    $costo=$secondi*(($tariffa*$persone)/3600);
    else
    $costo=$secondi*($tariffa/3600);
    $minuti=0;
    $ore=0;
    $secondi1=$secondi;
    if(
    $secondi>60){
    $minuti= (int) $secondi/60;
    $secondi=$secondi-($minuti*60);
    }
    if(
    $minuti>60){
    $ore=(int) $ore/60;
    $minuti=$minuti-($ore*60);}

    ?>
    Questo è il codice, dovresti pulirlo dal mio materiale superfluo, in pratica "inizio" è un pulsante in javascript che scrive il tempo in campi nascosti, "fine" invece richiama la pagina del popup a cui fornisce i capi nascosti, vede l'orario attuale e fa il calcolo.
    Ultima modifica di alemoppo : 03-03-2012 alle ore 22.38.07 Motivo: [code] -> [php]

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Citazione Originalmente inviato da skyandfire Visualizza messaggio
    Ho risolto, adesso ho un altro problema. Secondo te va bene questo algoritmo per calcolare la differenza tra gli orari? grazie ancora
    Codice PHP:
    $orainizio=$_POST["orainizio"];
    $minutiinizio=$_POST["minutiinizio"];
    $secondiinizio=$_POST["secondiinizio"];

    $orafine=date('G');
    $minutifine=date('i');
    $secondifine=date('s');

    if(
    $orainizio>$orafine)
    $orafine=$orafine+24;

    $secondi=(($orafine-$orainizio)*3600)+(($minutifine-$minutiinizio)*60)+($secondifine-$secondiinizio);
    Invece di salvare ora, minuti, secondi separati, io salverei il timestamp prelevandolo tramite la time().

    Quindi, la differenza (in secondi) sarà
    Codice PHP:
    time() - $timestampsalvato
    Ciao!

  8. #8
    skyandfire non è connesso Neofita
    Data registrazione
    11-02-2011
    Messaggi
    8

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Invece di salvare ora, minuti, secondi separati, io salverei il timestamp prelevandolo tramite la time().

    Quindi, la differenza (in secondi) sarà
    Codice PHP:
    time() - $timestampsalvato
    Ciao!
    E la differenza in cosa è? mi servirebbe in secondi

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Citazione Originalmente inviato da skyandfire Visualizza messaggio
    E la differenza in cosa è? mi servirebbe in secondi
    Se rileggi il mio messaggio, lo scoprirai.

    Comunque, dovresti anche sapere cosa sia il timestamp, altrimenti è difficile usarlo senza sapere cosa sia. (vedi il link).

    Ciao!
    Ultima modifica di alemoppo : 04-03-2012 alle ore 03.28.39

  10. #10
    skyandfire non è connesso Neofita
    Data registrazione
    11-02-2011
    Messaggi
    8

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Se rileggi il mio messaggio, lo scoprirai.

    Comunque, dovresti anche sapere cosa sia il timestamp(), altrimenti è difficile usarlo senza sapere cosa sia. (vedi il link).

    Ciao!
    Ooppss, ero distratto mentre leggevo il tuo messaggio.
    Una domanda, avendo queste 3 variabili

    Codice:
    $orainizio=$_POST["orainizio"];
    $minutiinizio=$_POST["minutiinizio"];
    $secondiinizio=$_POST["secondiinizio"];
    posso fare questo?

    Codice:
    $timestampsalvato=$orainizio.':'.$minutiinizio.':'.$secondiinizio;
    $secondi=time() - $timestampsalvato ;

  11. #11
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Con la strtotime() oppure con la mktime().

    Comunque, se salvi il timestamp, non ti serve ricordare le ore/minuti/secondi.

    Ciao!

  12. #12
    skyandfire non è connesso Neofita
    Data registrazione
    11-02-2011
    Messaggi
    8

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Con la strtotime() oppure con la mktime().

    Comunque, se salvi il timestamp, non ti serve ricordare le ore/minuti/secondi.

    Ciao!
    Solo che il primo orario lo prendo in javascript, esiste una funzione come time() in js? grazie ancora per le risposte

  13. #13
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    tramite .getTime()
    Codice:
    <script>
    var adesso = new Date();
    document.write(adesso.getTime());
    </script>
    Occhio però, perché la getTime() ritorna i millisecondi, mentre la time() di PHP ritorna i secondi. Quindi dovresti dividere la prima per 1000 per portarli in secondi, o moltiplicare la seconda per 1000 per portarli in millisecondi.

    Dimenticavo: visto che javascript viene eseguito lato client, la data di javascript sarà del PC su cui viene eseguito lo script, mentre con PHP la data sarà quella del server. Se vuoi invece utilizzare la data del server anche in javascript, potresti farlo impostando la data tramite la setTime(), passandogli il timestamp del server. Vedi qui (parlo della terza riga, che usa la setTime).

    Ciao!
    Ultima modifica di alemoppo : 04-03-2012 alle ore 14.05.03

  14. #14
    skyandfire non è connesso Neofita
    Data registrazione
    11-02-2011
    Messaggi
    8

    Predefinito

    Grazie mille, mi sei stato di enorme aiuto. Purtroppo un problema tira l'altro .
    Volevo fare un approssimazione di questo tipo:
    12.345 -> 12.34
    12.3 -> 12.30
    12 -> 12.00
    Ho cercato un po su internet e ho trovato questo comando: number_format()

    L'unico problema è che fa solo
    12.345 -> 12.34
    provando con gli altri due non va. Cosa posso usare?

Regole di scrittura

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