当前位置:  开发笔记 > 编程语言 > 正文

提交表单时出现PHP"内爆"错误

如何解决《提交表单时出现PHP"内爆"错误》经验,为你挑选了1个好方法。

刚注意到,如果我不选择复选框并提交,我会收到这些错误:

Warning: implode() [function.implode]: Invalid arguments passed in /home/content/o/l/t/oltvcb/html/feedback_mtg.php on line 148

Warning: Cannot modify header information - headers already sent by (output started at /home/content/o/l/t/oltvcb/html/feedback_mtg.php:148) in /home/content/o/l/t/oltvcb/html/feedback_mtg.php on line 162

我注意到表格数据实际上是在我的电子邮件中发现的......

与"选项"字段有关

下面是表单代码:

#" . $headersep . "Reply-To: \"$name\" <$email>" .
$headersep . "X-Mailer: chfeedback.php 2.13.0" .
$headersep . 'MIME-Version: 1.0' . $headersep . $content_type ;

if ($use_envsender) {
mail($mailto, $subject, $messageproper, $headers, $envsender );
}
else {
mail($mailto, $subject, $messageproper, $headers );
}
header( "Location: $thankyouurl" );
exit ;

?>

Paolo Bergan.. 6

除了一些严重可怕的代码,修复你的错误取代这一行:

$options = $_POST['options'] ;

有了这个:

$options = array();
if(isset($_POST['options'])) {
    $options = $_POST['options'];
}

错误基本上是每当你没有选择一个选项$options没有被设置为一个数组时,所以当你尝试做implode它时,PHP很不高兴,因为它期待一个数组.



1> Paolo Bergan..:

除了一些严重可怕的代码,修复你的错误取代这一行:

$options = $_POST['options'] ;

有了这个:

$options = array();
if(isset($_POST['options'])) {
    $options = $_POST['options'];
}

错误基本上是每当你没有选择一个选项$options没有被设置为一个数组时,所以当你尝试做implode它时,PHP很不高兴,因为它期待一个数组.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有