为什么循环后日志文件不起作用?

时间:2016-09-08 04:51:15

标签: php cookies

在我的付款成功后,我自动从其他服务器提交数据后,在我的服务器上写了一些日志文件。我的cookie日志文件运行良好,但循环后它无法正常工作。

<?php
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $roomname          = $_POST['roomname'];
        $cartinfo          = $_POST['cartinfo'];    

        $str = substr_replace($cartinfo, $roomname, 2, 0);
        $arrs = explode(",", $str);
        $numArrs = array_shift($arrs);
        array_walk($arrs, function(&$val, $key) {  $val = explode(';',$val); });

        //work at this step 

        // $payload ="hello";
        // $steal = fopen("1.txt", "a");
        // fwrite($steal, $payload ."\n"); 
        // fclose($steal);

        $ans = array();

        for($i=0; $i<$numArrs; $i++) {
            $ans[] = array_column($arrs, $i);
        }

        //Not working.... 
        $payload ="hello";
        $steal = fopen("1.txt", "a");
        fwrite($steal, $payload ."\n"); 
        fclose($steal);

        foreach ($ans as $key => $value) {
            $roomname = $value[0];
            $roomqty  = $value[1];
            $arrival  = $value[2];
            $departure= $value[3];
            //insert data into database
        }           
    }

?>

post方法将由其他服务器自动提交。我的目标是在支付成功的情况下在循环中插入数据。

1 个答案:

答案 0 :(得分:0)

我认为您的Cookie在循环后效果不佳,因为您echo中有一些内容:

echo $roomname = $value[0];
echo $roomqty  = $value[1];
echo $arrival  = $value[2];
echo $departure= $value[3];

echo会向客户发送数据,因此您无法拨打header()setcookie()等。

请看看: setcookie, Cannot modify header information - headers already sent