İnput'dan Gelen Değerlerin Boş Gözükmesi

Merhaba Arkadaşlar,

Php İle yönetilebilir site hazırlıyorum localhost üzerinden çalışıyorum ve her şey yolunda gidiyor fakat yaptığım siteyi kendi hostinge atınca admin paneline giriş alanında kullanıcı adı şireyi boş da dolu da yanlış da yazsam sürekli boş değer olarak algılıyor ve alanları boş bırakmayınız hatası geliyor.

Resimlerde Php alanı ve form alanı ekliyorum.

 

Yukarıda da yazdığım gibi localhost üzerinde çalışıyor her hangi bir sorun yok. Hostinge attım olduğu gibi orada çalışmıyor.

Böyle sorunlar ile karşılaştığımda print_r ve echo fonksiyonu ile hatanın nereden kaynaklandığını tespit etmeye çalışırım. Şimdi 6. satırdan sonra yeni bir satır ekleyerek aşağıdaki gibi bir kod yazalım.

print_r($_POST);

Sayfayı yenileyelim ve formu doldurarak gönderelim. Ekranda aşağıdaki gibi bir array geliyorsa formdan veri geliyor ve 6. satıra kadar sorun yok demektir.

Array ( [userTxt] => nurullah [sifreTxt] => 123456 [formGonderBtn] => )

Burada sorun yoksa devam edelim. 9. satırdaki if kontrolünden hemen önce aşağıdaki kodu çalıştıralım.

print_r("Kullanıcı adı: ". $userTxt .", Parola: ". $sifreTxt);

Eğer burada da sorun yoksa yukarıdaki kodu bir sonraki satırda if kontrolünün içine yazalım. Eğer burada veriler gelmiyorsa muhtemelen formdan gelen verileri değişkenlere atadığınız yerde sorun oluşuyordur.

Bu arada fonksiyonların başına @ işareti yerleştirdiğini gördüm. Bu işaret, o fonksiyonda sorun olunca ekranda gösterilecek PHP hatalarını gizler yani şuan sayfada hata oluşsa bile PHP hatasını göremezsin. Bu aslında bir dezavantajdır. Bunun yerine sayfanın en üstüne error_reporting(0); kodu yerleştirirsek hem tek yerden yönetilebilir, hemde error_reporting değerini 1 yaparak hataları gösterebiliriz.

1. verdiğini print ile post edince ekranda

 

Array ( [userTxt] => deneme [sifreTxt] => 123456 [formGonderBtn] => )

 

2. verdiğniiz print fonksiyonunu hem öncesine hemde sonrası yerleştirdim ve her 2 şekildede ekran da

Kullanıcı adı: , Parola: d41d8cd98f00b204e9800998ecf8427e

Şekilde bir alan çıkıyor.

@ işaretlerini sildim ama herhangi bir hata gösterilmiyor.

 

ftp içerisinde error_log dosya içerisinde şu şekilde hata kaydediliyor.

[22-Oct-2016 15:25:33 UTC] PHP Warning:  mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: Access denied for user 'root'@'localhost' (using password: NO) in /home/aygnyldz/public_html/test/control.php on line 49
[22-Oct-2016 15:25:33 UTC] PHP Warning:  mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: A link to the server could not be established in /home/aygnyldz/public_html/test/control.php on line 49

 

Sorun ile ilgili biraz araştırma yaptım. Kısaca özetlemek gerekirse mysql_ fonksiyonları PHP5 sürümünden itibaren desteklenmiyor, PHP7 sürümünde de tamamen kaldırıldı. Sunucunun PHP sürümü yüksek olduğu içinde mysql_query fonksiyonu ile veritabanına bağlanılamadı. Bu sorunlar yüzünden de kullandığın fonksiyon çalışmadı.

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git