Mark Steudel wrote:
I've got the following code and I am not doing something right. Either my
function is wrong, or the way Im using array_map is wrong, as slashes are
still making it into the data, and the asdf iosn't getting appended to each
value.

I rewrote what you had like so:

<?php
function detectMGQ($value)
{
   //return get_magic_quotes_gpc() ? stripslashes($value): $value;
   return $value."-TEST";
}

$clean = array(
    "name"          => "name",
    "email"         => "email",
    "username"      => "username",
    "accesslevel"   => "accesslevel",
    "status"        => "status",
);

$field_values = array_map( "detectMGQ", $clean );
var_dump($field_values);
?>

and it adds '-TEST' to every value as expected. not sure whats going
wrong with your code exactly by I have got some general comments...
(maybe the code I rewrote helps you to figure otu what was/is going
wrong.)


Thanks, Mark



// function to remove stripped slashes
function detectMGQ($value)
{
   // Stripslashes
   if (get_magic_quotes_gpc()) {
       $value = stripslashes($value);
   }
// added in to detect if this function is working
   $value .= $value.'asdf';

if $value equals "ABC" then it would equal "ABCABCasdf" aftyer
that last line of code was run.


   return $value;
}

// construct field and value pairs into array
$field_values   =       array(  'name'          => "$clean[name]",
                                                'email'         =>
"$clean[email]",

  yuou don't need to wrap $clean[email] in quotes - it's waste of
time+cpu BUT you should always delimit the array key with quotes because
it is a string not a constant (or does you code actually define a constant
named 'email'?) i.e.

"$clean[email]" is better off being $clean['email']

                                                'username'              =>
"$clean[username]",
                                                'accesslevel'   =>
"$clean[accesslevel]",
                                                'status'                =>
"$clean[status]",
                                                'password'              =>
base64_encode(rc4($clean[password1])) );
                        

// walk through the values and strip out the slashses
$field_values = array_map( "detectMGQ", $field_values );


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to