Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //init fields
- $FirstName = $LastName = $Adres = $ZipCode = $City = $TelNr = $Email = $Username = $Password = $RetypePassword = NULL;
- //init error fields
- $FnameErr = $LnameErr = $ZipErr = $CityErr = $TelErr = $MailErr = $UserErr = $PassErr = $RePassErr = NULL;
- if(isset($_POST['Registreren']))
- {
- $CheckOnErrors = false; // hulpvariabele voor het valideren van het formulier
- /*
- Opdracht PM08 STAP 2: registreren
- Omschrijving: Lees alle gegevens uit het formulier uit middels de POST methode
- */
- $FirstName = $_POST["FirstName"];
- $LastName = $_POST["LastName"];
- $Adres = $_POST["Adres"];
- $ZipCode = $_POST["ZipCode"];
- $City = $_POST["City"];
- $TelNr = $_POST["TelNr"];
- $Email = $_POST["Email"];
- $Password = $_POST["Password"];
- $RetypePassword = $_POST["RetypePassword"];
- //BEGIN CONTROLES
- /*
- Opdracht PM08 STAP 3: registreren
- Omschrijving: Zorg er voor dat de gegevens worden gevalideerd op de eisen uit de opdracht. Gebruik de hulpvariabele $CheckOnErrors om later te kunnen controleren of er een fout is gevonden. Deze variabele zet je dus op true wanneer je een validatie fout tegenkomt. Voor het valideren kun je gebruik maken van de validatie functies in het bestand functies.php
- */
- //controleer het voornaam veld
- if(empty($FirstName))
- {
- $FnameErr = "dit veld is vereit";
- $CheckOnErrors = True;
- }
- elseif(!is_Char_Only($Firstname) || !is_minlenght($FirstName,2))
- {
- $FnameErr = "Mag alleen uit karakter bestaan en is minimaal 2 karakters lang";
- $CheckOnErrors = True;
- }
- //controleer het achternaam veld
- if(empty($LastName))
- {
- $LnameErr = "dit veld is vereit";
- $CheckOnErrors = True;
- }
- elseif(!is_Char_Only($LastName) || !is_minlenght($LastName,2))
- {
- $LnameErr = "Mag alleen uit karakter bestaan en is minimaal 2 karakters lang";
- $CheckOnErrors = True;
- }
- //controleer het postcode veld
- if(!is_NL_PostalCode($ZipCode) && !empty($ZipCode))
- {
- $ZippErr = "is geen geldige postcode";
- $CheckOnErrors = true;
- }
- //controleer het plaats veld
- if(!is_Char_Only($City))
- {
- $CityErr = "Mag alleen uit karakters bestaan";
- $CheckOnErrors = true;
- }
- //controleer het telnr veld
- if(empty($TelNr))
- {
- $TelErr = "Dit veld is vereist";
- $CheckOnErrors = true;
- }
- Elseif(!is_NL_Telnr($TelNr))
- {
- $TelErr = "is geen geldig telefoonnummer";
- $CheckOnErrors = true;
- }
- //controleer het email veld
- if(empty($Email))
- {
- $MailErr = "dit veld is vereist";
- $CheckOnErrors = true;
- }
- Elseif(!is_Email($Email))
- {
- $MailErr = "is geen geldig email adres";
- $CheckOnErrors = true;
- }
- //controleer het username veld
- if(empty($Username))
- {
- $UserErr = "dit veld is vereist";
- $CheckOnErrors = true;
- }
- elseif(!is_Username_Unique($Username,$pdo))
- {
- $UserErr = "deze Username bestaat al, kies een andere";
- $CheckOnErrors = true;
- }
- //controleer het paswoord veld
- if(empty($Password))
- {
- $PassErr = "Dit veld is vereist";
- $CheckOnErrors = true;
- }
- elseif(!is_minlenght($Password,6))
- {
- $Passerr = "Het paswoord moet uit minimaal 6 tekens bestaan";
- $CheckOnErrors = true;
- }
- //controleer het retype paswoord veld
- if(empty($RetypePassword))
- {
- $RePassErr = "Dit veld is vereist";
- $CheckOnErrors = true;
- }
- elseif($Password != $RetypePassword)
- {
- $RePassErr = "De 2 paswoord velden komen niet overeen";
- $CheckOnErrors = true;
- }
- //EINDE CONTROLES
- /*
- Opdracht PM08 STAP 4: registreren
- Omschrijving: Controleer hier of er een fout is gevonden middels de CheckOnErrors variabele. Zo ja, dan ziet de gerbuiker opnieuw het formulier; zo nee, dan gaan we de gegevens in de database toevoegen.
- */
- if(true) //aanvullen
- {
- if($CheckOnErrors)
- {
- require('./Forms/RegistrerenForm.php');
- }
- }
- else
- {
- //formulier is succesvol gevalideerd
- //maak unieke salt
- $Salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));
- //hash het paswoord met de Salt
- $Password = hash('sha512', $Password . $Salt);
- /*
- Opdracht PM08 STAP 5: registreren
- Omschrijving: Maak een prepared statement waarmee de gegevens van de gebruiker in de database worden toegevoegd. LET OP: Level moet 1 zijn!
- */
- $parameters = array(':FirstName'=>$FirstName,':Lastname'=>$Lastname,':Adres'=>$Adres,':ZipCode'=>$ZipCode,':City'=>$City,':TelNr'=>$TelNr,':Email'=>$Email,':Username'=>$Username,':Password'=>$Password,':Salt'=>$Salt,':Level'=>1);
- $sth = $pdo->prepare('INSERT INTO klanten(Voornaam, Achternaam, Adres, Postcode, Plaats, TelefoonNr, Email, Inlognaam, Wachtwoord, Salt, Level) VALUES(:FirstName, :LastName, :Adres, :ZipCode, :City, :TelNr, :Email, :Username, :Password, :Salt, :Level)');
- $sth->execute($parameters);
- /*
- Opdracht PM08 STAP 6: registreren
- Omschrijving: Tot slot geef je de gebruiker de melding dat zijn gegevens zijn toegevoegd.
- */
- echo "U heeft zich succesvol geregistreerd.";
- RedirectNaarPagina(3,98);
- }
- }
- else
- {
- require('./Forms/RegistrerenForm.php');
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement