Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html><?php include "startsession.php";if($_SESSION["usertype"] < 3){header("location:index.php");};include "navbar.php";
- /*Roolien luonti*/
- if (!empty($_POST))
- {
- //Muuttujat alustetaan lähtöarvoon
- $usernameError = $usertypeError = $emailError = null;
- $passwordError = $confirm_passwordError = null;
- //POST-muuttujat
- $username = $_POST['username'];
- $password = $_POST['password'];
- $usertype = $_POST['usertype'];
- $email = $_POST['email'];
- $confirm_password = $_POST['confirm_password'];
- $hashed_password = password_hash($password, PASSWORD_DEFAULT);
- $hash = $hashed_password;
- /*Käyttäjänimen valmistelu*/
- if (empty($username))
- {
- $usernameError = 'Syötä käyttäjänimi.'; //Käyttäjänimen tarkistus
- }
- else{
- //Onko käyttäjänimeä ennestään
- $pdo2 = Database::connect();
- $pdo2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $stmt2 = $pdo2->query("SELECT username, hash FROM users WHERE username = '$username'");
- $row = $stmt2->fetch();
- Database::disconnect();
- if($stmt2->rowCount() > 0){
- $usernameError = "Käyttäjänimi on jo käytössä.";
- }
- Database::disconnect();
- }
- //Salasanan vahvistus
- if(empty($confirm_password)){
- $confirm_passwordError = "Vahvista salasana.";
- } elseif(strlen($confirm_password) < 6){
- $confirm_passwordError = "Salasanan täytyy olla vähintään 6-merkkinen.";
- } else{
- $confirm_password = trim($confirm_password);
- if(empty($confirm_passwordError) && ($password != $confirm_password)){
- $confirm_password = $_POST['confirm_password'];
- $confirm_passwordError = "Salasanat eivät täsmää.";
- }
- }
- /*Sähköpostin valmistelu*/
- if (empty($email))
- {
- $emailError = 'Syötä sähköpostiosoite.';
- } else if ( !filter_var($email,FILTER_VALIDATE_EMAIL) )
- {
- $emailError = 'Syötä kelvollinen sähköpostiosoite.';
- } else{
- //Onko sähköpostia ennestään
- $pdo1 = Database::connect();
- $pdo1->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $stmt1 = $pdo1->prepare("SELECT email FROM users WHERE email = '$email'");
- $stmt1->execute();
- Database::disconnect();
- if($stmt1->rowCount() > 0){
- $emailError = "Sähköpostiosoite on jo käytössä.";
- }
- }
- if (empty($usertype))
- {
- $usertypeError = 'Syötä käyttäjätyyppi.';
- } elseif(in_array($usertype, range(1,3)) == false){
- $usertypeError = 'Arvon tulee olla 1-3 välillä.';
- }
- //Salasanan tarkistus
- if(empty($password)){
- $passwordError = "Syötä salasana.";
- } elseif(strlen($password) < 6){
- $passwordError = "Salasanan täytyy olla vähintään 6-merkkinen.";
- } else{
- $password = trim($password);
- }
- //Luodaan käyttäjä viemällä tietokantaan lomake-elementtien arvot.
- if(empty($usernameError) && empty($passwordError) && empty($usertypeError) && empty($emailError) && empty($confirm_passwordError)){
- $pdo = Database::connect();
- $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $sql = "INSERT INTO users (username, email, usertype , password, hash) VALUES (?, ?, ?, ?)";
- $stmt = $pdo->prepare($sql);
- $stmt->execute(array($username, $email, $usertype , $hashed_password, $hash));
- Database::disconnect();
- ?>
- <script type="text/javascript">
- window.location.href = 'users.php';
- </script>
- <?php
- }
- }
- ?>
- <main class="main"> <!--Lomake-elementit-->
- <div class="col-sm-16 text-left">
- <div class="wrapper">
- <h2>Luo käyttäjätili</h2>
- <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
- <div class="form-group <?php echo (!empty($usernameError)) ? 'has-error' : ''; ?>">
- <label>Käyttäjänimi</label>
- <input type="text" name="username" class="form-control" value="<?php echo $username; ?>">
- <span class="help-block"><?php echo $usernameError; ?></span>
- </div>
- <div class="form-group <?php echo (!empty($usertypeError)) ? 'has-error' : ''; ?>">
- <label>Tilin tyyppi [1 = Oppilas, 2 = Opettaja, 3 = Admin]</label>
- <input type="text" name="usertype" class="form-control" value="<?php echo $usertype; ?>">
- <span class="help-block"><?php echo $usertypeError; ?></span>
- </div>
- <div class="form-group <?php echo (!empty($emailError)) ? 'has-error' : ''; ?>">
- <label>Sähköposti</label>
- <input type="text" name="email" class="form-control" value="<?php echo $email; ?>">
- <span class="help-block"><?php echo $emailError; ?></span>
- </div>
- <div class="form-group <?php echo (!empty($passwordError)) ? 'has-error' : ''; ?>">
- <label>Salasana</label>
- <input type="password" name="password" class="form-control" value="<?php echo $password; ?>">
- <span class="help-block"><?php echo $passwordError; ?></span>
- </div>
- <div class="form-group <?php echo (!empty($confirm_passwordError)) ? 'has-error' : ''; ?>">
- <label>Varmista Salasana</label>
- <input type="password" name="confirm_password" class="form-control" value="<?php echo $confirm_password; ?>">
- <span class="help-block"><?php echo $confirm_passwordError; ?></span>
- </div>
- <div class="form-actions">
- <button type="submit" class="button">Valmis</button>
- <button type="reset" class="button-blue">Tyhjennä</button>
- <a class="button-red" href="users.php">Peruuta</a>
- </div>
- </form>
- </div>
- </div>
- </main>
- <?php include 'footer.php';?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement