Sayfalar Arası POST ile Veri Taşıma (Formsuz)
Site ön yüzünden inputlardan girilen değerleri Ajax ile PHP dosyama iletip burada kontrolleri sağlıyorum.
Kontrolleri sağladıktan sonra; istediğim bir başka sayfaya, önceki formdan almış (ve ajax.php dosyamda'da kontrolünü sağlamış olduğum bilgileri) bu bahsettiğim 3. bir farklı sayfaya POST olarak taşımak ve orada kullanmak istiyorum. Session ile taşımak istemiyorum; nasıl bir yöntem önerirsiniz.
1- Inputların olduğu Front-end sayfası, Click olunca ajax.php'ye gönderiliyor;
2- Ajax.php dosyasında, json olarak almış olduğum veriler kontrolünü sağlıyorum;
(Takıldığım yer olan) 3- Ajax.php'de kontrol ettiğim verileri tamamen yönlendirdiğim 3. bir sayfa
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (11)
sessndd değişşklik yapamazlar yok ben biraz daaha garaanti iş yapayım diyorsan
session u openssl ile ve fiyatı da şifrele işlem yapacağaın yerde bu şifreleri çöz işlemlerini yap.
incele dediğinde atıyorum burda adam ordan fytı değiştiremesin zaten session a sunucuya erişemediği sürece müdahale edemezd
ben bütün form verilerini herzaaman şifrelerim
@aydinkeskin evet sonunda fiyat hesaplamasını yapabilmek için (biraz fazla pinpirikliyim belki gerek bile yoktu bilemiyorum) verileri şifreleyerek gönderip; back-end'te şifreyi çözerek fiyatı hesabı yapıyorum şu an... Günün sonunda benim içimi rahatlatacak olan asıl cevap ise şu: Session ile taşıdığım verilere art niyetli bir şekilde yaklaşılamaz mı? Yani session ile gönderdiğim örneğin $_SESSION["fiyat"] verisi üzerinde bir art niyetli hareket yapılamaz mı?
@kartal Aslında detaylı ve yüzlerce ürünün olduğu bir e-ticaret sitesi değil; 2 adet ürün ve bu ürünlerin selectbox ile seçimlerine göre fiyat hesabı yapıyorum. (örnek veriyorum Siyah renk seçilirse 100 TL, mavi seçilirse 150 TL gibi düşünebilirsin) Fiyat hesabını da ajax ile gönderdiğim fiyatlar.php adlı sayfada, her seçime karşılık arraylerden hesaplatıyorum. Örneğin: urun1 { mavi: 150, siyah: 200} ... gibi düşünebilirsin.
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ı.
@aydinkeskin hocam ben bayağı açıklayıcı yazdığımı düşündüm sanırım ama, becerememişim anlaşılan. Üye kaydı yok; SQL'de sorgulama gibi bir senaryom da yok. Benim derdim, kullanıcının index'teki formda yaptığı seçimlere göre oluşan "fiyat"ı değiştirememeleri.
üyenin id sini session a alırsın
sessindaki üye id sql de varmı diye kontrol edersen yoksa sistemden atarsın
var ise
üyenin bilgilerini çeker ekrana basarsın.
Yukarıdaki anlattığım senaryo içerisinde ne yapmamı önerirsiniz? Session ile mi bilgileri taşımalıyım? Kişisel veriler, siparişin toplam tutarı vb. gibi hassas bilgiler de yer alıyor. Ajax'ın success fonksiyonunda location.href ile ödeme sayfasına yönlendirme yapacak olursam veri taşıyamıyorum bilgidiğim kadarıyla. Siz nasıl bir yöntem/adım uygulardınız?
Abi şöyle bir senaryo izliyorum; fikrine çok ihtiyacım var beynim durdu artık çünkü.
*Kullanıcı arayüzünde 3 adet selectbox var, burada yapılan selectbox change eventleriyle ajax ile php tarafına selectbox value'leri alıp seçimlere göre fiyat hesaplatıyorum ve ekrana basıyorum.
- Fiyat buton üzerinde kullanıcıya görünüyor. Kullanıcı "Sipariş Ver (50 TL)" gibi butona tıkladığı zaman Modal Pop-up açılıyor ve burada "Kişisel Bilgiler" için inputların olduğu bir formu doldurup "Siparişe Geç" tuşuna basıyor...
Yine burada Sipariş Ver butonunun click eventiyle Ajax ile PHP tarafında hem Fiyat bilgisi, hem de kullanıcının doldurduğu kişisel bilgileri alıyorum.
Sipariş Ver butonuna basıldığı anda, JSON ile kullanıcı datalarını ve fiyat bilgilerini alıyorum; bu bilgileri PayTR, Iyzico gibi sanal pos iFrame'sine entegre edip ekrana açmam gerekiyor.
Nasıl bir yol izlememi önerirsin, lütfen yardımcı olur musun?
Asıl soru neden session
kullanmak istemiyorsun? Sunucu taraflı oluştuğu için session'lar başka birinin müdahale etme şansıda olmaz bu işlemi cookie ile yapmak istesen cookie değiştirilebilir dolayısı ile doğrulamanın pek bir mantığı yok.
İkinci sorum ise, ne için böyle bir şeye ihtiyacın var? Alternatif olarak bu bilgileri doğruladıktan sonra dbne kayıt edip daha sonra 3. sayfanda dbden doğrulanmış bilgileri alarak işlem yapabilir ve işin bittiğinde gerekirse bu geçici bilgileri tablondan temizleyebilirsin.