problema mostrare data di registrazione formattata in italiano

Discussione in 'PHP' iniziata da mickey123, 18 Marzo 2015.

  1. mickey123

    mickey123 Utente Attivo

    Registrato:
    17 Gennaio 2015
    Messaggi:
    59
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    ciao ragazzi,

    io vorrei mostrare la data di registrazione dell'utente che si è loggato, nella home di un forum, formattata però in italiano, come faccio? Io sto provando, e ho fatto così, ma non viene:

    PHP:
    $date $_SESSION['regdata'];  //recupero la data di registrazione tramite la sessione, dalla login.php

    echo date('d m Y'$date); ?>
    e mi restituisce questo errore:


    Registrato dal:

    Notice: A non well formed numeric value encountered in C:\xxxxxxxxxxxxxxxxxxxxx\userarea.php on line 39
    01 01 1970


    non riesco a capire, cos'è che non faccio?
     
    Ultima modifica di un moderatore: 18 Marzo 2015
  2. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    16.028
    Mi Piace Ricevuti:
    146
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    devi dire come è formattata la data nella variabile $_SESSION['regdata']
     
  3. mickey123

    mickey123 Utente Attivo

    Registrato:
    17 Gennaio 2015
    Messaggi:
    59
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    si è vero, nel frattempo ho trovato questa, dove c'è la stringa che definisce il formato della data in input:

    $date = DateTime::createFromFormat('Y-m-d', $_SESSION['regdata']);
    echo $date->format('d-m-Y');

    ma mi restituisce questo errore:

    Registrato dal:
    Fatal error: Call to a member function format() on a non-object in C:\xxxxxxxxxxxxxxxxxxxxxx\userarea.php on line 41

    cosa può essere? grazie mille :)
     
  4. mickey123

    mickey123 Utente Attivo

    Registrato:
    17 Gennaio 2015
    Messaggi:
    59
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    sul manuale php.net dice che il secondo parametro dev'essere una stringa, e ho provato a delimitare sia con i doppi apici che con i singoli $_SESSION['regdata'] ma mi viene restituito lo stesso un errore...

     
  5. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    16.028
    Mi Piace Ricevuti:
    146
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    stampa il valore della sessione
    PHP:
    <?php
    $date 
    $_SESSION['regdata'];  //recupero la data di registrazione tramite la sessione, dalla login.php
    var_dump($_SESSION['regdata']);//e posta cosa risulta
    //echo date('d m Y', $date);
    ?>
    $_SESSION['regdata'] puo essere espressa in timestamp (ma non mi sembra perche se così fosse non ti avrebbe dato errore)
    oppure nel formato YY-mm-dd allora bisogna invertirla
    oppure.... in uno degli altri formati
    in funzione di come è la formattazione iniziale si deve fare in un modo o in un altro
     
  6. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    16.028
    Mi Piace Ricevuti:
    146
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    dimenticavo
    leggi bene il manuale
    il primo parametro stringa il secondo numero intero (timestamp)
     
  7. mickey123

    mickey123 Utente Attivo

    Registrato:
    17 Gennaio 2015
    Messaggi:
    59
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    mi stampa questo:

    Registrato dal: string(19) "2014-06-04 13:34:50"

    ma il problema è il formato..perchè il recupero dal db funziona..bisogna capire come inserire la $_SESSION nella funzione sopracitata..

    comunque adesso do un'occhiata al manuale :) grazie mille

     
  8. criric

    criric Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    21 Agosto 2010
    Messaggi:
    5.607
    Mi Piace Ricevuti:
    54
    Punteggio:
    48
    Sesso:
    Maschio
    Località:
    TN
    Ciao, fai prima a cambiare la query che ti restituisce la data, sempre che sia in formato DATETIME o TIMESTAMP
    Codice:
    SELECT DATE_FORMAT(campodata,'%d/%m/%Y %H:%i:%s') as data FROM tabella
     
    Ultima modifica: 18 Marzo 2015
  9. mickey123

    mickey123 Utente Attivo

    Registrato:
    17 Gennaio 2015
    Messaggi:
    59
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    eh ma volevo arrivarci sopra all'altra soluzione! ;) comunque ho trovato un tutorial in giro, che spero possa aiutare anche gli altri così come ha aiutato me:

    http://www.italianwebdesign.it/formattare-le-date-con-database-mysql-e-php/

    grazie mille anche x il tuo aiuto! ciao

     
Sto caricando...

Condividi questa Pagina