Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    53

    Problema con data e ora

    Salve a tutti.
    Premetto che sono alee prime armi con il php e il Mysql.
    Il mio problema riguarda l'inserimento dell'ora in una finestra di messaggeria il risultato che ho ottenuto è questo:
    Data: 24 00:00:00/02/2005
    Queste sono le impostazioni che ho dato nel campo data_invio di phpmyadmin 2.2.6 :
    campo:data_invio
    tipoATATIME
    lunghezza/set:
    attributi:
    null:not null
    predefinito:0000-00-00 00:00:00
    extra:
    Poi ho messo questa funzione :
    function scrivi_messaggio($mittente,$destinatario,$tipo,$te sto)
    {
    global $_CONFIG;

    $day = date("d",time());
    $month = date("m",time());
    $year = date("Y",time());
    $data_log = $year ."-". $month ."-". $day;

    $ora_log = date("H:i:s",time());

    mysql_query ("
    INSERT INTO ".$_CONFIG['table_messaggi']."
    (id_mittente, id_destinatario, tipo, testo, data_invio, letto)
    VALUES
    (".$mittente.", ".$destinatario.", '".$tipo."', '".$testo."', '".$data_log."', '".$ora_log.", 'n')
    ");

    if (mysql_insert_id()){
    return "Messaggio inviato correttamene";
    }else{
    return "Messaggio NON inviato";
    }

    }


    Spero che ci sia tutto cio che serve per capire dove sta il problema.
    Grazie aspetto vostre notizie.

  2. #2
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Perchè tratti $data_log e $time_log come due campi differenti?

    Comunque invece di fare tutto quel casino potresti fare

    mysql_query ("
    INSERT INTO ".$_CONFIG['table_messaggi']."
    (id_mittente, id_destinatario, tipo, testo, data_invio, letto)
    VALUES
    (".$mittente.", ".$destinatario.", '".$tipo."', '".$testo."', NOW(), 'n')
    ");

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    53
    Messaggio PUBBLICO da: admin, Data: 24 00:00:00/02/2005 - RISPONDI - CANCELLA

    Niente da fare da sempre lo stesso risultato.

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Scusa ma la data come la estrai e come la stampi?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    53
    questo è parte del codice della pagina messaggi.php:

    <td><span class="linkbianco"><? echo $prof["username"]; ?></span>
    <?
    while ($row = mysql_fetch_array($messaggi)){
    $data_m = explode("-",$row["data_invio"]);
    ?>
    <table width="96%" border="0" align="center" cellpadding="0" cellspacing="3" class="tabsezioni">
    <tr>
    <td class="cellaheadercommunity">Messaggio
    <? if ($row["tipo"]=='1'){ echo "PRIVATO"; }else{ echo "PUBBLICO"; } ?>
    da:
    " class="minilink_m"><? echo $row["username"] ?>,
    Data: <? echo $data_m[2]."/".$data_m[1]."/".$data_m[0]; ?>
    <? if ((isset($_GET["update"]))AND($_GET["update"]=='y')){ ?>
    - " class="minilink_m">RISPONDI
    - <a href="home.php<?=$link?>&amp;p=cancella&amp;id=<? echo $row["id_messaggio"]; ?>" class="minilink_m">CANCELLA
    </a>
    <? } ?>
    </td>
    </tr>
    <tr>
    <td class="cellasezioni_letto_<? echo $row["letto"]; ?>"><? echo estrazione_dati($row["testo"]); ?></td>
    </tr>

    </table>

    <?
    }
    if ($numero_pagine > 1) {
    //inizio della condizione per creare l'elenco delle pagine
    echo "
    Pagine:[1]";
    for ($pagina = 2; $pagina <= $numero_pagine; $pagina++) {
    echo "[".$pagina. "]";
    }
    } // fine "elenco"
    ?>
    </td>
    </tr>
    <?
    }
    }else{
    header("Refresh: 3;URL=home.php");
    echo '<div align="center">NON Sei connesso ... ... </div>';
    }
    ?>
    </table>


    Scusami

  6. #6
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    prova a stampare direttamente $row['data_invio'] e vedi se ti dà lo stesso errore.

  7. #7
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Ah aspè.
    $data_m = explode("-",$row["data_invio"]);
    se $row['data_invio'] = 2005-02-24 18:00:00
    $data_m[2] dovrà restituirti "24 18:00:00"
    Quindi in realtà è giusto. La cosa che non mi spiego è perchè ti segna l'orario a mezzanotte.


  8. #8
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Comunque fai così:
    Codice PHP:
    list($data,$orario) = explode(" ",$row['data_invio']);
    list(
    $anno,$mese,$giorno) = explode($data);

    echo 
    $giorno."/".$mese."/".$anno// per avere "24/02/2005" 

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    53
    faccio un pò di pulizia altrimenti mi incasino scusami questo è il codice che dovrebbe generare data e ora :
    $data_m = explode("-",$row["data_invio"]);
    ?>
    <table width="96%" border="0" align="center" cellpadding="0" cellspacing="3" class="tabsezioni">
    <tr>
    <td class="cellaheadercommunity">Messaggio
    <? if ($row["tipo"]=='1'){ echo "PRIVATO"; }else{ echo "PUBBLICO"; } ?>
    da:
    " class="minilink_m"><? echo $row["username"] ?>,
    Data: <? echo $data_m[2]."/".$data_m[1]."/".$data_m[0]; ?>

    ora cosa devo fare?

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.