Witam!
Chciałbym poznać wasze zdanie na temat mojego systemu rejestracji który jest fragmentem większej aplikacji. Interesuje mnie, co sądzicie o takim sposobie przkazywania danych i zarzadzania fragmentami kodu HTML (Smarty).
  1. <?php
  2.  
  3. $registerForm = array('visible' => 'true');
  4. $registerMessage = array('text' => '', 'visible' => 'true');
  5. switch($_GET['option']) {
  6. case 'modify':
  7. $modifyUser = getUser($_SESSION['authorized']);
  8. $smarty->assign('login', $modifyUser[0]['login']);
  9. $smarty->assign('password', $modifyUser[0]['password']);
  10. $smarty->assign('email', $modifyUser[0]['email']);
  11. $smarty->assign('name', $modifyUser[0]['name']);
  12. $smarty->assign('surname', $modifyUser[0]['surname']);
  13. $smarty->assign('option', $option = 'update');
  14. break;
  15. case 'update':
  16. //if(!$_POST['login']) $errorMessage = 'login';
  17. if($_POST['login'] && $_POST['password'] && $_POST['name'] && $_POST['surname']) {
  18. if(updateUser($_SESSION['authorized'], $_POST['password'], $_POST['email'], $_POST['name'], $_POST['surname'])) {
  19. $registerForm['visible'] = 'false';
  20. $registerMessage['text'] = 'Dane zostały zmienione.';
  21. } else {
  22. $registerForm['visible'] = 'false';
  23. $registerMessage['text'] = 'Dane nie zostały zmienione.';
  24. };
  25. } else {
  26. $registerMessage['text'] = 'Wypełnij formularz.';
  27. };
  28. break;
  29. case 'add':
  30. if($_POST) {
  31. if(!$_POST['login']) $error .= ' login,';
  32. if(!$_POST['email']) $error .= ' email,';
  33. if(!$_POST['password']) $error .= ' hasło,';
  34. if(!$_POST['name']) $error .= ' imię,';
  35. if(!$_POST['surname']) $error .= ' nazwisko,';
  36. $errorMessage = 'Uzupełnij pola:'.$error;
  37. $smarty->assign('login', $_POST['login']);
  38. $smarty->assign('password', $_POST['password']);
  39. $smarty->assign('email', $_POST['email']);
  40. $smarty->assign('name', $_POST['name']);
  41. $smarty->assign('surname', $_POST['surname']);
  42. };
  43. if($_POST['login'] && $_POST['password'] && $_POST['name'] && $_POST['surname']) {
  44. if(addUser($_POST['login'], $_POST['password'], $_POST['email'], $_POST['name'], $_POST['surname'])) {
  45. $registerForm['visible'] = 'false';
  46. $registerMessage['text'] = 'Użytkownik został dodany.';
  47. } else {
  48. $registerForm['visible'] = 'false';
  49. $registerMessage = 'Użytkownik nie został dodany.';
  50. };
  51. } else {
  52. $registerMessage = 'Wypełnij formularz.';
  53. };
  54. $smarty->assign('option', $option = 'add');
  55. break;
  56. }
  57. $smarty->assign('option', $option);
  58. $smarty->assign('registerForm', $registerForm);
  59. $smarty->assign('registerMessage', $registerMessage);
  60. $smarty->assign('errorMessage', $errorMessage);
  61.  
  62. ?>


  1. {include file="header.tpl"}
  2. <h3>Rejestracja</h3>
  3. {if $registerMessage.visible == "true"}
  4. <h4>{$registerMessage.text}</h4>
  5. {/if}
  6. <h4>{$errorMessage}</h4>
  7. {if $registerForm.visible == "true"}
  8. <form action="index.php?action=register&user={$login}&option={$option}" method="post">
  9. {if $registerForm.visible == "true"}
  10. <tr><td>login:</td><td><input name="login" maxlength="30" value="{$login}"><td></tr>
  11. {else}
  12. <tr><td>login:</td><td>{$login}<input type="hidden" name="login" maxlength="30" value="{$login}"><td></tr>
  13. {/if}
  14. <tr><td>email:</td><td><input name="email" maxlength="30" value="{$email}"><td></tr>
  15. <tr><td>hasło:</td><td><input type="password" name="password" maxlength="30" value="{$password}"></td><td>
  16. <tr><td>imie:</td><td><input name="name" maxlength="30" value="{$name}"></td><td>
  17. <tr><td>nazwisko:</td><td><input name="surname" maxlength="30" value="{$surname}"></td><td>
  18. <tr><td colspan="2"><input type="submit" value="wyślij"></td><td>
  19. </form>
  20. {/if}
  21. {include file="footer.tpl"}


Może wklejanie tutaj tego kodu nie jest do końca dobrym pomysłęm ale co tam winksmiley.jpg
Mam nadzieję że jakoś się odnajdziecie w tych moich bazgrołąch.
Pozdrawiam!
I jeszcze jedno. System nie jest bezbłędny i jest trochę wybrakowany, Bardziej chodzi mi o to czy system o takim szkielecie jest realizowany prawidłowo.