setcookie()函数;没有设置cookie

时间:2014-09-12 21:29:43

标签: php cookies

我有以下问题,我正在尝试设置Cookie而没有任何成功。 setcookie();函数返回true,因此它看起来像设置cookie但是当我尝试在相同或后续页面上访问它时,我收到错误'未定义索引....'

<?
session_start();
ob_start();


echo setcookie("order",$_SESSION['cart'],time()+3600,'/',NULL);



//added to see if Cookie is set
echo "<br/>";
var_dump($_COOKIE);
exit();




if($_GET['paypal'] == 1){
    header("Location: /paypal-express-checkout/process.php");
}else{
    header("Location: /insert_order.php");
}
ob_end_flush();
exit();
?>

下一页就像这样

<?php
session_start();
include_once("../includes/inc_config.php");
include_once("../order.php");
include_once("config.php");
include_once("paypal.class.php");

#region POST
if(!isset($_GET['token'])) //Post Data received from product list page.
{
    //Mainly we need 4 variables from an item, Item Name, Item Price, Item Number and Item Quantity.

    if(!isset($_COOKIE['order'])){
        exit();
    }
    $paypal_data = '';
    $ItemTotalPrice = 0;
    $order = unserialize($_COOKIE['order']);
    print_r($order);
    exit;

2 个答案:

答案 0 :(得分:1)

您正在将域值设置为NULL。尝试离开NULL:

echo setcookie("order",$_SESSION['cart'],time()+3600,'/');

或者将其设置为您的域名:

echo setcookie("order",$_SESSION['cart'],time()+3600,'/',".yourdomain.com");

答案 1 :(得分:0)

在我做出不通过的决定之前,我会将$ _COOKIE变量var_dump或print_r。一旦你setcookie拿着那个想法肯定会登记到$ _COOKIE变量。

我同意上述声明,因为您只能在下次刷新时访问$ _COOKIE,但还有另一种方法可以使您的表单或页面更具交互性。

我会注册cookie并使用php页面刷新(显示正在发生的工作... div)然后回到页面并尝试做你最初尝试做的事情。非常基本,但非常直接。