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

    is_int non funzia?!?!?!

    ciao, la funzione is_int() che vedete mi dice che il numero non è intero anche se scrivo 11 sulla quantità.
    perchè?
    grazie


    codice:
      	$quantita = str_replace(",", ".", $_POST['txt_quantita']);
        if ($quantita == "") 
    			{
            $errori[] = "La quantità non può essere vuota.\n";
          }		
        else
          {
            if (!is_numeric($quantita)) 
    			    { 
                $errori[] = "La quantità deve essere un numero.\n";
              }		
            else
              {
                if (!is_int($quantita)) 
    	  		      { 
                    $errori[] = "La quantità deve essere un numero intero.\n";
                  }			      
              }
          }

  2. #2
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    Ciao,
    posta un echo di $_POST['txt_quantita']

    Se hai qualcosa del tipo 25.0 ti ritorna cmq false
    ...altri 5 anni di purga...

  3. #3
    me lo fa anche con 11, 128, 2, 4

    perchè?

  4. #4
    guarda, fai prima a fare un solo ciclo, senza nemmeno controllare che sia un numero.. fai solo così:


    if ($quantita == (int)$quantita)
    {
    sei sicuro che è un numero e intero....
    }
    else
    {
    quantità può essere anche una lettera, che con (int) ti diventa vuoto, che è dunque diverso dal valore iniziale...
    }

    vedrai che và..

    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  5. #5
    is_int() controlla solo se una variabile e' di tipo INT, non se contiene un numero. Nel tuo caso, la variabile e' una stringa, quindi is_int() da' false.

  6. #6
    le GPC sono sempre stringhe, is_int, is_bool, is_float, etc, non vanno, salvo cast espliciti delle variabili.

    I cast esplicit, allo stesso tempo, vanno fatti ricordandosi che null è castato a 0, o false, e se si tratta di intero, meglio adoperare le filter functions di PHP5, create appositamente per ricevere il tipo di dato desiderato, e per questo ideali per lo scopo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Se la variabile stringa contiene numeri (e solo quelli) puoi provare con is_numeric().

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.