PHP报错Illegal string offset 网站联系邮件表单故障排查求助
问题根源
你的报错是Illegal string offset(非法字符串偏移),触发原因是变量初始化类型错误:
代码中将存储返回结果的$dzRes初始化为了字符串类型:$dzRes = "";,后续却直接以数组形式给status、msg键赋值,PHP不支持对字符串用数组键操作,因此抛出对应警告。
修复方法
将$dzRes的初始化代码修改为数组类型即可:
// 替换原有$dzRes = ""; $dzRes = []; // 若使用PHP5.4之前的旧版本,改为$dzRes = array();
附加优化
你当前的邮件头代码存在拼接错误,From字段末尾未加换行符,会导致后续Reply-To头识别异常,可能引发发信失败,可同步修改:
$dzEmailHeader = "MIME-Version: 1.0\r\n"; $dzEmailHeader .= "Content-type: text/html; charset=iso-8859-1\r\n"; $dzEmailHeader .= "From:$dzEmailFrom <$dzEmail>\r\n"; // 末尾补充\r\n $dzEmailHeader .= "Reply-To: $dzEmail\r\n"."X-Mailer: PHP/".phpversion();
内容的提问来源于stack exchange,提问作者gwcentre
相关产品推荐
相关产品推荐

