我有这段代码:
if(strlen($userdata->yim['text']) > 2 && !isset($_POST['step1']) ){
$GLOBALS['error'] = 1;
$GLOBALS['error_type'] = "tip";
$GLOBALS['error_msg'] = $userdata->yim['text'];}
我在这个网站上看到了这个错误,但我没有想法如何在我的特定代码上应用修复程序。如果我重新发布问题,我很抱歉。
答案 0 :(得分:0)
尝试执行:var_dump($userdata->yim);
以验证yim是否确实存在且包含密钥“text”。
甚至只是var_dump($userdata);
答案 1 :(得分:0)
$userdata->yim['text']
未设置,因此您应首先检查:
if(isset($userdata->yim['text']) && strlen($userdata->yim['text']) > 2 && !isset($_POST['step1']) ){
但是,如果该部分代码依赖于该值,那么在此之前就出现了问题,这只会隐藏该问题。
答案 2 :(得分:0)
为了进行调试,您需要使用print_r()
,以便可以看到对象或数组的内容:
// see what $userdata contains - update your question with the results of the line below
echo '<div style="background-color:white; padding:15px;"><pre>'.print_r($userdata, true).'</pre></div>';
// see what $userdata->yim contains - update your question with the results of the line below as well
echo '<div style="background-color:white; padding:15px;"><pre>'.print_r($userdata->yim, true).'</pre></div>';
if(strlen($userdata->yim['text']) > 2 && !isset($_POST['step1']))
{
$GLOBALS['error'] = 1;
$GLOBALS['error_type'] = "tip";
$GLOBALS['error_msg'] = $userdata->yim['text'];
}