Re: Recursion to sanitize user input

From: Date: Fri, 08 Oct 2004 22:19:10 +0000
Subject: Re: Recursion to sanitize user input
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-199030@lists.php.net to get a copy of this message
Very simple :) when recursion happens, you return the sanitized value, but never store it ;) zooming@gamebox.net wrote:
I'm trying to sanitize my user input. My sanitize function does not work if I send a variable that's an array. I'm using recursion to go through the array. The example below shows that $_POST['city'] works but $_POST['user'] doesn't work. The array comes back blank. Anyone see what's wrong with my code? OUTPUT: Array (
    [city] => New York
    [user] =>
) CODE: <?php function sanitize($userInput = '') {
    if ( is_array($userInput) )
    {
        foreach ( $userInput as $key => $value )
        {
            sanitize( $value );
        }
    }
    else
    {
        if ( get_magic_quotes_gpc() )
        {
            return trim( $userInput );
        }
        else
        {
            return trim( addslashes($userInput) );
        }
    }
} $_POST['city'] = 'New York'; $_POST['user']['firstName'] = 'Bob'; $_POST['user']['lastName'] = 'Smith'; $_POST['user']['country'] = 'USA'; foreach ( $_POST as $key => $value ) { $_POST[$key] = sanitize( $value ); } echo '<pre>'; echo print_r($_POST); echo '</pre>'; ?>


« previous php.general (#199030) next »