• 02-02-2015, 22:27:07
    #1
    Merhaba, db den verileri çekiyorum, düzenleyip tekrar kaydet yaptığımda işlem başarısız oluyor.

    Düzenlemeyi istediğim habere tıkladığımda databaseden veriler sıkıntısız şekilde geliyor.


    Gelen veriler üzerinde düzenleme yapıyorum harf siliyorum bişey ekliyorum vs. Düzenle ye basınca başarısız oldu uyarısı veriyor.

    k_duzenle.php
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
    </head><?PHP
    require_once('baglan.php');
    ?>
       <?php 
    # Once bilgileri al
    $id=(int)$_GET['id'];
    $sorgu=mysql_query("select * from haberler where id='$id'");
    $bilgi = mysql_fetch_array($sorgu); 
    echo '<form method="POST" action="k_baglan_duzenle.php">
    <table width="439" border="0">
    <input type="hidden" name="id" value="'.$id.'">
      <tr>
        <td>Kategori</td>
        <td><input name="kategori" value="'.$bilgi[kategori].'" type="text"/ size="60"></td><br />
      </tr>
      <tr>
        <td>Resim</td>
        <td><input name="resim" value="'.$bilgi[resim].'" type="text"/ size="60"></td>
      </tr>
      <tr>
        <td>Baslik</td>
        <td><input name="haber_adi" value="'.$bilgi[haber_adi].'" type="text"/ size="60"></td>
      </tr>
      <tr>
        <td>Haber</td>
        <td><textarea name="haber" rows="10" cols="60">'.$bilgi[haber].'
    </textarea></td>
      </tr>
      <tr>
        <td>Hit</td>
        <td><input name="hit" value="'.$bilgi[hit].'" type="text"/ size="60"></td>
      </tr>
      <tr>
        <td>Tarih</td>
        <td><input name="tarih" value="'.$bilgi[tarih].'" type="text"/ size="60"></td>
      </tr>
    <br />
      <tr>
        <td>&nbsp;</td>
        <td><input type="submit" value="Düzenle"/></td>
      </tr>
    </table>
    </form>'; ?> 
    </html>
    k_baglan_duzenle.php
    <?PHP
    require_once('baglan.php');
    ?>
    <?php
    $id=$_POST["id"];
    $kategori=$_POST["kategori"];
    $resim=$_POST["resim"];
    $haber_adi=$_POST["haber_adi"];
    $haber=$_POST["haber"];
    $hit=$_POST["hit"];
    $tarih=$_POST["tarih"];
    $guncelle=mysql_query("UPDATE 'haberler' SET 'kategori'='$kategori','resim'='$resim','haber_adi'='$haber_adi','haber'='$haber','hit'='$hit','tarih'='$tarih' WHERE 'id'='$id'");
    if($guncelle) {
    echo "guncelleme basarili oldu<br />
    <a href='k_islem.php'>geriye donerek islemlere devam edebilirsiniz</a>";
    }else{
    echo "guncelleme basarisiz oldu";
    }
    ?>
  • 02-02-2015, 22:32:15
    #2
    k_baglan_duzenle.php birde bu şekilde düzenleyip deneyin.

    <?PHP 
    require_once('baglan.php'); 
    ?> 
    <?php 
    $id=$_POST["id"]; 
    $kategori=$_POST["kategori"]; 
    $resim=$_POST["resim"]; 
    $haber_adi=$_POST["haber_adi"]; 
    $haber=$_POST["haber"]; 
    $hit=$_POST["hit"]; 
    $tarih=$_POST["tarih"]; 
    $guncelle=mysql_query("UPDATE haberler SET kategori='$kategori', resim='$resim', haber_adi='$haber_adi', haber='$haber', hit='$hit', tarih='$tarih' WHERE id='$id'"); 
    if($guncelle) { 
    echo "guncelleme basarili oldu<br /> 
    <a href='k_islem.php'>geriye donerek islemlere devam edebilirsiniz</a>"; 
    }else{ 
    echo "guncelleme basarisiz oldu"; 
    } 
    ?>
  • 02-02-2015, 22:38:18
    #3
    Üyeliği durduruldu
    Haber veritabanını seçerken tırnak kullanmana gerek yok.
  • 02-02-2015, 22:39:35
    #4
    mhmtknbck adlı üyeden alıntı: mesajı görüntüle
    k_baglan_duzenle.php birde bu şekilde düzenleyip deneyin.

    <?PHP 
    require_once('baglan.php'); 
    ?> 
    <?php 
    $id=$_POST["id"]; 
    $kategori=$_POST["kategori"]; 
    $resim=$_POST["resim"]; 
    $haber_adi=$_POST["haber_adi"]; 
    $haber=$_POST["haber"]; 
    $hit=$_POST["hit"]; 
    $tarih=$_POST["tarih"]; 
    $guncelle=mysql_query("UPDATE haberler SET kategori='$kategori', resim='$resim', haber_adi='$haber_adi', haber='$haber', hit='$hit', tarih='$tarih' WHERE id='$id'"); 
    if($guncelle) { 
    echo "guncelleme basarili oldu<br /> 
    <a href='k_islem.php'>geriye donerek islemlere devam edebilirsiniz</a>"; 
    }else{ 
    echo "guncelleme basarisiz oldu"; 
    } 
    ?>
    teşekkür ederim oldu hocam... bulamadığım problem nerdeymiş çok merak ettim
  • 02-02-2015, 22:42:34
    #5
    UPDATE 'haberler' SET
    Tırnaklardan dolayı.
  • 03-02-2015, 01:25:03
    #6
    postla gelen verileri süzsen iyi olur yoksa tırnaktan itibaren veritabanına kaydetmez haberin olsun.
    + mysql yerine mysqli kullanmanı öneririm zira bazı mysql fonksiyonları tedavülden kalktı.

    http://php.net/manual/tr/function.my...ape-string.php
    ya da
    http://php.net/manual/tr/function.addslashes.php
  • 03-02-2015, 15:10:30
    #7
    deleter20 adlı üyeden alıntı: mesajı görüntüle
    postla gelen verileri süzsen iyi olur yoksa tırnaktan itibaren veritabanına kaydetmez haberin olsun.
    + mysql yerine mysqli kullanmanı öneririm zira bazı mysql fonksiyonları tedavülden kalktı.

    http://php.net/manual/tr/function.my...ape-string.php
    ya da
    http://php.net/manual/tr/function.addslashes.php
    verdiğim kodlarda nasıl kullanacağım bu söylediklerinizi hocam? düzenleyebilir misiniz?
  • 04-02-2015, 14:18:24
    #8
    Bir sorum daha olacak arkadaşlar, yeni konu açmak yerine burdan yazmak istedim.

    				<?php
    					$sayfaurl = "muzik.php?s=kolayca"; // Sayfalama URL
    					$limit = "10"; // Sayfada görüntülenecek kayyt sayysy
    					// Eger sayfa tanymy yapylmady yada sayfa geçerli bir numerik de?er de?ilse 1 atyyoruz
    					if(empty($sayfa) or !is_numeric($sayfa)){ $sayfa ='1'; }
    					$girdi = mysql_query("select id from haberler where kategori='muzik'");
    					$sayi = mysql_num_rows($girdi); // toplam mySQL kayyt sayysy
    					$kayitSayisi = ceil($sayi / $limit); // Bu de?i?ken kaç adet sayfa oldu?unu tutuyor.
    					$son = ($sayfa-1)*$limit;
    					$cekgetir = mysql_query("select * from haberler where kategori='muzik' order by tarih DESC limit $son,$limit");
    					while(	list($haber_id, $haber_kategori, $haber_resim, $haber_title, $haber_metin, $bosgec, $haber_tarih) = mysql_fetch_row($cekgetir)){
    					$haber_metin_kisa = preg_replace("/<.*?>/", "", $haber_metin);
    					$haber_metin_kisa2 = substr($haber_metin_kisa,0,225)."...";
    					$htarihyil=substr($haber_tarih,0,4);
    					$htarihay=substr($haber_tarih,5,2);
    					$htarihgun=substr($haber_tarih,8,2);
    					$htarih=$htarihgun." - ".$htarihay." - ".$htarihyil;
    				?>
                <div class="sayfalama">
    				<?php
    				$linkCiktisi = ""; 
                    if ($sayfa==1) { $linkCiktisi.="<a href='#' class='oncekisayfa'></a>"; }
                    else { $birGeri=$sayfa-1; $linkCiktisi.="<a href='$sayfaurl&sayfa=$birGeri' class='oncekisayfa'></a>"; }
                    for($i=1; $i <= $kayitSayisi; $i++) { 
                        if ($sayfa==$i) {
                            $linkCiktisi.="<span>$i</span>";
                            continue;
                        }
                    }
                    //En Sondaki ileri >> butonu
                    if ($sayfa<$kayitSayisi) {
                        $birIleri=$sayfa+1;
                        $linkCiktisi.="<a href='$sayfaurl&sayfa=$birIleri' class='sonrakisayfa'></a>";
                    }
                    else {
                    $linkCiktisi.="<a href='#' class='sonrakisayfa'></a>";
                    }
                    ?>
    				<?php echo $linkCiktisi; ?>
                </div>
    Daha önce bu şekilde sayfalama yapıp sitemde rahatça kullanabiliyordum. Serverda en son sürüm PHP ye güncelleme yapıldı ondan sonra bu şekilde koda sahip olan sayfalarımda sayfalama işlemini yapmamakta, yani 2. sayfaya geçmek istediğimde url yi alıyor ama aynı 10 içeriği ekrana basıyor. halbuki bir sonraki 10 içeriği göstermesi lazım.

    Yardımcı olabilecek var mıdır?
  • 04-02-2015, 22:35:43
    #9
    GET le sayfa verisini almıyorsun ondan dolayı hep aynı sayfa cıkıyor. daha önceki hostunda $_GET['sayfa'] yerine direk $sayfa diye kullanabilme özelliği açıkmış sanırım ondan dolayı host değiştirince düzen bozulmuş.
    if (empty($sayfa) or !is_numeric($sayfa)){ $sayfa ='1'; }
    bu kodu şöyle değiştir
    if (empty($_GET['sayfa']) or !is_numeric($_GET['sayfa'])) { $sayfa ='1'; }
    else $sayfa = $_GET['sayfa'];