Bu birçok kişi kendilerine sormak bir soru, ve tek bir doğru cevabı muhtemelen yoktur ...
Ben genelde ne, sizin durumunuzda olduğunu:
purchase.php
formu görüntüler
- kendisi o biçim mesajlar (ie,
purchase.php
) em>
- when data has been submitted, it is dealt with -- still in
purchase.php
- Bir hata varsa (like something not OK in the input), sen, gerçekten kolay bu şekilde formu yeniden görüntüleyebilirsiniz: Zaten kullanıcı tarafından tiplendirildi her değerlere sahip
- hiçbir hata varsa, sen verilerle için var ne yapabilirim; gibi o ihtiyacınız buysa, oturumda ayarlayın, ya da örneğin, veritabanına kaydetmek.
- only when everything was OK (data validation OK and storage OK), you redirect to "
confirm.php
"
- Bu onay sayfası bir "thanks for your purchase" diyerek mesajı, ya da böyle bir şey göstermek dışında bir şey yok.
It means putting more stuff in your purchase.php
, yes :
- (Yeniden) şeklinde gösterimi
- girişi ile ilgili
Ancak, bu şekilde, yeniden görüntülemek formu, bir doğrulama hatası olduğu zaman kullanımı ilk, yazdığınız ne ile önceden doldurulmuş gerçekten kolaydır.
Siz fonksiyonları / sınıfları / yöntemlerini kullanabilirsiniz hatta bazı dosyaları dahil olsa da, un-okunabilir / un-maintenable kod büyük bir öbek ile sona değil ...
Başka bir sayfaya form mesaj varsa, tekrar görüntülemek formu için gerçekten zor olacak ... sen yönlendirmeleri kullanıyorsanız, size URL her şeyi geçmek olacak, ve bir karışıklık {[(0 olacak )]}
Here, it means I would totaly remove your review-purchase.php
file ; and transform it to a confirmation page, so the user knows everything was OK and his purchase is being take care of.
Ben bu sizin son paragrafta demek oldukça buydu, aslında :-) varsayalım
Just beware : you have to think about escaping data before injecting it back into the form (see htmlspecialchars
and/or htmlentities
) ; that is true for everything you get from the user *(And, probably, for PHP_SELF too, I'd say)* ;-)