Cookie tanımlarsam kullanıcı bilgisayarını bile kapatsa birdaha ki girişinde kontrol edebilirim ama bu seferde başka bilgisayardan girerse.
Amacım şu kullanıcı kayıtlı bir kullanıcı dahi olsa giriş yapınca 8 - 10 tane favori ekledi diyelim. Her defasında database kayıt değilde session da tutup oturumu kapatırken logout sayfasında session bilgilerini kayıt etmek istediğim oluyor ama kullanıcı direk bilgisayarı yada tarayıcıyı kapatırsa nasıl kaydederim. COOKIE ile ilgili nasıl oluyor.
Önce ne tür işlemler olacak onları belirle kafanda :)
1 : (status 1 olan)
Görüntüleme
2 : (status 2 olan)
Görüntüleme
Güncelleme(yazma)
3 : (status 3 olan)
Admin
Görüntüleme
Güüncelleme
Yazma
Yeni üye onaylama vs.
UserId----Status----Name-------Onay
1---------1---------Mehmet-----0
2---------1---------Ayşe-------1
3---------2---------Kemal------0
Onay 1 ise kullanıcı Admin tarafından onaylanmıştır. vs.
Sonra işlem yaptıracağın butonları vs. nerelerde kullanman gerekiyorsa
<?php
if($_SESSION["user_status"] == 3){
echo'<button>Sil</button>';
}
?>
Yapman geren birşey daha var. (üsttekinden daha önemli)
db_delete.php
session_start();
$sessionstatus = (int) $_SESSION["user_status"];
if(isset($sessionstatus) && $sessionstatus === 3 && mb_strlen($sessionstatus, 'UTF-8') == 3)){
}else{
header('location:index.php');
exit;
}
bonus :
Eğer daha güvenlik isitiyorsan :
htaccesss dosyandan bu sayfaların olduğu dizine sadece belli ip adresinden giriş yapılmasını sağlayabilirsin.
Evet cookie ler hassas bilgiler içermemeli. Bunun yerine sunucuda çalışan session kullanılmalı. Ama session ların güvenliği tamamen senin yazdığın kod kadar güvenli olacaktır. Session güvenliği diye arattırsın.
windows monitör ayarlarında ölçeklendirmeyi 100% den artırabilirsin dene muhtemelen olacak.
DUR !.
Kullanıcı bilgileri değiştirmesin istiyorsun ki doğru ve bu nedenle yaptırdığın seçimleri (neye göre yaptırıyorsun selectboxtan id filan yok mu)
database'den ürün id lerini alp check etmen gerek senin kullanıcıya gösterdiğin bilgiler bilgilendirme amaçlı olmalı. Ödeme sayfasındakiler check ettiğin bilgiler olmalı.
Sanırım problemi anladım. İki form olduğu için ve ikisinde de aynı fonksiyon aynı anda çalışıyor.
Böyle yapınca sorun kalmadı.
function(formName){
const formId = document.getElementById(formName);
Ajx(formId,'kayit.php', 'POST');
}
Aynı yorum kontrolünden soğudum. Veritabanı alanının indexini de iptal etmem gerek sanırım. Kullanıcıyı da yormak iyi olmaz. :)
Yorum kaydedilirken ilave sorgu yapmıyorum bu şekilde. Hem başkası da aynı yorumu yapmamalı mı diye düşünüyorum.
Mantık hatası var. Fiyat bilgisi değil ürün id sinden sunucu tarafında halledilmesi gerek fiyat hesaplamaları.