• 28-12-2012, 11:13:28
    #1
    Beyler localde canavar gibi çalışan header(Location ve Refresh) Fonksiyonları sitede bazı sayfalarda çalışıyor bazılarında çalışmıyor.

    Sayfa başlarına
    ob_start();
    Sayfa sonlarına
    ob_end_flush();
    koyuyorum.

    Acaba if yapısı içerisinde de header() lar mevcut.
    İf yapısı içerisinede mi böyle koymam lazım ?
    if(){
    ob_start();
    header("refresh: 2; url=gidileceksayfa.php");
    ob_end_flush();
    }
    Şeklinde mi yapmam lazım ?
  • 28-12-2012, 11:18:14
    #2
    Çalışmayan sayfada header'ı nereye koyduğunuzu önünde ve arkasında ne olduğunu gösteren bir kod eklerseniz daha kolay yardımcı olunur.
  • 28-12-2012, 11:33:34
    #3
    eMPaTi34 adlı üyeden alıntı: mesajı görüntüle
    Çalışmayan sayfada header'ı nereye koyduğunuzu önünde ve arkasında ne olduğunu gösteren bir kod eklerseniz daha kolay yardımcı olunur.
    Headerin çalışmadığı sayfa :
    <?php
    ob_start();
    session_start();
    require("../inc/inc_config.php");
    $referer = @$_SERVER['HTTP_REFERER'];
    if ($referer == "")  
    {  
    header("Location: $root"."uyari/"); 
    }  
    else  
    {
    ?>
    <link rel="stylesheet" href="<?php echo $root."css/style.css";?>" type="text/css" />
    <?php
    if(isset($_POST["ua"]))
    {	
    	$adet=trim(mysql_real_escape_string(strip_tags($_POST["urun-adet"])));
    	$urunid=trim(mysql_real_escape_string(strip_tags($_POST["ui"])));
    	$userid=trim(mysql_real_escape_string(strip_tags($_POST["ui1"])));
    	$ses=mysql_real_escape_string(strip_tags($_POST["sktime_session"]));
    	$sql = mysql_query("SELECT * FROM posts WHERE id='$urunid'");
    	$result = mysql_fetch_array($sql);
    	$root2 = $root.'urunler/'.$result["id"]."-".$result["sef"]."/";
    	$stok = $result["stok"];
    	$fiyat = $result["fiyat"];
    	$dovizid = $result["doviz_id"];
    	$getip=ip();
    	$date = date("y-m-d");
    	$tarih = turkcetarih('j F Y',$date);
    	$fark = "2";
    	$saatfark = (date("H") + ($fark));
    	$zaman1 = mktime( $saatfark, date("i"), date("s"), date("m"), date("d"), date("Y"));
    	$zaman = date("H:i:s",$zaman1);
    	$yenitarih = $tarih." - ".$zaman;
    	$durum = 0;
    	if($adet == ''){
    			echo '
    			<div id="error">
    				<p>Hata. Lütfen Ürün Adet'.'ini Giriniz !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root2.'">Tıklayınız..</a>
    				</p>
    			</div>
    			';
    		header('Location: '.$root2.'');
        }elseif($userid == 0){
    			echo '
    			<div id="error">
    				<p>Hata. Üye Girişi Yapmalısınız !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root2.'">Tıklayınız..</a>
    				</p>
    			</div>
    			';
    		header('Location: '.$root2.'');
    	}elseif($adet>$stok){
    			echo '
    			<div id="error">
    				<p>Hata. Girmiş Olduğunuz Adet, Mevcut Stoklarımızdan Fazladır !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root2.'">Tıklayınız..</a>
    				</p>
    			</div>
    			';
    			header('Location: '.$root2.'');
    	}elseif((@$_SESSION['sktime_session']) AND ($ses) AND (@$_SESSION['sktime_session'] == $ses))
    	{ 
    		$yenifiyat = $fiyat * $adet;
    		$insert = mysql_query("INSERT INTO cart (
    			uye_id,
    			urun_id,
    			doviz_id,
    			date,
    			tarih,
    			adet,
    			fiyat,
    			borc,
    			ip,
    			durum
    			) values(
    			'$userid',
    			'$urunid',
    			'$dovizid',
    			'$date',
    			'$yenitarih',
    			'$adet',
    			'$fiyat',
    			'$yenifiyat',
    			'$getip',
    			'$durum'
    			)");
    	
    	if($insert){
    		echo '
    			<div id="error">
    				<p>Teşekkürler. Ürünü Başarıyla Sepete Eklediniz !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root.'sepetim/">Tıklayınız..</a>
    				</p>
    			</div>
    		';
    		header('Location: '.$root.'sepetim/');
    	}else{
    		echo '
    			<div id="error">
    				<p>Hata. Sistem'.'de Hata Oluştu, Lüfen Sonra Deneyiniz !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root2.'">Tıklayınız..</a>
    				</p>
    			</div>
    		';
    		header('Location: '.$root2.'');
    	}
    	}else{
    		echo '
    			<div id="error">
    				<p>Hata. Flood Engellendi !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root2.'">Tıklayınız..</a>
    				</p>
    			</div>
    		';
    		header('Location: '.$root.'');
    	} 
    	unset($_SESSION['sktime_session']);
    	}
    }
    mysql_close();
    ob_end_flush();
    ?>
  • 28-12-2012, 11:51:27
    #4
    Kodda bir sorun göremedim. Test yaptım benim ftp de..

    Sayfayı direk çağırdığımda domain.com/uyari/ adresine gitti ve 404 verdi.
    Sonra x sayfasından yukardaki kodun olduğu sayfaya link verdim. Ordan tıkladığımda çalıştı. css meta yı echo yaptı.

    Post değerleri olmadığı için daha derin test yapamıyorum.

    Sayfanın başına şunu koyup tekrar çalıştırır mısınız? Ne diyecek bakalım..
    error_reporting(E_ALL); ini_set('display_errors', 'On');
  • 28-12-2012, 14:03:40
    #5
    eMPaTi34 adlı üyeden alıntı: mesajı görüntüle
    Kodda bir sorun göremedim. Test yaptım benim ftp de..

    Sayfayı direk çağırdığımda domain.com/uyari/ adresine gitti ve 404 verdi.
    Sonra x sayfasından yukardaki kodun olduğu sayfaya link verdim. Ordan tıkladığımda çalıştı. css meta yı echo yaptı.

    Post değerleri olmadığı için daha derin test yapamıyorum.

    Sayfanın başına şunu koyup tekrar çalıştırır mısınız? Ne diyecek bakalım..
    error_reporting(E_ALL); ini_set('display_errors', 'On');
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/exbilgic/public_html/demo/control/account.php:1) in /home/exbilgic/public_html/demo/control/account.php on line 4
    Warning: Cannot modify header information - headers already sent by (output started at /home/exbilgic/public_html/demo/control/account.php:1) in /home/exbilgic/public_html/demo/control/account.php on line 99
    bu hatayı verdi bana

    Edit : Teşekkür ederim çıkan hataları düzelttim.

    Hata sebebi güleceksiniz belki ama UTF-8 BOM'suz olmasıymış.
  • 28-12-2012, 15:24:50
    #6
    Geçmiş olsun. Çözülmesine sevindim
  • 25-02-2016, 01:48:25
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    samsunikinciel adlı üyeden alıntı: mesajı görüntüle
    Beyler localde canavar gibi çalışan header(Location ve Refresh) Fonksiyonları sitede bazı sayfalarda çalışıyor bazılarında çalışmıyor.

    Sayfa başlarına
    ob_start();
    Sayfa sonlarına
    ob_end_flush();
    koyuyorum.

    Acaba if yapısı içerisinde de header() lar mevcut.
    İf yapısı içerisinede mi böyle koymam lazım ?
    if(){
    ob_start();
    header("refresh: 2; url=gidileceksayfa.php");
    ob_end_flush();
    }
    Şeklinde mi yapmam lazım ?
    Aynen böyle hocam kaç zamandır bende kafayı yiyordum bu problemden dolayı burdan gördüm uygulayınca düzeldi Allah razı olsun
  • 25-02-2016, 05:18:51
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bir zamanlar bnde cok ugrastim hatayla bndede ayni problemden kaynakliydi
  • 25-02-2016, 06:41:36
    #9
    forumlar bu yüzden güzel işte 2012 yılında çözülen sorun şimdi birinin işine yarayabiliyor