Giriş Yap / Kayıt Ol

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!

1Beğeni
  • 1 Yazan kelebek

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > Webmaster Genel

Php7.0 üzeri için kod düzenleme nasıl yapabilirim

  #1  
Okunmamış 02 Ocak 2019, 11:01
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 31 Ocak 2016
Yaş / Cinsiyet: 35 / Erkek
Meslek: webmaster
Konum: Konya
Ad, Soyad: Er... Be...
Mesajlar: 268
Beğeniler: 59 / 10
Ticaret: 13, 100%
Arkadaşlar uzun zamandır bu konu için uğraşıyorum bir arkadaşla belli bir yere kadar geldik fakat düzenleme için yardımınız gerek.

aşağıdaki php kodları 7.0 ve üzeri için düzenlememiz gerekir.

ayar.php
PHP- Kodu:
<?php
header
("content-type: text/html; charset=utf-8");
$baglan mysql_connect("localhost""root""") or die(mysql_error());
$sec mysql_select_db("yeni"$baglan) or die (mysql_error());

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET COLLATION_CONNECTION = 'utf8_general_ci'");

 
?>
rss.php
PHP- Kodu:
<?php include "ayarlar.php";
$id $_GET['id'];
header('Content-Type: text/xml; charset=utf-8'true);
echo 
'<?xml version="1.0" encoding="utf-8"?>
<rss>
 <channel>
   <!-- diger etiketler -->
<item>

'
;?>
<?php      

function seo($s) {
 
$tr = array('&');
 
$eng = array('&amp;');
 
$s str_replace($tr,$eng,$s);
 
$s strtolower($s);
 
$s trim($s'');
 return 
$s;
}   
         
$sorgu mysql_query("SELECT * FROM posts order by post_id desc LIMIT 20");
while (
$satir mysql_fetch_assoc($sorgu))
    {
    
    
$text=$satir["text"];
    
$textt=seo($text);
    
$page_description=$satir["page_description"];
    
$time=$satir["time"];
    
$post_id=$satir["post_id"];

      echo 
"<item>
    <title>
$textt</title>
     <pubDate>
$time</pubDate>
    <description></description>
    <link>https://www.siteadi.com/posts/
$post_id</link> 

    </item>
"
;
    }
      
?><?php
      
echo '

    </item>
 </channel>
</rss>
'
;

?>
kodları düzenlemede yardımcı olursanız sevinirim
  #2  
Okunmamış 02 Ocak 2019, 11:14
Avatar Seçilmemiş
Üyeliği Durdurulmuş
 
Üyelik Tarihi: 13 Aralık 2018
Yaş / Cinsiyet: 36 / Erkek
Meslek: özel sektör
Konum: İzmir
Ad, Soyad: Ta... Ke...
Mesajlar: 256
Beğeniler: 61 / 34
Ticaret: 0, 0%
hocam güncelleme panelden otomatik olmuyor mu.

ayar.php için
şuaraya bakınız : http://php.net/manual/tr/function.mysql-set-charset.php
  #3  
Okunmamış 02 Ocak 2019, 11:16
kelebek Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 11 Mayıs 2013
Cinsiyet: Erkek
Meslek: Geliştirici
Konum: Malatya
Ad, Soyad: Em... Kö...
Mesajlar: 3.194
Beğeniler: 765 / 60
Ticaret: 5, 100%
Denemedim fakat çalışması gerekiyor.

NOT: Mysql artık kullanılmıyor bunun yerine ya PDO yada MySQLi kullanmanız gerekiyor. Ben PDO'ya göre kodlarınızı düzenledim.

ayar.php
Kod:
    try {
      $db = new PDO("mysql:host=localhost; dbname=yeni; charset=utf8", "root", "");
    } catch ( PDOException $e ){
      print $e->getMessage();
    }
    $db->exec("set names utf8");
rss.php
Kod:
  $id = $_GET['id'];
  header('Content-Type: text/xml; charset=utf-8', true);
  echo '<?xml version="1.0" encoding="utf-8"?>
  <rss>
  <channel>
  <!-- diger etiketler -->
  <item>
  ';

  function seo($s) {
    $tr = array('&');
    $eng = array('&amp;');
    $s = str_replace($tr,$eng,$s);
    $s = strtolower($s);
    $s = trim($s, '');
    return $s;
  }

  $query = $db->query("SELECT * FROM posts order by post_id desc LIMIT 20", PDO::FETCH_ASSOC);
  if ( $query->rowCount() ){
    foreach( $query as $satir ){
      
      $text=$satir["text"];
      $textt=seo($text);
      $page_description=$satir["page_description"];
      $time=$satir["time"];
      $post_id=$satir["post_id"];

      echo "<item>
      <title>$textt</title>
      <pubDate>$time</pubDate>
      <description></description>
      <link>https://www.siteadi.com/posts/$post_id</link>
      
      </item>
      ";
    }
  }

  echo '
  </item>
  </channel>
  </rss>
  ';
PSorg bunu beğendi.
Konu kelebek tarafından (02 Ocak 2019, 11:19 ) değiştirilmiştir.
  #4  
Okunmamış 02 Ocak 2019, 11:17
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 31 Ocak 2016
Yaş / Cinsiyet: 35 / Erkek
Meslek: webmaster
Konum: Konya
Ad, Soyad: Er... Be...
Mesajlar: 268
Beğeniler: 59 / 10
Ticaret: 13, 100%
script için olmuyor hocam ama cpanel otomatik güncelleniyor.
  #5  
Okunmamış 02 Ocak 2019, 11:21
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 31 Ocak 2016
Yaş / Cinsiyet: 35 / Erkek
Meslek: webmaster
Konum: Konya
Ad, Soyad: Er... Be...
Mesajlar: 268
Beğeniler: 59 / 10
Ticaret: 13, 100%
Hocam oldu sayılır ama hata verdi Warning: Cannot modify header information - headers already sent by (output started at /home4/pbjmyaln/public_html/ayarlar.php:8) in /home4/pbjmyaln/public_html/rss.php on line 3


Alıntı:
kelebek Adlı Üyeden Alıntı
Denemedim fakat çalışması gerekiyor.

NOT: Mysql artık kullanılmıyor bunun yerine ya PDO yada MySQLi kullanmanız gerekiyor. Ben PDO'ya göre kodlarınızı düzenledim.

ayar.php
Kod:
    try {
      $db = new PDO("mysql:host=localhost; dbname=yeni; charset=utf8", "root", "");
    } catch ( PDOException $e ){
      print $e->getMessage();
    }
    $db->exec("set names utf8");
rss.php
Kod:
  $id = $_GET['id'];
  header('Content-Type: text/xml; charset=utf-8', true);
  echo '<?xml version="1.0" encoding="utf-8"?>
  <rss>
  <channel>
  <!-- diger etiketler -->
  <item>
  ';

  function seo($s) {
    $tr = array('&');
    $eng = array('&amp;');
    $s = str_replace($tr,$eng,$s);
    $s = strtolower($s);
    $s = trim($s, '');
    return $s;
  }

  $query = $db->query("SELECT * FROM posts order by post_id desc LIMIT 20", PDO::FETCH_ASSOC);
  if ( $query->rowCount() ){
    foreach( $query as $satir ){
      
      $text=$satir["text"];
      $textt=seo($text);
      $page_description=$satir["page_description"];
      $time=$satir["time"];
      $post_id=$satir["post_id"];

      echo "<item>
      <title>$textt</title>
      <pubDate>$time</pubDate>
      <description></description>
      <link>https://www.siteadi.com/posts/$post_id</link>
      
      </item>
      ";
    }
  }

  echo '
  </item>
  </channel>
  </rss>
  ';
  #6  
Okunmamış 02 Ocak 2019, 11:23
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 31 Ocak 2016
Yaş / Cinsiyet: 35 / Erkek
Meslek: webmaster
Konum: Konya
Ad, Soyad: Er... Be...
Mesajlar: 268
Beğeniler: 59 / 10
Ticaret: 13, 100%
hata için header a @ ekledim ama header header('Content-Type: application/rss+xml; charset=utf-8'); nasıl düzeltebilirim ?
Konu PSorg tarafından (02 Ocak 2019, 11:48 ) değiştirilmiştir.
  #7  
Okunmamış 02 Ocak 2019, 11:58
MuhammedArslan Adlı Üyenin Avatarı
Msa Web Tasarım
 
Üyelik Tarihi: 19 Şubat 2017
Cinsiyet: Erkek
Meslek: Web Developer
Konum: Bursa
Ad, Soyad: Mu... Ar...
Mesajlar: 910
Beğeniler: 276 / 136
Ticaret: 11, 100%
Sayfanın basına ob_start(); komutunu ekleyebilirsin.
  #8  
Okunmamış 02 Ocak 2019, 11:59
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 31 Ocak 2016
Yaş / Cinsiyet: 35 / Erkek
Meslek: webmaster
Konum: Konya
Ad, Soyad: Er... Be...
Mesajlar: 268
Beğeniler: 59 / 10
Ticaret: 13, 100%
hocam header('Content-Type: text/xml; charset=utf-8', true); ayar.php içinde php içine yerleştirdim sorun çözüldü.

Fakat: error on line 1 at column 7: XML declaration allowed only at the start of the document

da <?xml version="1.0" encoding="UTF-8"?><rss version="2.0" de hata var diyor
Cevap Yaz Favorilerime Ekle

1113x90

Bu Alana Reklam Ver



Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > Webmaster Genel


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı





Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 20:51.