Şimdi Ara

php if empty komutunda yönlendirme yapamadım - Çözüldü

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
10
Cevap
0
Favori
300
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • Merhabalar,

    Php bir sayfada arama fonksiyonu kullanıyorum, özetlemem gerekirse komut şu şekilde
    "www.domainadi.com/ara?q=arama+sonucu

    arama sonucu boş girildiğinde ana sayfaya yönlendirilsin istiyorum farklı kodlar kullandım fakat yapamadım

    if (empty($q)){
    header('Location: index.php');

    if empty header komutu kullandığım halde index e yönlendirmiyor yada ben yanlış yapıyorum

    edit: .htaccess de de denedim yine yapamadım

    edit2:http://www.n11.com/arama?q=
    mesela bu linki girdiğimde direk anasayfaya yönlendiriyor, aynen bu şekilde yapmak istiyorum

    Şimdiden teşekkürler


    Çözüm:
    Sadece bu satırı .php sayfasının en üstüne alınca sorun düzeldi, if empty header olacaksa, bundan önce kesinlikle başka bir include -
    <?php
    $q=$_GET["q"];
    if (empty($q)){
    header('Location: index.php/');
    }
    ?>



    < Bu mesaj bu kişi tarafından değiştirildi armax -- 7 Şubat 2016; 13:49:11 >



    _____________________________




  • if (empty($q)){
    header('Location: index.php');

    burdaki $q değişkenini $_get olarak tanımladınızmı buna dikkat edin
    _____________________________
  • $q orijinalinde $_GET['q'] olmalı.

    <?php

    if (empty($_GET['q'])){
    header('Location: index.php');
    }

    ?>

    şeklinde.

    Güncelleme: Üsttekiyle benzer zamanda. :) Aslında farketmiyor gözüküyor. İki kod da yönlendirme yapıyor. Demek ki başka sorun var. Nerede, nasıl sorun yaşandığını bilmemiz lazım.



    < Bu mesaj bu kişi tarafından değiştirildi nihattr -- 6 Şubat 2016; 22:50:50 >
    < Bu ileti tablet sürüm kullanılarak atıldı >
    _____________________________

    İstikbal
  • Yanıtlar için teşekkürler hocam. Düzelttim fakat olması. Kodun orjinalini paylaşıyorum.
     
    <?php
    if ($_GET){
    $q=$_GET["q"];
    $q=ucwords($q);
    $sorgu=mysql_query("SELECT * FROM urun WHERE urun_adi like '%$q%' ORDER BY id ASC");
    $sayac = mysql_num_rows($sorgu);
    if (empty($q)){
    header('Location: index.php');
    }
    else{
    if (mysql_num_rows($sorgu)>0){
    echo' <h6><b><font color=#00A0E3>"'.$q.'"</font></b> Araması için <b><font color=red>'.$sayac.'</font></b> sonuç bulundu</h6><br/>';
    while($goster=mysql_fetch_array($sorgu)){
    $resimsorgu = $db->sorgu(" SELECT * FROM dosya WHERE urun_id = '".$goster[id]."' ORDER BY id limit 1");
    while ($adresoku = $db->cek($resimsorgu))
    echo 'Arama sonucunu getirir';
    echo '';
    }
    }else{
    echo '<article><h3><b><font color=#00A0E3>"'.$q.'"</font></b> Aramanız için eşleşen kayıt yok.</article></p>';
    }
    }
    }
    ?>



    < Bu mesaj bu kişi tarafından değiştirildi armax -- 7 Şubat 2016; 0:19:14 >
    _____________________________




  • header ile yonlendirme yapabilmek icin ondan oncesinde hicbirseyin sayfaya yazdirilmamis olmasi gerekir. Ornegin <?php diye baslarken sayfaya bir bosluk bile biraksaniz yonlendirme gerceklestirilmez. Yazdiginiz kodun calismasi lazim. Sayfada headerdan once bosluk ya da herhangi bir yazdirma yapilmis diye kontrol etmenizde fayda var.
    _____________________________
  • Header sorunu yaşıyorsan sayfa kodlamasının BOMsuz olmasına dikkat et. Ve sayfanın en başına ob_start(); en sonua ise ob_end_flush(); kodlarını koymayı dene bi de hocam..
    _____________________________
    Estetik ayrıntıda gizlidir...
  • verdiğin kod'un çalışması lazım yani sıkıntı yok eğer include ediyorsan bir yere kontrol et
    _____________________________
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • muratbolat52 kullanıcısına yanıt
    maalesef onlarda çalıştırmadı.

    error log kaynağı şu şekilde "PHP Warning: Cannot modify header information - headers already sent by (output started at"

    şu anda bunu araştırıyorum sonuç alırsam paylaşıtırm. tekrar teşekkürler herkese
    _____________________________
  • quote:

    Orijinalden alıntı: Squit

    verdiğin kod'un çalışması lazım yani sıkıntı yok eğer include ediyorsan bir yere kontrol et

    yazdığım kod haricinde sayfanın üstlerinde bir kaç tane <?php include_once( var acaba bundan mı kaynaklanıyordur
    _____________________________
  • Arkadaşlar Hepinize teşekkür ediyorum. Sorunu çözdüm. Sadece bu satırı ara.php sayfasının en üstüne alınca sorun düzeldi, bir arkadaşın uyarısı üzerine (squit e teşekkür ederim) <?php header olan yerden önce kesinlikle başka bir include - <?php takısı olmiyacak.

    <?php
    $q=$_GET["q"];
    if (empty($q)){
    header('Location: index.php/');
    }
    ?>



    < Bu mesaj bu kişi tarafından değiştirildi armax -- 7 Şubat 2016; 13:51:45 >
    _____________________________
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.