RE: [PHP] Recursion to sanitize user input

From: Date: Fri, 08 Oct 2004 23:34:39 +0000
Subject: RE: [PHP] Recursion to sanitize user input
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-199034@lists.php.net to get a copy of this message
Simple your code should look like this: ... if ( is_array($userInput) ) { foreach ( $userInput as $key => $value ) { return sanitize( $value ); //<-------- needed to return it or else its not recurssive } } else { ... . Should work, not tested. Best, Yoed -----Original Message----- From: zooming@gamebox.net [mailto:zooming@gamebox.net] Sent: Friday, October 08, 2004 5:15 PM To: php-general@lists.php.net Subject: [PHP] Recursion to sanitize user input 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

« previous php.general (#199034) next »