我正在使用$_POST
将数据发布到php文件中。在那个php文件中,我有以下内容。
$params = array(
'name' => "$fname",
'email' => "$email",
'ad_tracking' => 'test',
'ip_address' => '$_SERVER["REMOTE_ADDR"]',
);
$subscribers = $list->subscribers;
$new_subscriber = $subscribers->create($params);
使用$_POST
数据定义数组中每个键的值的最佳方法是什么?
$_SERVER["REMOTE_ADDR"]
的使用也没有达到希望的效果。
答案 0 :(得分:1)
POST变量通过PHP中的超级全局数组$_POST
传递。所以在你的情况下,这在技术上会起作用:
$params = array(
'name' => $_POST['fname'],
'email' => $_POST['email'],
'ad_tracking' => 'test',
'ip_address' => $_SERVER['REMOTE_ADDR'],
);
$_SERVER["REMOTE_ADDR"]
的代码用单引号括起来,在PHP中表示逐字字符串(即没有变量插值)。
举个例子,这将在您当前的情况下执行输入过滤:
$filtered = filter_input_array(INPUT_POST, array(
'fname' => FILTER_SANITIZE_STRING,
'email' => FILTER_VALIDATE_EMAIL,
);
$filtered
中的每个值都会有一个值(有效),NULL
(不存在)或false
(无效)。
答案 1 :(得分:0)
关于“使用$ _SERVER [”REMOTE_ADDR“]也没有按预期工作。”: 单引号不评估php变量
$params = array(
'name' => $_POST["fname"],
'email' => $_POST["email"],
'ad_tracking' => 'test',
'ip_address' => $_SERVER["REMOTE_ADDR"],
);
$subscribers = $list->subscribers;
$new_subscriber = $subscribers->create($params);