2014-09-10 99 views
0

我有这个静态函数作为类的一部分。 由于某种原因ib_analytics_cf7_action设置正确,但ib_analytics_cf7_name不正确。PHP cookie设置不正确

任何人都可以看到这个原因吗?

public static function insert_contact_form_submit_tracking ($contact_form, $result, $echo=true) { 

//I have confirmed the value exists and is a string 
setcookie('ib_analytics_cf7_name', $contact_form->title()); 

switch ($result['status']) { 
    case 'validation_failed': 
    setcookie('ib_analytics_cf7_action', 'validation_failed'); 
    break; 
    case 'spam': 
    setcookie('ib_analytics_cf7_action', 'spam'); 
    break; 
    case 'mail_sent': 
    setcookie('ib_analytics_cf7_action', 'mail_sent'); 
    break; 
    case 'mail_failed': 
    setcookie('ib_analytics_cf7_action', 'mail_failed'); 
    break; 
    default : 
    return; 
} 

/*some debugging lines*/ 
return; 
} 
+0

尝试发布原代码。上面的代码看起来没问题。 cookie_one和cookie_two都应该在那里。 – 2014-09-10 09:26:21

回答

1

鉴于此信息较少,无法真正回答,但可能只是没有一种情况是真实的,并且控制权转移到了默认区块。

编辑:

对不起,我误解你的问题,你必须要记住一个重要的事情是不应该有任何输出设置cookie之前,所以要确保你没有打印或回应任何东西,还要确保没有任何空格之外的PHP标签..这应该修复它...

+0

好的,所以我不太可能误解setcookie函数本身? – 2014-09-10 09:25:06

+0

是的,我不认为你误解了函数本身,但除非你上传你的实际代码是不可能的。@greengreengrass – 2014-09-10 09:27:07

+0

hey。我想你误解了这个问题。最初的cookie是没有正确设置的。在交换机上管理的那个工作正常。 – 2014-09-10 09:38:07