prifs prifs - 6 months ago 11
PHP Question

How can I use an $_POST as an argument in php function

Okay, so I've been trying to create a PHP function with a

$_POST
as an argument. I've read a lot of posts that concerns $_POST as a global variable but I can't still seem to get it. I've been trying to get this code to work with lot of variations but I just can't seem to find the right formula.

Here's my code:

if($_POST['fname']){
$testing = $_POST['fname']
}
function myTest($test)
{
if($test)
{
$id=14;
$sql = "UPDATE stud_bas set fname=:fname WHERE stud_id=:id";
$query = $db ->prepare($sql);
$query -> bindValue (':fname', $test);
$query -> bindValue (':id', $id);
$update = $query -> execute();
}
}


myTest($testing);

So basically, I'm trying to create a function where different
$_POST
can use the same function. The current function it still in being modified.

But the bottom line is I can't make the
$_POST
work for the function...

I'm sorry, I didn't notice I didn't include how I call the function.
I just used


myTest($testing);

Amother variation is I insert
myTest($testing);
inside the
if($_POST)

Answer

Since $_POST is a superglobal. you don't need to pass the entire $_POST array around. If you want to use a function to process parts of $_POST, you can just pass the relevant array index, e.g.

$_POST['foo'] = 'bar';

function somefunc($arg) {
    echo $_POST[$arg];
}

somefunc('foo'); // outputs 'bar'
Comments