【问题标题】:A PHP Error was encountered CodeIgniter遇到 PHP 错误 CodeIgniter
【发布时间】:2013-07-25 01:12:17
【问题描述】:

我收到了这个错误:

遇到 PHP 错误 严重性:警告消息:strip_tags() 期望参数 1 是字符串,给定文件名的数组: inscription/loginform3.php 行号:19

代码如下:

echo form_open_multipart('user/register_step_3');

// Loop through the POST variables passed from the previous page
foreach ($_POST as $key => $value){
  $value = htmlentities(stripslashes(strip_tags($value))); 
  echo form_hidden($key, $value);
}

还有第 19 行的代码:

$value = htmlentities(stripslashes(strip_tags($value))); 

请帮我解决这个问题。

【问题讨论】:

  • 你能打印_r($value) 并粘贴到这里吗?
  • $value是一个数组,它可能还有其他元素如$value[0]
  • 你看过CodeIgniter的input class和$this->input->post吗?
  • @karan ashar 你这是什么意思?我必须添加 print_r($value) 吗?
  • $value 在这里不是一个字符串。它是一个数组。把它变成一个字符串。请向我们展示 print_r($_POST); 之类的值;

标签: php html mysql codeigniter


【解决方案1】:

如果有任何输入标签以数组形式给出,请检查您的表单 意思是:

<input type="checkbox" name="check[]" />

如果存在数组字段,则需要再使用一个内部循环,例如:

foreach ($_POST as $key => $value){
  if(is_array($value)){
    // Inner loop 
    foreach ($value as $k => $v){
       // Code
    }
  }else{
    $value = htmlentities(stripslashes(strip_tags($value))); 
    echo form_hidden($key, $value);
  }
}

否则试试这个代码:

foreach ($_POST as $key => $value){
  $val = htmlentities(stripslashes(strip_tags($_POST[$key]))); 
  echo form_hidden($key, $val);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 2016-11-21
    • 2016-03-07
    • 2020-06-03
    • 1970-01-01
    相关资源
    最近更新 更多