установить cookie в один файл с помощью `curl_setopt` и т. д. - PullRequest
0 голосов
/ 06 января 2012

Я гуглюсь, пытаясь найти решение моей проблемы.

Мне нужно установить 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)
?>

Но это не работает ....

Есть идеи? Спасибо.

1 Ответ

0 голосов
/ 06 января 2012

Вы можете установить cookie только для следующего скрипта с setcookie(). Там нет другого варианта. - cURL отправляет различные запросы на другие страницы, но не может устанавливать какие-либо куки на клиенте (браузере).

Ваша ошибка объяснена в Заголовки уже отправлены (справочный ответ) . Вы можете или не можете иметь удачу с упомянутым ob_start() обходным решением, если вы не можете / не будете переписывать свою страницу.

...