我在谷歌搜索试图找到问题的解决方案。
我需要在一个不同的文件中设置一个cookie,我正在尝试curl_setopt
,但它不起作用。
任何想法都是用PHP发送在另一个页面中设置cookie的值,如下所示:
file1.php
<? //start php
//at the begining of the file i have
session_start();
header('Content-Type: text/html; charset=utf-8');
//if i set a cookie now it give me an error cause i can not change the header
//but because i need to set a cookie now without leaving this file
//i tryed to set it in file2.php this way:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $SITE_HOME_DIR ."login.php");
// Do a POST
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'email=pok@pok.com');
curl_close($ch);
///end php
?>
file2.php
<?
//just set cookie
setcookie("TestCookie", $_POST['email'], time()+3600)
?>
但这不起作用......
有什么想法吗?谢谢。
答案 0 :(得分:0)
您只能使用setcookie()
为下一个脚本设置Cookie。没有其他选择。 - cURL向其他页面发送不同的请求,但不能在客户端(浏览器)设置任何cookie。
您的错误在Headers already sent (reference answer)中说明。如果您不能/不会重写您的页面,您可能会或可能不会对上述ob_start()
解决方法感到满意。