This is a very important point to understand, I tried (and failed) to explain it. I think Leif made it pretty clear though, here's another :)
// $a can be anything when you call the function function bar ($a) { print $a; } bar ('Hello World'); bar ($_POST['something']); Regards, Philip Olson On Fri, 20 Dec 2002, Leif K-Brooks wrote: > You don't need to import the request variables for that to work. The > variable names in the function definition have no relationship to > variables outside of it. Most likely, you're calling with something like: > check_banlist($banlist,$p_email); > but you could also call it with: > check_banlist($variable_with_a_totally_different_name,$another_oddly_named_variable); > or call it with > check_banlist('some string','another string'); > or even call it with > check_banlist($banlist,$_POST['email']); > so importing the request variables is pointless. What you call the > variables inside the function doesn't have anything to do with whether > there is a global variable with the same name! > > Jamie wrote: > > > Thanks for the vote of confidence. I ended up getting it working with > > this: > > > > import_request_variables('p', 'p_'); > > function check_banlist($banlist, $p_email) { > > > > This is what I had been trying to accomplish but was writing it this way: > > > > function check_banlist($banlist, $_POST['email']) { > > > > Maybe you could also point me to the lesson that needs to be learned > > here. Is it that it is an array? or syntax? > > > > Thanks for the assistance! > > > > Jamie Sullivan > > > > Philip Olson wrote: > > > >> First, read this: > >> > >> http://www.php.net/variables.external > >> > >> Second, assuming you have a PHP version equal to > >> or greater than 4.1.0 and the method of the form > >> is POST, you'd do something like this: > >> > >> $banlist = array('[EMAIL PROTECTED]'); > >> echo check_banlist($banlist, $_POST['email']); > >> > >> Your question sounds like you're wondering if the > >> function definition should change, it doesn't. You > >> leave it as $email and use $email within the function. > >> This is just how functions work, you pass in values. > >> So: > >> > >> function foo ($email) { > >> print $email; > >> } > >> > >> foo($_POST['email']); > >> > >> // Or as you used to do with register_globals > >> foo($email); > >> > >> Or you could always just do: > >> > >> function bar () { > >> print $_POST['email']; > >> } > >> > >> bar(); > >> > >> This is why they are SUPERglobals, because this is > >> what you would have done in the past (old school): > >> > >> function baz () { > >> global $email, $HTTP_POST_VARS; > >> > >> print $email; > >> > >> print $HTTP_POST_VARS['email']; > >> } > >> > >> Also it's worth mentioning that $HTTP_POST_VARS has existed since PHP > >> 3, so just in case that might be important to you too. It is not super. > >> > >> Now if you don't care if 'email' comes from GET, POST, > >> or COOKIE ... you could use $_REQUEST['email']. Or, > >> import_request_variables() is another option. For > >> example: > >> > >> import_request_variables('p', 'p_'); > >> > >> print $p_email; > >> > >> See the manual for details, and have fun! It really > >> isn't that complicated and you'll be yelling out > >> Eureka! pretty soon now. > >> > >> Regards, > >> Philip Olson > >> > >> P.s. Superglobals work with register_globals on or off. > >> > >> > >> On Thu, 19 Dec 2002, Jamie wrote: > >> > >> > >>> I am attempting to modify an old script to support the superglobal > >>> $_POST with register_globals=Off. These register globals are > >>> definately challenging when you are new to php and every example > >>> shown anywhere uses the old method but I guess what doesn't kill you > >>> only makes you stronger. > >>> > >>> I am trying to convert this line, $email is coming from an html form > >>> so I would typically call it with $_POST['email'] but this doesn't > >>> work in this case and I thus far haven't been able to find anything > >>> that explains what I should be doing. > >>> > >>> function check_banlist($banlist, $email) { > >>> > >>> Any assistance is appreciated! Thanks, > >>> > >>> Jamie > >>> > >>> > >>> -- > >>> PHP General Mailing List (http://www.php.net/) > >>> To unsubscribe, visit: http://www.php.net/unsub.php > >>> > >> > >> > > > > > > > > -- > The above message is encrypted with double rot13 encoding. Any unauthorized attempt >to decrypt it will be prosecuted to the full extent of the law. > > > > > -- > 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