Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: is_float()

  1. #1

    is_float()

    Ragazzi devo fare un controllo su un form, di un campo con valori interi e decimali.

    faccio
    Codice PHP:
    if(!is_float($_POST['Quota']) { errato } else { buono 
    ma anche se inserisco 2,50 per esempio, mi da errato!

    dove sbaglio?
    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

  2. #2
    le variabili che arrivano dal form sono sempre stringhe.

    devi usare is_numeric() e mettere il punto come divisore decimale e non la virgola.

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

  3. #3
    Originariamente inviato da piero.mac
    le variabili che arrivano dal form sono sempre stringhe.

    devi usare is_numeric() e mettere il punto come divisore decimale e non la virgola.
    nemmeno is_numeric() andava così sono riuscito a risolvere con
    preg_match("/[\d]/",$variabile)

    solo kec'è qualcosina ancora ke non va!

    Codice PHP:
    if(!preg_match("/[\d]/",$variabile) { echo"Quota non valida!";
    $
    '-'; $'-'; $'-';

    echo
    "$1 $2 $3";

    } else { echo
    "Ok"; } 
    se inserisco numero intero o decimale(sia virgola o punto) mi stampa ok, e perfetto..

    se inserisco qualcosa di diverso mi stampa giustamente Quota non valida ma invece dei trattini
    - - - mi stampa & & &

    ??

    thx per la risposta
    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
    non puoi mettere un numero come nome variabile... e manco iniziare per numero...

    mettici un undescore davanti o cambia il $1 in $uno.... $2 ecc...

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

  5. #5
    Originariamente inviato da piero.mac
    non puoi mettere un numero come nome variabile... e manco iniziare per numero...

    mettici un undescore davanti o cambia il $1 in $uno.... $2 ecc...

    no no, i numeri li ho usati per l'esempio con te, per dirti che ho molte variabili a cui devo se l'if non è valido devo dare valore -

    non uso numeri, quindi il problema non è quello...
    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

  6. #6
    Originariamente inviato da Manuelandro
    no no, i numeri li ho usati per l'esempio con te, per dirti che ho molte variabili a cui devo se l'if non è valido devo dare valore -

    non uso numeri, quindi il problema non è quello...
    boh... se devi passare un valore numerico con POST, sia esso intero che float, con is_numeric() lo riconosce tranquillamente.

    prova...

    Codice PHP:
    if(is_NUMERIC($_POST['variabile'] )) {
     
     echo 
    $_POST['variabile'];
     
     } else  {  echo 
    "falso"; } 
    ovvio che non accetta virgole come separatore decimale...

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

  7. #7
    in effetti cambia tutto se un utrente inseirisce 1,50 e un altro 1.50!

    come faccio a costringerli ad usare il punto?
    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

  8. #8
    Originariamente inviato da Manuelandro
    in effetti cambia tutto se un utrente inseirisce 1,50 e un altro 1.50!

    come faccio a costringerli ad usare il punto?
    metticelo tu.

    $valore = ereg_replace(',', '.', $_POST['valore']);


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

  9. #9
    Originariamente inviato da piero.mac
    metticelo tu.

    $valore = ereg_replace(',', '.', $_POST['valore']);

    ehm, mi sa ke non mi è molto chiaro come si fa!

    allora io ho questo campo che si chiama Quota, in cui ,'utente deve inserire la quota di un avvenimento sportivo! che può essere sia 1 che 1.15 che 7.50 che 9..etc etc etc

    A disposizione, l'utente ha, il campo di inserimento testo!

    Il controllo che faccio sul campo è quello postato poco sopra

    Codice PHP:
    if(!preg_match("/[d]/",$variabile) { echo"Quota non valida!";

    } else { echo
    "Ok"; } 
    ora insieme a questo devo aggiungere che, se l'utente inserisce la quota con la virgola, compare { echo"La quota la devi scrivere col punto" } altrimenti { perfetto }

    come fo?
    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

  10. #10
    ho risolto usando due campio select, il primo per l'unità, il secondo per le decine!
    solo che quando vado ad unire le due variabili per una sola vbariabile decimale non mi funziona


    $quota = $_POST[Quota1].$_POST[Quota2];


    come mai?
    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

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 © 2024 vBulletin Solutions, Inc. All rights reserved.