• 24-05-2009, 03:42:28
    #1
    session_start(); ın olduğu satırdaki hata bu
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/wwwmani/public_html/home.php:2) in /home/wwwmani/public_html/home.php on line 4

    header("Refresh: 0; url=home.php"); olduğu satırda ise bu hata veriyor ama kodların en başına ob_start(); yazınca alttaki hata düzeliyor.
    Warning: Cannot modify header information - headers already sent by (output started at /home/wwwmani/public_html/home.php:2) in /home/wwwmani/public_html/home.php on line 25

    1* session_start(); satrında neden hata verior
    2* ob_start() yazınca neden header kodu hata vermiyor..
  • 24-05-2009, 04:43:55
    #2
    Merhaba

    session_start(); sayfanın en basında degil mi? ayrıca header kullanıyorsan eger meta etiketlerinin, daha dogrusu html baslamadan once olmalı.Ayrıca refresh yerine location kullanırsan senın ıcın daha verimli olur.

    <?
    session_start();
    if (! $id = "1") {
    Header("Location:index.php");
    } else {
    ?>
    <html>
    <head>
    <title> .
    ....
    ...


    gibi
  • 24-05-2009, 12:35:13
    #3
    Üyeliği durduruldu
    eğer session u başlattığın satırın üzerinde işlem yapan bir karakter kod vs varsa hata verir.

    bazen bu sorun karakter kodlamasındanda kaynaklanabiliyor. Notpad++ ile açıp biçimden karakter kodlamasını utf-8 bom olmadan yaparsanız sorun düzelebilir.
  • 24-05-2009, 14:38:11
    #4
    Kodunuzun en başına ob_start();

    En sonuna ise ob_end_flush();

    eklerseniz sorun düzelir.
  • 24-05-2009, 14:39:47
    #5
    CodErode'in dediği gibi header location kullanılan sayfalarda
    <?php
    ob_start(); ile başlanır
    ob_end_flush(); ile bitirilir.
  • 24-05-2009, 14:47:20
    #6
    ob_start ile hatayi gizlemek yerine hatayi kökten cözebilirsiniz
    nasil ?

    sayfanin en başı html kodlarla başlıyorsa yada boşluk vs varsa bunları session_startin altina alabilirsiniz.
    örnek ;

    selam ne haber ?
    <?php
    	session_start();
    	echo "deneme";
    ?>
    html kodlar
    <?php
    // php kodlar
    ?>
    html kodlar2
    burda session starti en üste alirsak sorun çözülür

    <?php
    	session_start();
    ?>
    selam ne haber ?
    <?php
    	echo "deneme";
    ?>
    html kodlar
    <?php
    // php kodlar
    ?>
    html kodlar2
    gibi. session_start i sayfanin en üstüne aliniz. <?php yada <? taglarinin önünde boşluk bile olmamalı
  • 24-05-2009, 15:12:50
    #7
    LaCReMeL adlı üyeden alıntı: mesajı görüntüle
    ob_start ile hatayi gizlemek yerine hatayi kökten cözebilirsiniz
    nasil ?
    sayfanin en başı html kodlarla başlıyorsa yada boşluk vs varsa bunları session_startin altina alabilirsiniz.
    örnek ;
    selam ne haber ?
    <?php
    	session_start();
    	echo "deneme";
    ?>
    html kodlar
    <?php
    // php kodlar
    ?>
    html kodlar2
    burda session starti en üste alirsak sorun çözülür
    <?php
    	session_start();
    ?>
    selam ne haber ?
    <?php
    	echo "deneme";
    ?>
    html kodlar
    <?php
    // php kodlar
    ?>
    html kodlar2
    gibi. session_start i sayfanin en üstüne aliniz. <?php yada <? taglarinin önünde boşluk bile olmamalı
    hocam çok sağolun <?php ile girdim birde session_start ı en başa aldım oldu..
  • 25-05-2009, 10:22:32
    #8
    Üyeliği durduruldu
    ob start komutu daha çok output u düzenlemek yada üzerinde işlem yapmak için tasarlanmistir. kullanmaniz durumunda ob_end_flush(); yapana kadar çıktı üretmeyeceginiz için sayfanın tepki süresini düşürmüş olursunuz. bunu da göz ardı etmeyin derim. basit bu tarz hatalar için çıktı üreten satiri bulup düzeltmek çok daha basit bir hareket olabilir
  • 30-05-2009, 12:52:01
    #9
    coderodo + ntie doğru söylemiş + 1
    diğerlerini salla.