• 21-02-2023, 03:53:24
    #1
    Arkadaşlar merhaba, localde login sayfasında sorun yok fakat hosta atınca "PHP Warning: Cannot modify header information - headers already sent by " bu hatayı alıyorum. 7.satırda hata var diyor. Acaba neyi gözden kaçırıyorum

        require_once 'inc/conn.php';
        require_once 'inc/fonksiyon.php';
        $userFind=$db->prepare("SELECT * FROM users WHERE userName=:Name");
        $userFind->execute(array( 'Name' => $_SESSION['userName'] ));
        $count=$userFind->rowCount();
        if ($count==0){ header('location:login'); exit(); }
        $userShow=$userFind->fetch(PDO::FETCH_ASSOC);
        $user=$userShow['userId'];
  • 21-02-2023, 03:57:23
    #2
    en ust satira ob_start(); ekle hocam sorun cozulur.
  • 21-02-2023, 03:59:31
    #3
    MehmetAkcil adlı üyeden alıntı: mesajı görüntüle
    en ust satira ob_start(); ekle hocam sorun cozulur.
    conn.php içinde ob_start başlatıyorum hocam zaten.
  • 21-02-2023, 04:41:06
    #4
    ob_start(); ve ob_end_flush(); kullandığından ve session_start(); kullandığından emin ol.
    include ettiğin sayfalarda <?php etiketinden önce boşluk kullanmadığından ve bu etiketin yanında // vs kullanmadığından emin ol.

    Bunları yaptıktan sonra bu iki koddan biri çalışmalı.

    header("location: https://site.com/login", true, 302 );
    exit;
    veya
    exit(header("Location: https://site.com/login ", true ));
    Nerede hata yaptığını bulamıyorsan veya yukarıdaki kodlar çalışmadıysa ki çalışmalı, o halde meta etiketleriyle de yönlendirebilirsin.
    echo '<meta http-equiv="Location" content="https://site.com/login ">';
    echo '<meta http-equiv="Refresh" content="1; url=https://site.com/login">';
  • 21-02-2023, 11:13:06
    #5
    TuncayTEKE adlı üyeden alıntı: mesajı görüntüle
    ob_start(); ve ob_end_flush(); kullandığından ve session_start(); kullandığından emin ol.
    include ettiğin sayfalarda <?php etiketinden önce boşluk kullanmadığından ve bu etiketin yanında // vs kullanmadığından emin ol.

    Bunları yaptıktan sonra bu iki koddan biri çalışmalı.

    header("location: https://site.com/login", true, 302 );
    exit;
    veya
    exit(header("Location: https://site.com/login ", true ));
    Nerede hata yaptığını bulamıyorsan veya yukarıdaki kodlar çalışmadıysa ki çalışmalı, o halde meta etiketleriyle de yönlendirebilirsin.
    echo '<meta http-equiv="Location" content="https://site.com/login ">';
    echo '<meta http-equiv="Refresh" content="1; url=https://site.com/login">';
    Teşekkürler. Maalesef Boşluk kalmış bu yüzden yapıyormuş.
  • 23-02-2023, 02:33:10
    #6
    resatnet adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler. Maalesef Boşluk kalmış bu yüzden yapıyormuş.
    Çözüldüyse ne mutlu... İyi çalışmalar