İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

php versiyonu sorunu

Y

yusufona

Misafir
selam.
eski versiyon php de çalışan kodlar php 4.2 de çalışmıyor. bu iki versiyonun farkı nedir acaba kod yazımında.hosting şirketi php versiyonundan kaynaklanıyo dedi ama bulamadım sorunu. Kodların çalışmayan kısımları üye girişleri ve veritabanına yeni kayıt ekleme bölümleri.
 

Haymac

0
İyinet Üyesi
Onaylı Üye
Katılım
10 Ağustos 2004
Mesajlar
236
Reaction score
2
php.ini dosyasındaki register_globals satırını off değil on yapman gerekli.
 
Y

yusufona

Misafir
serverdaki dosyayımı değiştirmem gerekiyor anlamadım.. serverdaki dosya ise buna ben mi müdahele edeceğim yoksa hosting şirketine mi ileteyim..? sağol
 

Haymac

0
İyinet Üyesi
Onaylı Üye
Katılım
10 Ağustos 2004
Mesajlar
236
Reaction score
2
Hosting firmana ilet, php.ini dosyasındaki register_globals satırını değiştirsinler 3-5 dakikalık iş
 

Haymac

0
İyinet Üyesi
Onaylı Üye
Katılım
10 Ağustos 2004
Mesajlar
236
Reaction score
2
Kod Yazımındaki farka gelince;
formun içinde <input type=text name=haymac value=abc> var diyelim
bunu post ettiğin zaman eski versiyonda $haymac diye alabilirken register globals kapali iken ancak $_POST[haymac] ile alabilirsin, yada adres satırından gelenlenler için $_GET, cookie için $_COOKIE, session icin $_SESSION gibi.

Bana kalırsa register globals in off kalması en güzeli ama senin elinde kurulu olan bir script varmış, yapacak birşey yok.
 
Y

yusufona

Misafir
dediğin gibi post ve get de öyle yapınca çalıştı sağol fakat şu an da
mysql_num_rows ve mysql_fetch_array satırlarında hata gösteriyor. bunun versiyonla bir ilgisi var mı?
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
Tavsiyem, guvenlik acisindan kodunu $_POST, $_GET, $_COOKIE, $_SESSION, $_SERVER seklinde degistirmen.

Bu degisikligi yapamiyacaksan:

Hosting sirketin php.ini yi degistirmene izin vermiyorsa, programlarinin basina su satiri ekle:

PHP:
ini_set("register_globals","1");

Bazi hostlar ini_set e de izin vermeyebilir, o durumda programlarinin basina su satirlari ekle:

PHP:
  $types_to_register = array('GET','POST','COOKIE','SESSION','SERVER');
  foreach ($types_to_register as $type) {
    $arr = @${'HTTP_' . $type . '_VARS'};
    if (@count($arr) > 0) {
      extract($arr, EXTR_OVERWRITE);
    }
  }
 
B

besiktaslim

Misafir
yusufona' Alıntı:
dediğin gibi post ve get de öyle yapınca çalıştı sağol fakat şu an da
mysql_num_rows ve mysql_fetch_array satırlarında hata gösteriyor. bunun versiyonla bir ilgisi var mı?

orda değişkenlerin içine eklemeye çalıştıysan problem çıkmış olabilir bu gelen değişkenleri hemen sayfa başında
$veri = $_POST[veri];
olarak eşitleyip kullan bence bu bahsettiğin problemi yaşamazsın ozaman
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst