• 27-11-2018, 19:22:57
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar, iletişim formundan mesajı attıktan sonra yönlendirme yapmaya çalışıyorum ama yapamadım.
    Kodlarım;
        <?
    if (isset($_POST['mesajat'])) {
      $kaydet=$db->prepare("INSERT into gelen_kutusu set
    
        mesaj_gonderen=:mesaj_gonderen,
        mesaj_gonderen_maili=:mesaj_gonderen_maili,
        mesaj_icerigi=:mesaj_icerigi
        ");
      $insert=$kaydet->execute(array(
        'mesaj_gonderen' => $_POST['mesaj_gonderen'],
        'mesaj_gonderen_maili' => $_POST['mesaj_gonderen_maili'],
        'mesaj_icerigi' => $_POST['mesaj_icerigi']
    
    
      ));
    
     if($insert == 1){
            echo '<div class="alert alert-success">
      <strong>Başarılı!</strong> Mesaj Gönderildi. Yönlendiriliyorsunuz!
    </div>';
            header('refresh:3; url=index.php');
        }else{
            echo '<div class="alert alert-warning">
      <strong>Başarısız!!</strong> Mesaj Gönderilmedi. Yönlendiriliyorsunuz!
    </div>';
    header('refresh:5; url=index.php');
        }
    }
    ?>
    aldığım hata;
    [B]Warning[/B]:  Cannot modify header information - headers already sent by (output started at C:AppServwwwindex.php:110) in [B]C:AppServwwwindex.php[/B] on line [B]223[/B]
  • 27-11-2018, 19:30:24
    #2
    <?php
    if (isset($_POST['mesajat'])) {
    
    $query = $db->prepare("INSERT INTO gelen_kutusu SET mesaj_gonderen = ?, mesaj_gonderen_maili = ?, mesaj_icerigi = ?");
    $insert = $query->execute(array(
    $_POST['mesaj_gonderen'], $_POST['mesaj_gonderen_maili'], $_POST['mesaj_icerigi']
    ));
    
    if ( $insert ){
    echo '<div class="alert alert-success"><strong>Başarılı!</strong> Mesaj Gönderildi. Yönlendiriliyorsunuz!</div>';
    header('refresh:3; url=index.php');
    }else{
    echo '<div class="alert alert-warning"><strong>Başarısız!!</strong> Mesaj Gönderilmedi. Yönlendiriliyorsunuz!</div>';
    header('refresh:5; url=index.php');
    }
    }
    ?>
    Hiç müdahale etmeden yukarıdaki kodu yapıştırın test edin.
  • 27-11-2018, 19:31:53
    #3
    Aktimur adlı üyeden alıntı: mesajı görüntüle
    <?php
    if (isset($_POST['mesajat'])) {
    
    $query = $db->prepare("INSERT INTO gelen_kutusu SET mesaj_gonderen = ?, mesaj_gonderen_maili = ?, mesaj_icerigi = ?");
    $insert = $query->execute(array(
    $_POST['mesaj_gonderen'], $_POST['mesaj_gonderen_maili'], $_POST['mesaj_icerigi']
    ));
    
    if ( $insert ){
    echo '<div class="alert alert-success"><strong>Başarılı!</strong> Mesaj Gönderildi. Yönlendiriliyorsunuz!</div>';
    header('refresh:3; url=index.php');
    }else{
    echo '<div class="alert alert-warning"><strong>Başarısız!!</strong> Mesaj Gönderilmedi. Yönlendiriliyorsunuz!</div>';
    header('refresh:5; url=index.php');
    }
    }
    ?>
    Hiç müdahale etmeden yukarıdaki kodu yapıştırın test edin.
    Aynı hata hocam
  • 27-11-2018, 19:33:21
    #4
    Yönlendirme işlemini;
    <meta http-equiv="refresh" content="0; url="xxx.php">
    olarak denermisiniz. Birde bu yönlendirme işlemlerinde ob_start başlatılması gerekiyor diye biliyorum.

    Başka neden olabilecek olaylar ise; <?php ?> taglarinin önünde " " boşluk bırakılmış olabilir.
    Birde kodlama" UTF-8 BOM" olarak kodla ise bu hatayı verebilir.
  • 27-11-2018, 19:35:50
    #5
    Mehmetmasa adlı üyeden alıntı: mesajı görüntüle
    Yönlendirme işlemini;
    <meta http-equiv="refresh" content="0; url="xxx.php">
    olarak denermisiniz. Birde bu yönlendirme işlemlerinde ob_start başlatılması gerekiyor diye biliyorum.

    Başka neden olabilecek olaylar ise; <?php ?> taglarinin önünde " " boşluk bırakılmış olabilir.
    Birde kodlama" UTF-8 BOM" olarak kodla ise bu hatayı verebilir.
    Hatayı sayfamın en başına ob_start(); ekleyerek çözdüm hocam teşekkür ederim.
  • 30-11-2018, 00:12:29
    #6
    ek bilgi
    header() dan önce ekrana basılan birşey varsa header çalışmaz
  • 02-12-2018, 00:21:49
    #7
    function bilgi($hataturu,$mesaj,$gonder,$zaman){
    	$bilgi = '<br><div class="col-sm-12 col-md-12 col-xs-12">
    			  <div class="alert alert-'.$hataturu.' alert-dismissable">
    				<strong>'.$mesaj.'</strong> Lütfen Bekleyin, Yönlendiriliyorsunuz.
    				<a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
    				<meta http-equiv="refresh" content="'.$zaman.';URL='.$gonder.'" />
    			  </div>
    			  </div>';
    			  
    	return $bilgi;
    }
    Kullanımı : $hata = bilgi('danger','Mesaj İçeriğiı','url.html',3);
    bu şekilde bir fonksiyon oluşturup kullanırsan elin daha rahatlar