我有一个以下的类文件。当valid_orginfo()
函数调用时,它会检查传入数据是否为命令行参数。然后调用insert_contact($b)
函数。我将数组作为参数传递(这里是$b
)。
我要做的是使我的函数独立于数据(意味着它是GET,POST或命令行参数)。我不想改变我的功能。但要制作一个支持每种类型的传入数据(POST或命令行参数)的通用解决方案。下课正在工作(用$_POST
测试),但我对此不满意。
那么我能做什么呢?功能变得独立了?
你建议改善这类事情。
提前致谢。
<?php
class validation
{
function valid_orginfo()
{
$a = array();
if(isset($argv)) {
$b = $argv;
}else {
$b = $_POST;
}
extract($b);
if($org_name!="" and $add!="")
{
$this->insert_contact($b);
}
}
function insert_contact($b)
{
global $mysqli;
extract($b);
$query = "INSERT INTO `personal`(`first_name`, `last_name`) VALUES ('$sfname', '$slname')";
$mysqli->query($query) or die($mysqli->error);
return $mysqli->insert_id;
}
}
?>
答案 0 :(得分:0)
如果从命令行调用它,可以伪造$ _GET和$ _POST:
if (!isset($_SERVER["HTTP_HOST"])) {
parse_str($argv[1], $_GET);
parse_str($argv[1], $_POST);
}
并致电:php script.php 'argument1=x&argument2=y'