Geçersiz Formu Öneriler-

4 Cevap php

Ben Web App tasarım söz konusu olduğunda en iyi uygulamalar hakkında son zamanlarda okuma bir sürü yapıyorum. Benim uzmanlık dili PHP / MySQL. Ben geliştiriyorum bir uygulama için bir MVC mimari oluştururken, (kullanıcı verileri yeniden girmek zorunda kalmaması ve yararlı hata iletileri görüntülenebilir) ben hep geçersiz form gönderimleri saklamak için nerede sorun rastlamak .

Genellikle bir OTURUM değişken bir tefrika nesne olarak saklanması ile yerleşti ettik, ama benim en son okuma seansları kötü ve uzak vatansız web geliştirme almak bana söyledi. Ben düşündüm birkaç alternatifler:

  1. Ben geçerli girişi ile yaptığınız gibi veritabanında saklayarak, ancak geçersiz olarak işaretleme
  2. geçersiz form gönderimler için ayrı bir tablo spesifik olarak veritabanında saklanması
  3. Bir metin dosyasında depolamak

Onlar tüm olumsuz yanları var.

  1. Değil TÜM formları (tek) veritabanı varlığın yaratılması sonucunu.
  2. ve 3. hem OTURUM değişkenler olarak aynı fikir gibi görünüyor

Ne tavsiye edersiniz?

4 Cevap

Sadece formun bir hata mesajı ve başka bir kopyasıyla kullanıcıya sunmak, hiç saklamayın. Önceden girilen verilerle formunu önceden doldurmak için (PHP çalışıyoruz beri $ _POST / $ _GET olarak) sahip verileri kullanın.

Form kamuya açık ve onlar için bir kullanıcı doğrulama yoksa oturumu sona erdiğinde, siz ziyaretçi kaybedersiniz.

  • Yani SESSION dikkate biridir.
  • Kullanıcıların varsa database bir Tefrika nesne olarak kaydedebilirsiniz.
  • Diğer sadece birkaç tarayıcı desteği henüz iyi yöntemdir HTML5 local storage hangi kullanmak, ancak etmektir.

1) Eğer bir yuvarlak robin veya yük dengeleme senaryoda iki veya daha fazla sunucu üzerinde uygulama yayılıyor iseniz oturumları ile sorunlar olabilir ancak tek bir sunucudan daha uygulama büyük ölçekli herhangi bir planları varsa o zaman bu geçerli olmaz

2) Eğer sunucu ve tarayıcı arasındaki çerezleri geri ve ileri veri geçebileceği. muhtemelen tüm verileri bir araya tutmak için bir çerez dizi kullanarak. kullanıcı bir yük dengeleme senaryoda yuvarlak robined ediliyor ise, bu yolu daha sonra veri yuvarlak onları takip edecek ve devlet ilgisizdir.

zend_form bakabilirsiniz

Bu sizin için verileri doldurma işler. Ve aynı zamanda otomatik doğrulama ve veri filtreleme yapabilirsiniz