PHP header yenileme uyarısı

4 Cevap php

Bu kodu vardır:

<?php
session_start();
echo "".$_SESSION['eventnum']."";
$urlRefresh = "testremot.php";
header("Refresh: 5; URL=\"" . $urlRefresh . "\"");
?>

ama başlık çalışmıyor ve ben bu kodu çalıştırmayı denediğinizde bu uyarı görüntülenir:

Uyarı: başlık bilgileri değiştirilemiyor - zaten tarafından gönderilen başlıklar (çıkışında C başladı: \ xampp \ htdocs \ remot \ testremot.php: 3) C: \ xampp \ htdocs \ remot \ testremot.php 5. satırdaki **

Lütfen bana yardım edebilir?

4 Cevap

Tamam, ne var görelim line 3:

echo "".$_SESSION['eventnum']."";

Obviously you are generating output (echo) in this line and this line comes before you call header.
Move it below header:

session_start();
$urlRefresh = "testremot.php";
header("Refresh: 5; URL=\"" . $urlRefresh . "\"");
echo "".$_SESSION['eventnum']."";

Ama dikkat (dan Wikipedia):

Çoğu web tarayıcıları kullanıcı yenileme hızını devre dışı bırakmak veya kontrol etmesine izin vermeyin beri W3C Web Content Accessibility Guidelines (7.4), otomatik yenileme sayfaları oluşturulmasını vazgeçirmek.

Bir başlık vermeden önce bir şey yankı olamaz. Eğer gerekiyorsa, o zaman tek çözüm çıktı tamponlama yapmaktır.

<?php
  session_start();
  $urlRefresh = "testremot.php";
  header("Refresh: 5; URL=\"" . $urlRefresh . "\"");
  echo "".$_SESSION['eventnum']."";
?>

Eğer hiç bir şey görüntülemek için önce başlıkları ayarlanması gerekir, etrafında bu gibi bir çok soru var ...

basma, <?php veya php etiketinden önce herhangi bir dize önce herhangi bir boşluk çıkarın. açmadan önce hiçbir boşluk veya başka bir karakter varsa, bu kod düzgün çalışması gerekir <?php