Php 修改$\u POST数组中的项目

Php 修改$\u POST数组中的项目,php,arrays,forms,codeigniter,Php,Arrays,Forms,Codeigniter,我使用CodeIgniter验证表单数据,然后使用php header()函数将其发布到第三方站点,并将$\u POST键值对作为URL参数。例如: “名字”=>“克里斯” “区号”=>“555” '电话号码=>'555-5555' 。。。将成为“” 我所能想到的最“优雅”的方法是像这样迭代$\u POST数组 $formValues = $this->input->post(NULL, TRUE); foreach($formValues as $key => $value)

我使用CodeIgniter验证表单数据,然后使用php header()函数将其发布到第三方站点,并将$\u POST键值对作为URL参数。例如:

“名字”=>“克里斯” “区号”=>“555” '电话号码=>'555-5555'

。。。将成为“”

我所能想到的最“优雅”的方法是像这样迭代$\u POST数组

$formValues = $this->input->post(NULL, TRUE);
foreach($formValues as $key => $value) 
{
    $postURL .= $key . '=' . $value . '&';
}
问题是,第三方站点需要将整个电话号码作为一个参数;它不能把“区号”和“电话号码”一分为二,因为我的表格上有。所以我需要做的是连接区号和电话号码,并将其存储在一个新的变量中,该变量被附加到URL字符串中

最好的方法是什么?我想在foreach循环中添加if,else语句,检查键是“区号”还是“电话号码”,并执行正确的操作,但是有更好的方法吗?在php或CodeIgniter中是否有一种本地方法可以在迭代之前修改$\u POST数组


谢谢

您只需将区号添加到formValues数组中电话号码的开头,然后删除区号元素:

$formValues = $this->input->post (NULL, TRUE);

$formValues['phone_number'] = $formValues['area_code'] . '-' . $formValues['phone_number'];
unset ($formValues['area_code'];

foreach ($formValues as $key => $value) 
{
    $postURL .= $key . '=' . $value . '&';
}

您只需将区号添加到formValues数组中电话号码的开头,然后删除区号元素:

$formValues = $this->input->post (NULL, TRUE);

$formValues['phone_number'] = $formValues['area_code'] . '-' . $formValues['phone_number'];
unset ($formValues['area_code'];

foreach ($formValues as $key => $value) 
{
    $postURL .= $key . '=' . $value . '&';
}
这很简单:

$formValues = $this->input->post(NULL, TRUE);
$postUrl = $address . "?first_name=" . $formValues["first_name"] . "&phone=" . $formValues["area_code"] . "-" . $formValues["phone_number"];
这就是我的方法。

Keep很简单:

$formValues = $this->input->post(NULL, TRUE);
$postUrl = $address . "?first_name=" . $formValues["first_name"] . "&phone=" . $formValues["area_code"] . "-" . $formValues["phone_number"];

这就是我的方法。

您可以用与任何其他数组相同的方法直接修改$\u POST数组

你可以做:

然后运行现有代码


但是,我认为用这种方式处理用户输入不是一个理想的方法-您应该只获取传递给第三方URL所需的字段,否则恶意用户可能会使用您的脚本攻击第三方服务器。

您可以用与任何其他数组相同的方式直接修改$\u POST数组

你可以做:

然后运行现有代码


但是,我认为,以这种方式处理用户输入不是一个理想的方法-您应该只获取传递给第三方URL所需的字段,否则恶意用户可能会使用您的脚本攻击第三方服务器。

为什么不手动执行呢<代码>'phoneNumber='。区号。“-”。电话号码(当然,使用URI转义)。为什么不手动操作呢<代码>'phoneNumber='。区号。“-”。电话号码(当然,使用URI转义)。