PHP form işleme ve veritabanı ilişkisi hakkında doğru bilgiye sahip olun! Bu kılavuzda, PHP ile web formu oluşturma, formu işleme ve veritabanıyla bağlantı kurma adımlarını öğreneceksiniz Pratik örneklerle öğrenin ve geliştirin!

Bu makalede, PHP programlama dilinde form işleme ve veritabanı arasındaki ilişki hakkında bilgilendirme yapılacaktır. HTML form elemanlarının PHP kodları ile nasıl işleneceği, veritabanına kaydedileceği, veritabanı bağlantısı kurulması ve verilerin alınması hakkında örnekler ve açıklamalar paylaşılacaktır.
Bir web sitesinde form işleme işlemi oldukça önemlidir. Bir kullanıcının bilgi girmesi gereken durumlarda form elemanları yardımıyla kısa sürede bilgi toplanması mümkündür. PHP programlama dili ile HTML formlarının alınan bilgilerinin işlemlerinin yapılması oldukça kolaydır. Güncel sürümleri de bu işlevler için gerekli güvenlik önlemlerini de almaktadır.
Ayrıca, verileri kaydetmek, düzenlemek ve silmek için de bir veritabanına ihtiyaç duyulabilir. PHP, birçok veritabanı yönetim sistemini destekler ve bu sayede verilerin saklanması ve kullanılması çok daha kolay hale gelir. Veritabanları hakkında temel bilgi ve SQL (Structured Query Language) kullanımı da bu makalede ele alınacaktır.
Form İşleme
Form işleme, web sitelerinde yaygın olarak kullanılan bir tekniktir. Bu işlem, web form elemanlarından alınan verilerin işlenmesi ve kullanılabilir hale getirilmesi anlamına gelir.
HTML form elemanları ile kullanıcılardan girdi alınabilir. Örneğin, bir formda ad, soyad, e-posta adresi, telefon numarası gibi bilgiler talep edilebilir. Bu verilerin işlenmesi ve doğru bir şekilde kaydedilmesi için PHP kullanılabilir.
PHP, form elemanlarının değerlerinin alınması için $_GET ve $_POST süper global değişkenleri sağlar. Örneğin, $_POST['ad']
kodu, bir form elemanından girilen "ad" değerini alır.
Metod | Açıklama |
---|---|
$_GET | Form verilerini URL'de şifrelemeden gönderir ve bir dizi olarak alınır. Örneğin: www.site.com?ad=John&soyad=Doe |
$_POST | Form verilerini HTTP isteği gövdesinde (body) şifreli bir şekilde gönderir. Güvenlik açısından önerilir. |
Form verilerinin işlenmesinde doğrulama da önemlidir. Şayet formda hatalı girişler bulunuyorsa, formun gönderilmeden önce kontrol edilmesi gerekmektedir. Bu nedenle, form doğrulama kullanılır. Örneğin, bir ad alanı sadece harfler yerine sayılar içeriyorsa, hata mesajı göstererek kullanıcıyı uyarabilirsiniz.
Kısacası, PHP ile bir formun işlenmesi basit bir şekilde gerçekleştirilebilir. Form verilerinin alınması, doğrulanması ve kaydedilmesi gibi adımların kolayca yerine getirilmesi, PHP'nin bir avantajıdır.
Form Verilerini Alma
Bir HTML formu gönderildiğinde, form elemanlarının değerleri PHP tarafından alınabilir. Bunun için, PHP'de kullanılan $_GET ve $_POST süper global değişkenleri kullanılır.
$_GET ve $_POST, formdan gelen verileri almak için kullanılır. Fakat, kullanım şekilleri farklıdır. $_GET, URL üzerinden verileri alırken, $_POST form elemanları üzerinden verileri alır.
Örneğin, bir formdaki "ad" adlı bir input elemanından gelen değeri almak istiyoruz. Bunun için şu kodu kullanabiliriz:
Metod | Örnek Kullanım |
---|---|
$_GET | echo $_GET["ad"]; |
$_POST | echo $_POST["ad"]; |
Form elemanlarının değerlerini almadan önce, gelen veri doğrulanmalı ve kontrol edilmelidir. Bu, form güvenliği açısından oldukça önemlidir.
Form verilerini $_GET veya $_POST ile alarak, PHP kodunda kullanabilirsiniz. Örneğin, form değerlerini bir değişkene atayarak, daha sonra bu değişkenleri veritabanına kaydedebilirsiniz.
Form Doğrulama
Form işleme sürecinde, form elemanlarından gelen verilerin doğruluğunu kontrol etmek önemlidir. Form verilerinin doğruluğunu kontrol etmek, kullanıcıların yanlış veri girmesini engeller ve veritabanına yanlış veri kaydedilmesini önler. Form doğrulama işlemi, formun gönderilmeden önce gerçekleştirilir. Form elemanlarındaki verilerin doğruluğunu kontrol eden PHP kodları ile hataları yakalamak mümkündür. Ayrıca, hataların kullanıcı dostu bir şekilde gösterilmesi de önemlidir.
Form doğrulama işlemini gerçekleştirmek için, form elemanlarının kullanıcı tarafından doldurulması veya seçilmesi zorunlu olanlar için gerekli alanlar belirlenir. Bu alanlar boş bırakıldığında veya yanlış türden veri girildiğinde, hata mesajları gösterilir. Örneğin, bir mail adresi girilmesi gereken bir form elemanında, kullanıcının yanlış formatta veri girmesi durumunda hata mesajı gösterilir. Hata mesajları, kullanıcı dostu ve anlaşılır bir şekilde gösterilmelidir.
- Form elemanlarının doğrulanması için, filter_var() fonksiyonu veya regex (regular expression) kullanılabilir.
- Filter_var() fonksiyonu, belirli bir verinin belirli bir formatta olup olmadığını kontrol etmek için kullanılır. Örneğin, filter_var($email, FILTER_VALIDATE_EMAIL) kullanarak, $email değişkeninin geçerli bir mail adresi olup olmadığını kontrol edebiliriz.
- Regex, bir metnin belirli bir formatta olup olmadığını kontrol etmek için kullanılan özel ifadelerdir. Örneğin, /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/ regex ifadesi, mail adreslerinin doğru formatta olup olmadığını kontrol edebilir.
Form doğrulama işlemi, form elemanlarının aldığı verilerin doğruluğunu kontrol etmek ve hata mesajlarını göstermek için önemlidir. Bu sayede, veritabanında yanlış veri kaydedilmesi engellenir ve kullanıcıların doğru verilerle form doldurmaları sağlanır.
Form Verilerini Kaydetme
Form elemanları kullanıcı tarafından doldurulduktan sonra, bu verilerin sunucuya gönderilip kaydedilmesi gereklidir. Bu işlem, veritabanına kaydetme işlemi olarak adlandırılır. Veritabanına kayıt etmek için, verilerinizi PDO (PHP Data Objects) ile veritabanına bağlanarak işlemeniz gerekmektedir.
Veritabanına bağlanmak için, PDO sınıfının bir örneğini oluşturmanız gerekiyor. PDO sınıfı, farklı veritabanı sürücüleriyle çalışabilen bir sınıftır. Örneğin, MySQL veya PostgreSQL gibi veritabanları için farklı sürücüler kullanılmaktadır. Bağlantı oluşturulduktan sonra, kayıt işlemi gerçekleştirilebilir. Bu işlem için PDO içerisinde bulunan prepare() fonksiyonu kullanılır. Prepare() fonksiyonu, veri kaydetmek için SQL sorgusunu hazırlar ve kaydetmek için execute() fonksiyonu kullanılır.
Bir örnek vermek gerekirse:
Form Elemanı | Veri Tipi |
---|---|
İsim | Metin |
Soyisim | Metin |
E-posta | E-posta adresi |
Bu örnekte, kullanıcının doldurduğu form elemanları İsim, Soyisim ve E-posta adresidir. PDO kullanarak bu verileri kaydetmek için, aşağıdaki kodu kullanabilirsiniz:
$db = new PDO('mysql:host=localhost;dbname=my_db_name', 'my_username', 'my_password'); $stmt = $db->prepare("INSERT INTO my_table (name, surname, email) VALUES (:name, :surname, :email)"); $stmt->bindParam(':name', $_POST['name']); $stmt->bindParam(':surname', $_POST['surname']); $stmt->bindParam(':email', $_POST['email']); $stmt->execute();
Bu örnekte, my_table adlı tabloya form elemanlarını kaydetmek için prepare() fonksiyonu kullanılmıştır. Bu sorguda her veri, bindParam() fonksiyonuyla SQL sorgusuna bağlanmıştır. Daha sonra execute() fonksiyonu çağrılarak sorgu veritabanına gönderilmiştir.
Bu şekilde, form verilerini veritabanına kaydetmek için PDO'yu kullanabilirsiniz. Bu yöntem, verilerinizi güvenli bir şekilde kaydetmenize ve istediğiniz zaman erişmenize olanak tanır.
Veritabanı İlişkisi
Veritabanı, PHP programlamasında çok önemli bir bileşendir. Veritabanı, bilgi depolamak ve organize etmek için kullanılan bir veri yapısıdır. Veritabanı yönetim sistemleri, bilgiyi veritabanında saklama, güncelleme ve geri alma işlemleri için kullanılır. SQL ise, bu veritabanı yönetim sistemleri aracılığıyla kullanılan bir sorgulama dili olarak bilinir.
Veritabanı kavramlarına aşina olmak, bir web sitesinin veritabanı tasarımını ve kullanımını daha iyi anlamaya yardımcı olur. Veritabanı yönetim sistemlerinin temel kavramları arasında tablolar, sütunlar ve satırlar bulunmaktadır. Tablolar, sütunlar ve satırlar, verilerin organize edilmesi ve daha kolay bir şekilde erişilmesi için kullanılan yapısal öğelerdir.
- Tablolar: Veritabanındaki bilgilerin saklandığı yapısal öğelerdir.
- Sütunlar: Tablodaki her veri tipi için bir sütun oluşturulur. Sütunlar, veritabanında saklanacak verilerin türünü belirler.
- Satırlar: Tablodaki her veri grubu için bir satır oluşturulur. Satırlar, veritabanında saklanan verileri içerir.
SQL, veritabanı yönetim sistemlerinde sıklıkla kullanılan bir sorgulama dili olarak kabul edilir. SQL ile veritabanı üzerinde çeşitli işlemler yapabilirsiniz. Örneğin, veri ekleme, veri güncelleme, veri silme ve veri okuma işlemleri SQL kullanılarak gerçekleştirilir.
Komut | İşlev |
---|---|
SELECT | Veri okuma işlemi |
INSERT | Veri ekleme işlemi |
UPDATE | Veri düzenleme işlemi |
DELETE | Veri silme işlemi |
SQL, birçok veritabanı yönetim sistemi tarafından desteklenir. Bunların arasında MySQL, PostgreSQL, Oracle ve Microsoft SQL Server bulunur. Veritabanı yönetim sistemi seçimi, bir web sitesinin performansı açısından çok önemlidir.
Veritabanı Oluşturma
Veritabanı oluşturma işlemi, bir web uygulaması için hayati önem taşır. Veritabanı, web uygulamasının tuttuğu tüm verilerin saklandığı yerdir. Veritabanı oluşturmak için öncelikle bir veritabanı yönetim sistemi (VYS) seçmek gerekmektedir. MySQL, PostgreSQL ve Microsoft SQL Server gibi birçok VYS mevcuttur.
Bir veritabanı oluşturmak için, VYS'ye erişmek ve yeni bir veritabanı oluşturmak için özel bir SQL ifadesi kullanmak gerekir. Bu ifade genellikle "CREATE DATABASE" ile başlar ve veritabanına bir isim verilir. Örneğin:
```sqlCREATE DATABASE my_database;```
Bu ifade, "my_database" adında bir veritabanı oluşturacaktır. Veritabanı oluşturulduktan sonra, tablolar oluşturmak için bir ya da daha fazla SQL ifadesi kullanılması gerekir. Tablo oluşturmak için "CREATE TABLE" ifadesi kullanılır ve tabloya bir ad verilir. Örneğin:
```sqlCREATE TABLE users( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, email VARCHAR(50), password VARCHAR(50) NOT NULL);```
Bu ifade, "users" adında bir tablo oluşturacak ve tablonun sütunlarını belirleyecektir. Tablonun sütunları, "id", "name", "email" ve "password" olacaktır. Bu sütunlar, INT, VARCHAR ve AUTO_INCREMENT veri tiplerini kullanır ve bazı kısıtlamalara sahip olabilirler.
Veritabanı oluşturma işlemi oldukça önemlidir ve doğru yapılması gerekmektedir. Tabloların doğru bir şekilde oluşturulması, verilerin doğru bir şekilde saklanmasını sağlar. Ayrıca, birçok programlama dili (örneğin, PHP) ile veritabanı bağlantısı yaparken, doğru veritabanı adı ve tablo adı kullanılması gerekir. Eğer bu adlar yanlış girilirse, veritabanına erişmek mümkün olmayabilir.
Bağlantı Kurma ve Veri Alımı
Veritabanı işlemleri yapmak için öncelikle veritabanı bağlantısı sağlanması gerekmektedir. Bu işlem için PDO (PHP Data Objects) kullanılabilir. PDO, farklı veritabanı türlerine uyumlu bir arayüz sağlar ve daha güvenilir bir veritabanı bağlantısı sunar.
PDO ile veritabanı bağlantısı sağlamak için öncelikle bir PDO nesnesi oluşturulması gerekir. Bu nesne oluşturulurken veritabanı türü, sunucu adı, veritabanı adı, kullanıcı adı ve şifre gibi bilgiler PDO yapıcısı aracılığıyla aktarılır.
Örneğin, MySQL veritabanı için bağlantı kurmak için aşağıdaki kod kullanılabilir:
$host = "localhost";$db_name = "veritabani_adi";$username = "kullanici_adi";$password = "sifre";try{ $baglanti = new PDO("mysql:host={$host};dbname={$db_name}", $username, $password); echo "Bağlantı Başarılı";}catch(PDOException $exception){ echo "Bağlantı Hatası: " . $exception->getMessage();}
Bağlantı kurulduktan sonra, veritabanından veri almak ve işlem yapmak için PDO nesnesi kullanılabilir. Bunun için prepare() ve execute() yöntemleri kullanılır. Prepare() yöntemi ile SQL sorgusu hazırlanır ve execute() yöntemi ile sorgu çalıştırılır.
Örneğin, veritabanından öğrenci bilgilerini almak için aşağıdaki kod kullanılabilir:
$sorgu = $baglanti->prepare("SELECT * FROM ogrenciler");$sorgu->execute();$ogrenciler = $sorgu->fetchAll(PDO::FETCH_ASSOC);
foreach($ogrenciler as $ogrenci){ echo $ogrenci["ad"] . " " . $ogrenci["soyad"] . "
";}
Bu örnekte, PDO nesnesi kullanılarak öğrenciler tablosundaki tüm veriler alınmış ve FETCH_ASSOC sabitiyle dizi olarak alınmıştır. Bu dizi daha sonra foreach döngüsü ile yazdırılmıştır.
PDO ile veritabanı bağlantısı sağlamak ve veri almak oldukça kolay ve güvenilirdir. Bu yöntemle veritabanı işlemleri yaparken daha az hata yapabilir ve daha az güvenlik riskiyle karşılaşabilirsiniz.
Veri Ekleme, Düzenleme ve Silme
Veritabanına veri ekleme, düzenleme ve silme işlemleri sıklıkla yapılan işlemlerdendir. Bu işlemler için kullanılan temel SQL komutları INSERT, UPDATE ve DELETE'dir. Bu komutlar, veritabanındaki mevcut verileri değiştirmek veya yeni veriler eklemek için kullanılır.
INSERT komutu, veritabanına yeni bir kayıt eklemek için kullanılır. INSERT INTO komutu, hangi tabloya veri eklemek istediğimizi belirlemek için kullanılır. Bu komutun ardından, VALUES ifadesi kullanarak eklenecek verileri tanımlamamız gerekir. Örneğin, aşağıdaki kod, müşteri adı, e-posta adresi ve şifresi olan yeni bir müşteri ekler:
MusteriAdi | Sifre | |
---|---|---|
Ahmet Kaya | ahmetkaya@email.com | 123456 |
UPDATE komutu, veritabanındaki mevcut verileri değiştirmek için kullanılır. Bu komut, SET ifadesi kullanılarak değiştirilecek verinin ne olduğunu tanımlar ve WHERE ifadesi kullanarak hangi verilerin değiştirileceğini belirler. Örneğin, aşağıdaki kod, müşterinin şifresini günceller:
MusteriID | Sifre |
---|---|
123 | 654321 |
DELETE komutu, veritabanındaki belirli bir kaydı silmek için kullanılır. Bu komut, WHERE ifadesi kullanarak silinecek kaydı belirler. Örneğin, aşağıdaki kod, ID'si 123 olan müşteriyi siler:
MusteriID |
---|
123 |
INSERT, UPDATE ve DELETE işlemleri, veritabanı ilişkisinde oldukça önemlidir. Bu işlemlerin doğru bir şekilde yapılması, veri bütünlüğü için hayati önem taşır. Bu nedenle, bu komutlar ve kullanımları hakkında iyi bir anlayışa sahip olmak önemlidir.