Oturum çerezi gönderilemiyor - başlıklar zaten [yinelenen] gönderdi

0 Cevap php

Possible Duplicate:
Headers already sent by PHP

Aşağıda kendi kendini açıklayıcı (umarım) benim PHP kodu basit bir örnek. Ne yapmaya çalışın oturum değişkeni güncellemek için olduğunu. Aşağıdaki gibi ancak senaryonun çıktı:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /Library/WebServer/Documents/facebook/test.php:8) in /Library/WebServer/Documents/facebook/test.php on line 11

Uyarı tabii hattı 8 ve 9 içinde echo ifadeleri, kaynaklanır. Bu uyarıyı durdurmak için herhangi bir basit bir çözüm yoktur.

Herhangi bir işaretçiler, Andrej için teşekkürler

<?php
session_start();
$_SESSION['percent'] = 0;
$iterations = 50;

for ($i = 0; $i <= iterations; $i++) {
  $percent = ($i / $iterations) * 100;
  echo "Hello World!";
  echo "<br />";
  // update session variable
  session_start();
  $_SESSION['percent'] = number_format($percent, 0, '', '');
  session_commit();
}
?>

Benim için (yani oturum değişkeni günceller) çalışan tek çözümdür:

<?php
ob_start();
session_start();
$_SESSION['percent'] = 0;
$iterations = 50;

for ($i = 0; $i <= 50; $i++) {
  $percent = ($i / $iterations) * 100;
  echo "Hello World!";
  echo "<br />";
  // update session variable
  session_start();
  $_SESSION['percent'] = number_format($percent, 0, '', '');
  session_commit();
}
ob_flush();
?>

Ilk çıkışını tamponlar iken, çirkin ...

0 Cevap