Prosiłbym, żebyście przyjżeli się kodowi i sprawdzili czy jest on logicznie poprawny i czy nie zawiera błędów:
<? // // Rejestracja nowego uzytkownika // require 'includes/class_quick.php'; $quick = new quick; // jeśli zalogowany if($_SESSION['log']) { exit; } if(!$_POST['reg_page']) { //wyświetl regulamin $quick->smarty->assign(\"reg_page\",\"1\"); $quick->smarty->display('../templates/register_reg.tpl'); } else if($_POST['reg_page']==1) { //wyświetl formularz rejestracyjny $quick->smarty->assign(\"reg_page\",\"2\"); $quick->smarty->display('../templates/register_form.tpl'); } else if($_POST['reg_page']==2) { //procedury sprawdzenia danych //jęsli dane są poprawne //wyśqietl potwierdzenie wprowadzonych danych $quick->smarty->assign(\"reg_page\",\"3\"); $quick->smarty->display('../templates/register_confirm.tpl'); // jeśli dane nie są poprawne //wróć do formularza $quick->smarty->assign(\"reg_page\",\"2\"); $quick->smarty->display('../templates/register_form.tpl'); } else { //jeśli dane wymagane (login, hasło, confirm, email) zostały podane //utworzenie nowego użytkownika w bazie danych //INSERT INTO ... //wyświetl podziękowania $quick->smarty->assign(\"info\",\"Dziękujemy za rejestrację, za chwile zostaniesz przeniesiony do strony logo
w nia.\"); $quick->smarty->display('../templates/register_confirm.tpl'); unset($_POST['reg_page']) //jeśli nie wróć do formularza $quick->smarty->assign(\"reg_page\",\"2\"); $quick->smarty->display('../templates/register_form.tpl'); } ?>
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.