1. Arif

    PHP’de boş sayfa hatası nasıl çözülür?

    PHP’de boş sayfa genellikle betiğin hata verip çıktıyı tamamlayamaması veya hatanın ziyaretçiye gösterilmemesi nedeniyle oluşur. Önce aynı isteğin HTTP durum kodunu ve PHP hata günlüğünü kontrol edin; ardından bulunan hatayı ilgili dosya ve satırda düzeltip sayfayı yeniden deneyin. Geliştirme...
  2. Arif

    PHP’de PDO ile SQL sorgusu nasıl güvenli çalıştırılır?

    Kullanıcıdan gelen değerleri SQL metnine birleştirmek yerine PDO::prepare() ile sorgu şablonu oluşturun, değerleri yer tutucularla execute() çağrısında gönderin ve sonucu fetch() ile alın. Böylece kullanıcı girdisi SQL komutunun parçası değil, sorguda kullanılacak veri olur. Tablo veya sütun...
  3. Arif

    PHP’de kullanıcı şifresi nasıl güvenli şekilde saklanır?

    İlk kural, kullanıcı şifresini veritabanına düz metin olarak veya geri döndürülebilir şifreleme ile kaydetmemektir. PHP’de kayıt sırasında password_hash(), giriş sırasında password_verify() kullanın; oluşan değeri değiştirmeden, en az 255 karakter saklayabilen bir veritabanı sütununa yazın...
  4. Arif

    PHP ile dosya yükleme nasıl yapılır?

    Dosya yüklemek için HTML formunda enctype="multipart/form-data" kullanıp dosyayı PHP tarafında $_FILES üzerinden almanız gerekir. Ardından yükleme hatasını kontrol etmeli, dosya türünü ve boyutunu doğrulamalı, güvenli bir dosya adı üretmeli ve move_uploaded_file() ile sunucudaki hedef klasöre...
  5. Arif

    PHP’de oturum (session) nasıl kullanılır?

    PHP’de oturum kullanmak için ilgili sayfanın en başında, tarayıcıya herhangi bir çıktı gönderilmeden önce session_start() çağrılır. Ardından kullanıcıya ait geçici bilgiler $_SESSION dizisine yazılır; sonraki PHP sayfalarında yine session_start() çağrılarak okunur. Kullanıcı çıkış yaptığında...
  6. Arif

    PHP’de JSON verisi nasıl okunur ve yazılır?

    JSON verisini PHP’de okumak için json_decode(), PHP verisini JSON’a dönüştürüp yazmak için json_encode() kullanılır. Dosyaya kayıt yapılacaksa önce veriyi dizi veya nesne olarak hazırlayıp JSON metnine dönüştürür, ardından file_put_contents() ile dosyaya yazarsınız. Okuma sırasında oluşabilecek...
  7. Arif

    PHP’de Türkçe karakter sorunu nasıl çözülür?

    İlk kontrol etmeniz gereken nokta, verinin hangi aşamada bozulduğudur. PHP dosyalarını UTF-8 olarak kaydedin, HTTP yanıtında UTF-8 bildirin, HTML belgesine UTF-8 karakter kümesini ekleyin ve veritabanı bağlantısı ile tabloları utf8mb4 kullanacak şekilde ayarlayın. Türkçe karakterler yalnızca...
  8. Arif

    PHP’de “Maximum execution time exceeded” hatası nasıl giderilir?

    İlk olarak hatanın kaynağını ayırın: PHP kodu gerçekten uzun sürüyorsa süre sınırını kontrollü biçimde artırın; yavaşlayan bölüm bir veritabanı sorgusu, uzak sunucu isteği veya sonsuz döngüyse yalnızca zaman aşımını yükseltmek yerine o bölümü düzeltin. PHP’de varsayılan max_execution_time değeri...
  9. Arif

    PHP’de 500 Internal Server Error hatası nasıl çözülür?

    500 Internal Server Error, sunucunun isteği tamamlayamadığını gösteren genel bir yanıttır; tek başına hatanın PHP kodundan kaynaklandığını kanıtlamaz. En hızlı çözüm, hatanın oluştuğu anda PHP ve web sunucusu günlüklerini okumak, ardından ilgili dosyayı sözdizimi, dosya yolu, PHP sürümü, eklenti...
  10. Arif

    PHP’de cURL ile API isteği nasıl gönderilir?

    İlk paragrafta belirtildiği üzere PHP’de cURL ile API isteği göndermek için bir cURL oturumu açıp URL’yi ve istek seçeneklerini tanımlamanız, isteği çalıştırmanız ve dönen HTTP durum kodunu yanıt gövdesinden ayrı değerlendirmeniz gerekir. Aşağıdaki örnek, JSON yanıt veren varsayımsal bir API’ye...
  11. Arif

    PHP ile MySQL veritabanına nasıl bağlanılır?

    İlk paragrafta PDO ile MySQL bağlantısı kurmak için PDO_MYSQL sürücüsünün etkin olması, sunucu adresi, veritabanı adı, kullanıcı adı ve parola bilgilerinin bilinmesi gerekir. Aşağıdaki kod bu bilgileri kullanarak bağlantıyı oluşturur, bağlantı hatasını yakalar ve başarılı durumda sorgu...
  12. Arif

    PHP’de sayfalama (pagination) nasıl yapılır?

    İlk olarak toplam kayıt sayısını bulup toplam sayfa sayısını hesaplayın; ardından geçerli sayfa numarasına göre OFFSET ve LIMIT değerlerini oluşturun. Sorguda sabit bir ORDER BY kullanarak yalnızca istenen kayıt aralığını çekin ve sayfa bağlantılarında mevcut sayfa numarasını değiştirin. Böylece...
  13. Arif

    PHP ile e-posta nasıl gönderilir?

    PHP ile e-posta göndermenin en kısa yolu, sunucunuzda bir posta aktarım hizmeti yapılandırılmışsa mail() işlevini kullanmaktır. Ancak mail() yalnızca iletiyi yerel sendmail programına veya yapılandırılmış SMTP sunucusuna teslim eder; true dönmesi, iletinin alıcının gelen kutusuna ulaştığını...
  14. Arif

    PHP’de “Undefined array key” hatası nasıl çözülür?

    “Undefined array key” hatası, kodun dizide bulunmayan bir anahtarı okumaya çalıştığını gösterir. Çözüm, anahtarı kullanmadan önce gerçekten mevcut olup olmadığını kontrol etmek veya yoksa kullanılacak varsayılan değeri belirlemektir. PHP sürümüne göre uyarı ya da bildirim biçiminde görülebilen...
  15. Arif

    PHP’de form verileri nasıl doğrulanır ve güvenli şekilde işlenir?

    Form verisini güvenli işlemek için önce gelen alanları beklenen türe ve biçime göre doğrulayın, geçersizse kaydetme işlemine geçmeden hatayı gösterin; veritabanına yazarken hazırlanmış sorgular, parolalarda password_hash(), HTML çıktısında ise htmlspecialchars() kullanın. Ayrıca form...
  16. Arif

    PHP’de Composer bağımlılıkları nasıl kurulur?

    İlk olarak PHP ve Composer’ın komut satırından çalıştığını doğrulayın. Projede zaten composer.json ve mümkünse composer.lock varsa proje klasöründe composer install komutunu çalıştırın; yeni bir paket ekleyecekseniz composer require vendor/paket kullanın. Kurulum tamamlandığında bağımlılıklar...
  17. Arif

    PHP’de kullanıcı şifreleri güvenli şekilde nasıl saklanır?

    Kullanıcı şifresini veritabanına düz metin olarak değil, PHP’nin password_hash() işleviyle oluşturulan tek yönlü özet olarak kaydedin. Giriş sırasında yeniden özet üretip metin karşılaştırması yapmak yerine password_verify() kullanın. Böylece şifrenin kendisi, ayrıca tuz değeri ve algoritma...
  18. Arif

    PHP dosya yükleme hataları nasıl giderilir?

    İlk olarak $_FILES['dosya']['error'] değerini okuyun; bu değer hatanın boyut sınırından, geçici dizinden, izinlerden veya formdan kaynaklanıp kaynaklanmadığını gösterir. Ardından HTML formunu, PHP ayarlarını ve hedef dizini sırayla kontrol edin. UPLOAD_ERR_OK alınıyorsa dosya PHP tarafından...
  19. Arif

    PHP oturumu kapanma sorunu nasıl çözülür?

    PHP oturumu kapanıyor veya sayfalar arasında kayboluyorsa önce her istekte session_start() çağrısının, çerezin ve oturum verisinin sunucuda saklandığı sürenin birlikte kontrol edilmesi gerekir. Çoğu durumda sorun; session_start() çağrısının HTML çıktısından sonra yapılması, farklı alt alan...
  20. Arif

    PHP’de JSON verisi nasıl okunur ve işlenir?

    JSON verisini PHP’de işlemek için önce metni json_decode() ile PHP dizisine veya nesnesine dönüştürün. Ardından json_last_error() ya da istisna kullanımıyla çözümleme sonucunu kontrol edin; veri geçerliyse alanları okuyup uygulamanızın ihtiyacına göre kaydedebilir, filtreleyebilir veya yanıt...