PHP 数组的 POST 变量名



使用以下代码,我正在尝试:

  1. 测试是否已提交一个动态分配的字段名称
  2. 使用"可操作代码"来处理提交的信息

我的问题在于我无法检索适当的动态变量名。CCD_ 1将输出诸如CCD_ 2之类的名称变量;但是要通过PHP访问这个值,我需要$_POST['widget-mywidget'][3]['email_to']的形式。

我该如何着手解决这个难题?

输出HTML:

<form id="widget-mywidget-3-osiris_contact" method="post" action="">
<fieldset>
<input type="text" name="widget-mywidget[3][user_name]">
<input type="text" name="widget-mywidget[3][user_email]">
<textarea name="widget-mywidget[3][user_message]"></textarea>
</fieldset>
<fieldset>
<input type="hidden" name="widget-mywidget[3][email_to]" value="">
<input type="hidden" name="widget-mywidget[3][email_subject]" value="">
<button type="submit" name="widget-mywidget[3][email_send]">Send</button>
</fieldset>
</form>

处理PHP:

if(in_array($this->get_field_name('email_to'), $_POST)){ // <--- Where I need help.
    // Actionable Code
}

这就是$this->get_field_name的作用:

  function get_field_name($field_name) {
     return 'widget-' . $this->id_base . '[' . $this->number . '][' . $field_name . ']';
  }

我建议您打印_r($_POST(并进行可视化比较,以便更好地调试
(或者使用调试器…(

$thing  = "widget-mywidget[3][email_to]";
$exp    = explode("[", $thing);
$get_it = $_POST['".$exp[0]."[".$exp[1]."[".$exp[2]."'];

试试看,如果有效的话。

相关内容

  • 没有找到相关文章

最新更新