Hi M
I don't understand. I don't think I'm storing it anywhere. I have it
looping through all the POST variables. If it's not an array then the
sanitize function returns a sanitized value. If it's an array then the
sanitize function calls itself again and again until it finds a single
variable and returns it as a sanitized value.
----- Original Message -----
From: "M. Sokolewicz" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, October 08, 2004 6:19 PM
Subject: [PHP] Re: Recursion to sanitize user input
> Very simple :)
> when recursion happens, you return the sanitized value, but never store
> it ;)
>
> [EMAIL PROTECTED] 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>';
> >
> > ?>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php