Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obsługa wielostronicowego formularza, smarty + session + post
onlyX
post
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Grajewo

Ostrzeżenie: (0%)
-----


Stworzyłem przed chwilą szkielet skryptu obsługi kilkustronicowego formularza.
Prosiłbym, żebyście przyjżeli się kodowi i sprawdzili czy jest on logicznie poprawny i czy nie zawiera błędów:
  1. <?
  2. //
  3. // Rejestracja nowego uzytkownika
  4. //
  5. require 'includes/class_quick.php';
  6. $quick = new quick;
  7.  
  8. // jeśli zalogowany
  9. if($_SESSION['log']) {
  10. header(&#092;"Location: index.php\");
  11. }
  12.  
  13. if(!$_POST['reg_page']) {
  14. //wyświetl regulamin
  15. $quick->smarty->assign(&#092;"reg_page\",\"1\");
  16. $quick->smarty->display('../templates/register_reg.tpl');
  17. }
  18. else if($_POST['reg_page']==1) {
  19. //wyświetl formularz rejestracyjny
  20. $quick->smarty->assign(&#092;"reg_page\",\"2\");
  21. $quick->smarty->display('../templates/register_form.tpl');
  22. }
  23. else if($_POST['reg_page']==2) {
  24. //procedury sprawdzenia danych
  25. //jęsli dane są poprawne
  26. //wyśqietl potwierdzenie wprowadzonych danych
  27. $quick->smarty->assign(&#092;"reg_page\",\"3\");
  28. $quick->smarty->display('../templates/register_confirm.tpl');
  29. // jeśli dane nie są poprawne
  30. //wróć do formularza
  31. $quick->smarty->assign(&#092;"reg_page\",\"2\");
  32. $quick->smarty->display('../templates/register_form.tpl');
  33. }
  34. else {
  35. //jeśli dane wymagane (login, hasło, confirm, email) zostały podane
  36. //utworzenie nowego użytkownika w bazie danych
  37. //INSERT INTO ...
  38. //wyświetl podziękowania
  39. $quick->smarty->assign(&#092;"info\",\"Dziękujemy za rejestrację, za chwile zostaniesz przeniesiony do strony logo
    w
  40. nia.\");
  41. $quick->smarty->display('../templates/register_confirm.tpl');
  42. unset($_POST['reg_page'])
  43. //jeśli nie wróć do formularza
  44. $quick->smarty->assign(\"reg_page\",\"2\");
  45. $quick->smarty->display('../templates/register_form.tpl');
  46. }
  47.  
  48. ?>


Mam też kilka pytań:
- W jaki sposób zabrać się do sprawdzania poprawności danych?
Myślałem o funkcachi sprawdzających każde pole z osobna (czy jest liczbą, czy jest e-mailem, itp.) i zwracających prawdę lub fałsz. Potem bym sprawdzał tylko czy wszędzie jest true. Jeśli byłoby false wtedy wracałoby do formularza i wyświetlała nad nim informacje o niepoprawnych danych.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 14:52