Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $servername = "localhost";
- $serverUsername = "root";
- $serverPassword = "";
- $dbname = "rocthat";
- $tableNameUser = "user";
- //create connection
- $conn = new mysqli($servername, $serverUsername, $serverPassword, $dbname);
- if ($conn->connect_error)
- {
- die("connection failed". $conn->connect_error);
- }
- else
- {
- // functie die controlleert of het wachtwoord aan speciefieke eisen voldoet
- // de functie retourneert false als incorrect
- // of true als wel correct
- function valid_pass($candidate)
- {
- $r1='/[A-Z]/'; //Uppercase
- $r2='/[a-z]/'; //lowercase
- $r3='/[!@#$%^&*()\-_=+{};:,<.>]/'; // whatever you mean by 'special char'
- $r4='/[0-9]/'; //numbers
- if(
- preg_match_all($r1,$candidate, $o)<2 ||
- preg_match_all($r2,$candidate, $o)<2 ||
- preg_match_all($r3,$candidate, $o)<2 ||
- preg_match_all($r4,$candidate, $o)<2 ||
- strlen($candidate)<8)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- function validEmail($email)
- {
- $isValid = true;
- $atIndex = strrpos($email, "@");
- if (is_bool($atIndex) && !$atIndex)
- {
- $isValid = false;
- }
- else
- {
- $domain = substr($email, $atIndex+1);
- $local = substr($email, 0, $atIndex);
- $localLen = strlen($local);
- $domainLen = strlen($domain);
- if ($localLen < 1 || $localLen > 64)
- {
- // local part length exceeded
- $isValid = false;
- }
- else if ($domainLen < 1 || $domainLen > 255)
- {
- // domain part length exceeded
- $isValid = false;
- }
- else if ($local[0] == '.' || $local[$localLen-1] == '.')
- {
- // local part starts or ends with '.'
- $isValid = false;
- }
- else if (preg_match('/\\.\\./', $local))
- {
- // local part has two consecutive dots
- $isValid = false;
- }
- else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain))
- {
- // character not valid in domain part
- $isValid = false;
- }
- else if (preg_match('/\\.\\./', $domain))
- {
- // domain part has two consecutive dots
- $isValid = false;
- }
- else if
- (!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/',
- str_replace("\\\\","",$local)))
- {
- // character not valid in local part unless
- // local part is quoted
- if (!preg_match('/^"(\\\\"|[^"])+"$/',
- str_replace("\\\\","",$local)))
- {
- $isValid = false;
- }
- }
- if ($isValid && !(checkdnsrr($domain,"MX") ||
- checkdnsrr($domain,"A")))
- {
- // domain not found in DNS
- $isValid = false;
- }
- }
- return $isValid;
- }
- if(isset($_POST["submit"])){
- $error = array();
- $username = $_POST["username"];
- $password = $_POST["password"];
- $rePassword = $_POST["rePassword"];
- $firstname = $_POST["firstname"];
- $middlename = $_POST["middlename"];
- $lastname = $_POST["lastname"];
- $country = $_POST["country"];
- $city = $_POST["city"];
- $street = $_POST["street"];
- $houseNumber = $_POST["houseNumber"];
- $zipcodeNumber = $_POST["zipcodeNumber"];
- $zipcodeLetters = $_POST["zipcodeLetters"];
- $email = $_POST["email"];
- $about = $_POST["about"];
- if(!empty($_POST['gender'])){
- $gender = $_POST["gender"];
- }
- $hobbys = "";
- if(!empty($_POST['hobby'])){
- foreach($_POST["hobby"] as $hobby) {
- if($hobbys == "")
- {
- $hobbys = $hobby;
- }
- else
- {
- $hobbys = $hobbys . " " . $hobby;
- }
- }
- }
- if(valid_pass($password) == FALSE)
- {
- $error[] = "password is not cool enough for us";
- }
- if(validEmail($email) == FALSE)
- {
- echo "email is not correct";
- }
- if($rePassword != $password)
- {
- $error[] = "wachtwoorden zijn niet gelijk";
- }
- if(is_numeric($houseNumber) == FALSE)
- {
- $error[] = "er bestaan geen huisnummers onder het getal 1";
- }
- if(is_numeric($zipcodeNumber) == FALSE || strlen($zipcodeNumber) !=4 ||
- is_numeric($zipcodeLetters) == TRUE || strlen($zipcodeLetters) !=2)
- {
- $error[] = "een postcode bestaat uit 4 cijfers en 2 letters";
- }
- foreach($_POST as $key => $value)
- {
- if($key != "middlename")
- {
- if($value == "")
- {
- $error[] = $key . " is niet ingevuld";
- }
- }
- }
- if(count($error) > 0)
- {
- echo "<ul>";
- for($x = 0; $x < count($error); $x++)
- {
- echo "<li>";
- echo $error[$x];
- echo "</li>";
- }
- echo "</ul>";
- }
- else
- {
- $hashedPassword = sha1($password);
- $query = mysqli_query($conn, "SELECT * FROM user WHERE username='".$username."'");
- if(mysqli_num_rows($query) > 0)
- {
- echo "Username already exists";
- }
- else
- {
- //insert data in database
- mysqli_query($conn,"INSERT INTO `user`(`username`, `password`, `firstname`, `middlename`, `lastname`, `country`, `city`, `street`, `houseNumber`, `zipCodeNumbers`, `zipCodeLetter`, `email`, `gender`, `hobbys`, `about`)
- VALUES ('$username', '$hashedPassword', '$firstname', '$middlename', '$lastname', '$country', '$city','$street','$houseNumber','$zipcodeNumber','$zipCodeLetter', '$email', '$gender','$hobbys', '$about')");
- }
- }
- }
- }
- ?>
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="../stylesheet.css">
- </head>
- <body>
- <div class="main">
- <div class="Form">
- <form method="POST" action="index.php">
- Username: <input type="text" name="username"/><br />
- Password: <input type="text" name="password"/><br />
- Re enter your password: <input type="text" name="rePassword"/><br />
- Name: <input type="text" name="firstname" placeholder="First name" /> <input type="text" name="middlename" placeholder="Middle name"/> <input type="text" name="lastname" placeholder="Last name"/><br />
- Country: <select name="country">
- <option value="">selecteer een land in</option>
- <?php
- $sqlCountry = "SELECT * FROM apps_countries";
- $resultCountry = $conn->query($sqlCountry);
- if ($resultCountry->num_rows > 0)
- {
- // output data of each row
- while($row = $resultCountry->fetch_assoc())
- {
- echo "<option value='" . $row["country_code"] . "'>" . $row["country_name"] . "</option>";
- }
- }
- ?>
- </select><br />
- City: <input type="text" name="city" /><br />
- Street: <input type="text" name="street"><br />
- House number: <input type="number" name="houseNumber"/><br />
- ZIP Code: <input type="text" name="zipcodeNumber" maxlength="4" placeholder="Nummers" /><input type="text" name="zipcodeLetters" maxlength="2" placeholder="Letters"/><br />
- Email: <input type="text" name="email" maxlength="50" /><br />
- Gender: <label for="male">Male</label><input type="radio" name="gender" value="male" id="male"/><label for="female">Female</label><input type="radio" name="gender" value="female" id="female"/><br />
- Hobby's:
- <input type="checkbox" name="hobby[]" value="cooking" id="cooking"/> <label for="cooking">Cooking</label>
- <input type="checkbox" name="hobby[]" value="bikeing" id="bikeing"/> <label for="cooking">Bikeing</label>
- <input type="checkbox" name="hobby[]" value="coding" id="coding"/> <label for="cooking">Coding</label><br />
- About your self: <textarea name="about"></textarea>
- <input type="submit" name="submit" value="Register"/>
- </form>
- </div>
- </div>
- <a href="login.php">Klik hier om in te loggen</a>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement