• 15-03-2015, 14:11:12
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba,

    if ($_GET){
    $id=$_GET["id"];
    .
    .
    .
    .
    .
    .
    .
    }
    Şeklinde kodum var. Get ile gelen veriye göre veritabanından karşılığını bulup işleme devam ediyor.

    Fakat bulamazsa hata vermesini istiyorum.

    Veri gelmezse 404 sayfama yönlendirme, olmayan bir veri gelirse de "hata" yazmasını nasıl sağlayabilirim?
  • 15-03-2015, 14:12:40
    #2
    Üyeliği durduruldu
    if ($_GET['id']){
    $id = $_GET['id'];
    }else{
    Header('Location: /404.php');
    }
  • 15-03-2015, 14:37:29
    #3
    olmadı

    /?page=post&id=1 adresindeyken doğru veriler geliyor.

    ama /?page=post&id=sdfsdfsdfs tanımsız ya da /?page=post&id= durumunda 404 e gitmedi
  • 15-03-2015, 14:53:41
    #4
    Üyeliği durduruldu
    Gitmez tabi niye gitsin?
    Gitmesi için
    /?page=post&id=
    böyle olması lazım
    /?page=post&id=hirsiz+vaar
    böyle olursa değer varmış gibi görür, kabul eder yönlendirmez.

    veritabanında aratma yapıcaksın önce

    veritabnının kodunu koy buraya yönlendirmeyi vereyim sana
  • 15-03-2015, 15:03:51
    #5
    <?
    // Gelen veri kontrolü
      if ($_GET){
      $id=$_GET["id"];
      ?>
    
    .
    .
    .
    .
    
    
    mysql_query("UPDATE Yazilar SET hit = hit+1 WHERE id = '$id'");
      
      $query = mysql_query("	SELECT Yazilar.*, Kategoriler.*, Yazarlar.* 
    							FROM Yazilar 
    							LEFT JOIN Kategoriler ON Yazilar.kategori_no = Kategoriler.kategori_id 
    							JOIN Yazarlar ON Yazilar.yazar_id = Yazarlar.yazar_no
    							WHERE Yazilar.id='$id'");
      $sonuc = mysql_fetch_array($query);
    
    
    
    <div class="post single">
    						<h1 class="post_title">
    							<? echo $sonuc['baslik'];
    
    
    .
    .
    .
    .
    .
    }else{
    Header('Location: ?page=404.php');
    }
    şeklinde kodlarım.

    amacımı anlatabildim sanırım = den sonra bişey gelmezse 404 e yönlendirsin, veritabanında olandan başka bişey gelirse de "hata" desin. gerisini sanırım ben editleyebilirim
  • 15-03-2015, 15:08:52
    #6
    Üyeliği durduruldu
    mysql_query("UPDATE Yazilar SET hit = hit+1 WHERE id = '$id'");
    ***
    **$query = mysql_query("SELECT Yazilar.*, Kategoriler.*, Yazarlar.* 
    *********************FROM Yazilar 
    *********************LEFT JOIN Kategoriler ON Yazilar.kategori_no = Kategoriler.kategori_id 
    *********************JOIN Yazarlar ON Yazilar.yazar_id = Yazarlar.yazar_no
    *********************WHERE Yazilar.id='$id'");
    **$sonuc = mysql_fetch_array($query);
    *
    *
    *
    <div class="post single">
    ******************<h1 class="post_title">
    *********************<? echo $sonuc['baslik'];
    
    if ($sonuc['id'] === $_GET['id']) {
    }else{
        Header('Location: /404.php');
    }
  • 15-03-2015, 15:40:31
    #7
    header fonksiyonu garip bir hata verdi.

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/xxx.com/header.php:290) in /home/www/xxx.com/post.php on line 99

    header.php nin 290 satırında

    <?php echo (isset($_COOKIE['pr_header_container']) ? ' ' . $_COOKIE['pr_header_container'] : (isset($_COOKIE['pr_color_skin']) && $_COOKIE['pr_color_skin']=='dark' ? ' style_2' : ($_COOKIE['pr_color_skin']=='high_contrast' ? ' style_3' : ''))); ?>
    şeklinde bir kod dizini var bununla çakışıyor sanırım. ama çözemedim
  • 15-03-2015, 17:38:44
    #8
    Üyeliği durduruldu
    oguzhan306 adlı üyeden alıntı: mesajı görüntüle
    header fonksiyonu garip bir hata verdi.

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/xxx.com/header.php:290) in /home/www/xxx.com/post.php on line 99

    header.php nin 290 satırında

    <?php echo (isset($_COOKIE['pr_header_container']) ? ' ' . $_COOKIE['pr_header_container'] : (isset($_COOKIE['pr_color_skin']) && $_COOKIE['pr_color_skin']=='dark' ? ' style_2' : ($_COOKIE['pr_color_skin']=='high_contrast' ? ' style_3' : ''))); ?>
    şeklinde bir kod dizini var bununla çakışıyor sanırım. ama çözemedim
    header ın en üstüne ob_start(); ekleyin.