Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    PHP - script per contatore accesso sito web

    ciao a tutti, ho scritto questi scriptino per gestire le connessioni al mio sito web:


    code:
    $data_db=mysql_result($resip,0,"data");
    $dataesplosa = explode(" ", $data_db);
    $giorno = explode( "-", $dataesplosa[0] );
    $orario = explode( ":", $dataesplosa[1] );
    $hh = $orario[0];
    $mm = $orario[1];
    $ss = $orario[2];
    $gg = $giorno[2];
    $mese = $giorno[1];
    $aa = $giorno[0];

    $data_db_trenta = date ("Y-m-d H:i:s",mktime(date($hh),date($mm)+30,date("$ss,$me se,$gg,$aa")));
    $data_ora = date ("Y-m-d H:i:s",mktime(date("H"),date("i"),date("s, m, d, Y")));
    echo "data db 30: ".$data_db_trenta."
    data ora: ".$data_ora."
    ";



    ovviamente l'echo dell'ultima riga l'ho aggiunto solamente per fare dei test.

    il problema è questo:
    l'ultimo record inserito nel database è:

    code:| 9 | 127.0.0.1 | 2006-02-18 22:03:49 | localhost |



    ma quando apro la pagina web, gli echo mi producono questo:
    data db 30: 2006-02-20 22:33:49
    data ora: 2006-02-20 09:14:47

    praticamente, data db 30 viene costruita la data attuale (mentre dovrebbe essere la data inserita nel db) e l'orario corretto che è quello inserito nel database!

    però se metto echo davanti a $gg, $mese e $aa, giorno mese e anno sono giusti!!!!! cioè sono i dati presi dal database!

    qualcuno riesce a trovarmi l'errore? sto impazzendo!

  2. #2

  3. #3
    dallo script ke vedo non hai fatto nessuna query per selezionare dati dal dn. se ho capito male prova a spiegarlo diversamente...
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  4. #4
    la query funziona ed ovviamente è select data from connessioni where ip=$ip order by data desc

    il problema sorge quando devo costruire la data aggiungendoci i 30 minuti, l'orario è giusto ma la data no!

    anche se effettivamente i dati che estraggo e divido con i 3 explode sono tutti giusti!

    l'errore dovrebbe stare nella prima funzione date(...) ma non capisco dove

  5. #5

  6. #6
    ho notato che lo script non funziona quando sono io che entro nel sito, mentre quando entrano gli altri funziona bene


  7. #7
    l'errore sta qui:

    codice:
    $data_db_trenta = date ("Y-m-d H:i:s",mktime(date("$hh"),date("$mm")+30,date("$ss,$mese,$gg,$aa")));
    ad esempio provandolo in locale ho questi dati:

    $hh = 22;
    $mm = 03;
    $ss = 49;
    $gg = 18;
    $mese = 02;
    $aa = 2006;

    dovrei io ottenere:
    2006-02-18 22:33:49
    invece ottengo:
    2006-02-21 22:33:49

    come caspita è possibile???????????????????????????
    VVoVe:

  8. #8
    ho risolto!!!!!!!!!!!!!!!!!

    però è una cosa strana, che non mi ha convinto!

    la soluzione al problema sta qui:

    codice:
    $hh = "".$orario[0];
    $mm = "".$orario[1];
    $ss = "".$orario[2];
    $gg = "".$giorno[2];
    $mese = "".$giorno[1];
    $aa = "".$giorno[0];
    	
    $data_db_trenta = date ("Y-m-d H:i:s",mktime(date($hh),date($mm)+30,date($ss),date($mese),date($gg),date($aa)));
    praticamente ho trasformato tutte le variabili in stringhe ed ho creato la data passando i valori in quel modo!

    ma sulla documentazione del php:
    int mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst] )

    mktime accetta solo interi!

    sto sparando io una frega di cavolate o c'è qualcosa di strano?
    :master: :master:

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.