如何在php函数中使用$ _POST作为参数

时间:2016-06-01 14:18:58

标签: php post

好的,所以我一直在尝试创建一个以$_POST为参数的PHP函数。我已经阅读了很多关于$ _POST作为全局变量的帖子,但我似乎无法得到它。我一直试图让这些代码与很多变种一起工作,但我似乎无法找到合适的公式。

这是我的代码:

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($测试);

基本上,我正在尝试创建一个函数,其中不同的$_POST可以使用相同的函数。目前的功能还在修改中。

但最重要的是我不能让$_POST为该功能工作......
对不起,我没注意到我没有包括我如何调用该函数。 我刚用过

myTest($testing); 另一个变化是我在myTest($testing);

中插入if($_POST)

2 个答案:

答案 0 :(得分:5)

因为$ _POST是一个超全局。你不需要传递整个$ _POST数组。如果你想使用一个函数来处理$ _POST的部分,你可以传递相关的数组索引,例如

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

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

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

答案 1 :(得分:0)

强烈建议过滤您的输入,然后将其插入数据库以禁止XSS和SQL注入。

例如:

$filteredPostFoo = filter_input ( INPUT_POST, "bar", FILTER_SANITIZE_FULL_SPECIAL_CHARS );