connect($db) ) exit("Πρόβλημα σύνδεσης στη Βάση Δεδομένων!"); # paths & directories $paths= new TPaths(); $rootURL= $paths->getUrl(); $imagesURL= $paths->getImagesUrl(); $secureURL= $paths->getSecureUrl(); # χρησιμοποιείται στο header.php για τη δήλωση των css & js # αν η τρέχουσα σελίδα απαιτεί https τότε το refURL είναι και αυτό secure # αλλιώς είναι το default (rootURL) $refURL= $rootURL; # user $User= new TUserExt(); # συνδεδεμένος ή όχι χρήστης $userLogin= false; if ( $User->isUserLoggedin() ) { // Ooops! υπάρχει συνδεδεμένος χρήστης. // εδώ έχει έρθει από λάθος // και τον στέλνει στην αρχική header( "Location: ".$rootURL ); exit; } # ****** # από εδώ και κάτω σημαίνει ότι δεν έχει συνδεθεί # άρα μπορεί να δει τα περιεχόμενα της σελίδας /** * CAPTCHA */ if (!isset($_SESSION['submitFormToken'])) $_SESSION['submitFormToken']= time(). '#' . hash('sha512', uniqid() . time() . SALT); # εγγραφή του Url από όπου ήρθε $excludeKeyword= array('login', 'register'); registerFromUrl( $excludeKeyword ); if ( count($_POST) > 0 ) { // form submitted $fieldsError= array(); $okToSave= true; $email= clear($_POST['email'], $db); $password= clear($_POST['password'], $db); $repassword= clear($_POST['repassword'], $db); $passwordLength= strlen(utf8_decode($password)); $lname= clear($_POST['lname'], $db); $fname= clear($_POST['fname'], $db); $token= clear($_POST['token'], $db); list($when, $hash) = explode('#', $token, 2); # ΑΡΧΗ έλεγχος δεδομένων φόρμας $okToSave= $okToSave && ( $token == $_SESSION['submitFormToken'] ); $okToSave= $okToSave && ( (time()-$when) > 1 ); if ( ($password == '') || ($password <> $repassword) ) { $fieldsError['repassword']= true; $fieldsError['password']= true; $okToSave= $okToSave && false; } else { if ( ($passwordLength < 6) ) { $fieldsError['repassword']= true; $fieldsError['password']= true; $okToSave= $okToSave && false; } } if ( ($email == '') ) { $fieldsError['email']= true; $okToSave= $okToSave && false; } else { $q= "SELECT accountID FROM accounts WHERE email = '$email' LIMIT 1;"; $dbClass->BuildQuery( 'se', $q, $db, $qError, $rs, $n, $timeParsed ); if ( $n > 0 ) { // υπάρχει το email $fieldsError['email']= true; $emailNotification= true; $okToSave= $okToSave && false; } } # ΤΕΛΟΣ έλεγχος δεδομένων φόρμας if ( $okToSave ) { # εντάξει με τα δεδομένα της φόρμας # εγγραφή του χρήστη, σύνδεση χρήστη & redirect to home $accountID= $User->createRecord($email, $password, $lname, $fname); if ( $accountID > 0 ) { $User->registerValidUserSession($accountID, $email); # αποστολές emails στον admin και στον χρήστη (member) //$User->SendWelcomeEmails(); unset( $_SESSION['submitFormToken'] ); header( "Location: ".$rootURL ); exit; } else { # παρουσιάστηκε πρόβλημα στην εγγραφή $fieldsError['email']= true; unset( $_SESSION['submitFormToken'] ); header( "Location: ".$rootURL."register/" ); exit; } } } else { # ΔΕΝ υποβλήθηκε η φόρμα # initialize form variables $email= ''; $lname= ''; $fname= ''; } $displayCarousel= false; $displayFooter= true; $extraLines= ''; /* * το αρχείο που περιέχει τα includes για να * δημιουργηθεί το body για την τρέχουσα σελίδα **/ $pageContents= 'register/main_contents.php'; if (isset($_SESSION['notifierTxt'])) { $notifierTxt= $_SESSION['notifierTxt']; $showNotify= true; unset($_SESSION['notifierTxt']); } /* * this includes **/ include(RELPATH . "header.php"); //exit; /* * φόρτωση του template **/ include(TEMPLATE . "page2.php"); ?>