any $_POST data is actually string data.  Use these functions from a class of 
mine I plan on making public when I have it thoroughly tested.

function isString( $var_name, $var )  {
        /*Nothing else I can do in this case..  I don't think any other data type 
can have a length of zero.
        If I jsut check for is_string and empty string will not register as a 
string.*/
        if ( strlen( $var ) == 0 ) {
        return;
    }

        if ( !is_string( $var ) ) {
        $this->{$this->log_func} ( "$var_name, '$var', does not contain valid 
string data." );
    }
}

function strIsInt( $str ) {
    $this->isString( 'str', $str );
    
    if ( strlen( $str ) == 0 ) {
        return FALSE;
    }

    for ( $i = 0; $i < strlen($str); $i++ ) {
        if ( !ctype_digit ( $str[$i] ) && $str[$i] != '-' ) {
        return FALSE;
      }
    }
    
    return TRUE;
}

On February 23, 2003 05:02 pm, Robert E. Harvey, M.D. wrote:
> First, thanks to all who offered suggestions with my "simple ereg
> question".  I have been unable to get anything to work "properly" in
> spite of many good suggestions.  The problem I want to solve is to
> ensure that input fields have either an integer number or are blank
> before the program proceeds.  I am approaching the problem thusly:
>
> for ($i=1;$i<=3;$i++)
> {
>   echo $_POST["grass_$i"]; // Pollen name
>   echo $_POST["gamt_$i"]; // Pollen amount
>   if (is_int($_POST["gamt_$i"]))
>   {
>     continue;
>   }
>    else
>      {
>        die("Non-numeric data entered in grass entry field(s).");
>      }
> }
>
> The two echo statements accurately return what data is in the two input
> fields.  The program dies when there is integer data returned in the
> echo $POST["gamt_$i"] statement.
>
> If I negate the expression in the if statement like so :  if
> (!is_int($_POST["gamt_$i"]))
> the program runs.  Isn't that a bit weird?
>
> It gets weirder.  If I enter an alpha character with if
> (!is_int($_POST["gamt_$i"])), the program still runs but treats the
> alpha character as a 0.
>
> How should I construct that if statement so that the program will only
> run with integer data or no data entered into the input fields?
>
> TIA
>
> Bob Harvey


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to