Re: Recursion to sanitize user input
| From: | M. Sokolewicz | 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>'; ?>