Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163

    nome variabile maiuscolo/minuscolo

    Ho un caso per me' strano, vediamo se posso spiegarlo:
    Nel modulo di controllo del form, raccolgo la variabile dal form:
    Codice PHP:
    $v[3]=$_POST['c'][3]; 
    se poi la controllo così:
    Codice PHP:
    echo date('Y-m-d',strtotime($v[3])); 
    in locale funziona ma sul server no.
    Per farla visualizzare giusta, devo scrivere il nome della variabile in maiuscolo.
    Codice PHP:
    echo date('Y-m-d',strtotime($V[3])); 
    Sapete dirmi dove sbaglio, o se è qualce impostazione strana del server?

    Grazie

  2. #2
    il nome delle variabili e' case sensitive sia su linux che su windows.

    probabilmente hai una cattiva risoluzione del parametro che passi a strtotime(). Infatti $V nel tuo caso non esiste e ti rende un qualcosa dipendente dalla versione del php.

    verifica il contenuto di $v e di $V con un var_dump()

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    $v[3] è uguale a 25-08-2009

  4. #4
    Originariamente inviato da sergio2002
    $v[3] è uguale a 25-08-2009
    strtotime() cerca di tradurre in un valore timestamp una data testuale inglese

    http://it2.php.net/manual/en/function.strtotime.php

    verifica anche quello che rende la funzione strtotime() in entrambi i server.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    per $v[3] = 25-08-2009

    nel server:
    1927515600
    con risultato:
    2031-01-30


    in locale:
    1251151200
    con risultato:
    2009-08-25

  6. #6
    se il tuo scopo e' solo quello di portare la data nel formato yyyy-mm-dd non userei strtotime() che potrebbe avere comportamenti diversi a seconda del OS e delle impostazioni del server.

    meglio se utilizzi list con explode, universale almeno per ora... con php non si sa mai..

    Codice PHP:
    list($giorno$mese$anno) = explode('-'$v[3]);
    $data "$anno-$mese-$giorno"

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    Penso proprio che farò così, ma comunque mi resta poco chiaro il fatto del perchè in locale faccia una cosa, e nel server un'altra.
    La tua soluzione è spiegata anche in uno degli esempi di php.net, ma volevo evitarla per non cambiare tutti gli script.

    Grazie Piero, sei stato molto gentile e preciso.
    Ciao.

  8. #8
    guarda ... sinceramente, quando leggo in un manuale:

    The function expects to be given a string containing a US English date format and will try to parse that format into a Unix timestamp ....
    comincia col dire che vuole una stringa che contenga un valore testuale di data in formato inglese... e gg-mm-aaaa di certo inglese non lo e', e poi aggiunge "tenterà" di convertirla.... e come se dicesse prova a vedere se ti va bene.

    Non mi serve altro per poter "dimenticare" la funzione ....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.