好的,所以我一直在尝试创建一个以$_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)
答案 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 );