PHP ile üyenin yazdığı konuları ayrı gösterme

MreeFrei

Femtopat
Katılım
12 Mart 2021
Mesajlar
2
Daha fazla  
Cinsiyet
Erkek
Başlıktan da gördüğünüz üzere problemim bu.
Daha ayrıntılı isteyenler için:
Bir not yazma sitesi üzerinde çalışıyorum ve artık üyelik eklemeye karar verdim. Bir üyenin kendi için aldığı notları "notlarım" adlı bir sayfada görüntülemesini istiyorum. Nasıl yaparım?

Şimdiden yardım eden / etmeyen herkese teşekkür ederim.
 
Üyelik sistemini ekledikten sonra, veritabanına ilgili alanı ekleyip yazdırmak istediğinde x üye tarafından olarak listelediğinde gösterebilirsin.

PHP:
$sorgu = $baglanti->prepare("SELECT * FROM notlar WHERE uyeadi = $uyeadi");
$sorgu->execute();


<?php while ($sonuc = $sorgu->fetch()) { ?>

Notlar: <?= $sonuc["not"] ?>

<?php } ?>
 
Oncelikle bir uye kayit sayfasi olusturman gerekiyor. Kayit sayfasinda basit bir formla id sifre gibi bilgileri alacaksin. Formun action propertysinde kayit islemini yapacak olan .php dosyasina referans vermen gerekiyor. Bu php dosyasinda da $_POST super globalindan forma yazilan id sifre vs. gibi degerleri okuyup, gerekli validasyonlari yapip bir database e insert etmen gerek. Database icin mysql, PHP tarafindaki islemler icin de PDO'yu kullanabilirsin. Uye kaydi yaparken dikkat etmen gereken nokta, asla sifreleri veritabaninda direkt saklama. Php'nin password_hash() fonksiyonunu kullanarak hashleyip o sekilde sakla.

Bir de giris sayfasi yapman gerekiyor. Burada da bir form olacak ve yine ayni sekilde kullanicidan id sifre bilgisini okuyacaksin. Veritabanindan ilgili id ye ait satiri cektikten sonra, yine phpnin password_verify() fonksiyonu ile password degerinin hashlenmis degeriyle eslesip eslesmedigini kontrol edebilirsin. Girilen cred.ler dogruysa, $_SESSION super globalinde giris yapan kullaniciyi ayirt etmek amaciyla bir id set edebilirsin.

Postlar icin de ayni mantikla ilerleyerek databaseden okuma yazma yapabilirsin. Bu tek konuda az miktarda kod ile anlasilacak/anlatilacak bir mevzu degil, biraz bu kavramlar hakkinda calisma yapmak gerekebilir, kolay gelsin.
 
Tablo yapısı şu şekilde olsun.

üyeler tablosu
uye_id uye_kullanici_adiuye_email uye_sifre
1MreeFreilocalhost@com123456
2Pclocalhost@com123456
3Technopatlocalhost@com123456

notlarım tablosu
not_id not_uye_id not_baslik not_icerik
11İlk NotumBu benim ilk notumdur.
23Ben TechnopatBu benim Technopat isimli ilk notumdur.

PHP:
// Veritabanı Bağlantısı

try{
    $db = new PDO('mysql:host=localhost;dbname=notlar;charset=utf8', "root", "");
} catch(PDOException $e){
    die($e->getMessage());
}

$uye_id = $_SESSION["uye_id"]; // Oturum açan kişinin ID'si

// Listeleme Sorgusu
$sorgu = $db->prepare("SELECT * FROM notlar WHERE not_uye_id = :uye_id");
$sorgu->execute([':uye_id' => $uye_id]);

// Sonuçları Gösterme
while ($sonuc = $sorgu->fetch()) {
    echo $sonuc["not_baslik"];
}

// Bu sorguya göre Oturum açan üyenin ID'si 1 ise İlk notum başlıklı not gözükür. 3 ise Ben Technopat başlıklı not gözükür

Ama bu sadece bilgileri çekme işlemi. Kayıt işlemi içinde INSERT sorgusu yapılmalı.
 
Son düzenleme:

Yeni konular

Geri
Yukarı