OneCompiler

Program1

199
<?php // Include config file // Define variables and initialize with empty values $Firstname = $Lastname = $username = $password = $confirm_password = ""; $firstname_err = $lastname_err = $username_err = $password_err = $confirm_password_err = ""; // Processing form data when form is submitted if($_SERVER["REQUEST_METHOD"] == "POST"){ // Validate Firstname if(empty(trim($_POST["Firstname"]))){ $firstname_err = "Please enter a Firstname."; }elseif(empty(trim($_POST["Lastname"]))){ $lastname_err = "Please enter a Lastname."; }elseif(!preg_match('', trim($_POST["Firstname"]))){ $firstname_err = "Firstname can only contain letters"; }elseif(!preg_match('', trim($_POST["Firstname"]))){ $lastname_err = "Firstname can only contain letters"; }elseif (strlen(trim($_POST["Firstname"])) > 25){ $password_err = "Firstname is too long, Only allow 25 characters."; }else(strlen(trim($_POST["Lastname") > 25){ $password_err = "Lastname is too long, Only allow 25 characters."; } // Validate username if(empty(trim($_POST["username"]))){ $password_err = "Please enter a username."; } elseif(strlen(trim($_POST["username"])) > 12){ $password_err = "username must only have 12 characters maximum."; } else{ $password = trim($_POST["password"]); } // Validate password if(empty(trim($_POST["password"]))){ $password_err = "Please enter a password."; } elseif(strlen(trim($_POST["password"])) > 12){ $password_err = "Password must only have 12 characters maximum."; } else{ $password = trim($_POST["password"]); } // Validate confirm password if(empty(trim($_POST["confirm_password"]))){ $confirm_password_err = "Please confirm password."; } else{ $confirm_password = trim($_POST["confirm_password"]); if(empty($password_err) && ($password != $confirm_password)){ $confirm_password_err = "Password did not match."; } } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Sign Up</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <style> body{ font: 14px sans-serif; } .wrapper{ width: 360px; padding: 20px; } </style> </head> <body> <div class="wrapper"> <h2>Sign Up</h2> <p>Please fill this form to create an account.</p> <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> <div class="form-group"> <label>Firstname</label> <input type="text" name="Firstname" class="form-control <?php echo (!empty($firstname_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $Firstname; ?>"> <span class="invalid-feedback"><?php echo $firstname_err; ?></span> </div>
        <div class="form-group">
            <label>Lastname</label>
            <input type="text" name="Lastname" class="form-control <?php echo (!empty($lastname_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $Lastname; ?>">
            <span class="invalid-feedback"><?php echo $lastname_err; ?></span>
        </div>  


         <div class="form-group">
            <label>Lastname</label>
            <input type="text" name="username" class="form-control <?php echo (!empty($username_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $username; ?>">
            <span class="invalid-feedback"><?php echo $username_err; ?></span>
        </div>  



        <div class="form-group">
            <label>Password</label>
            <input type="password" name="password" class="form-control <?php echo (!empty($password_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $password; ?>">
            <span class="invalid-feedback"><?php echo $password_err; ?></span>
        </div>
        <div class="form-group">
            <label>Confirm Password</label>
            <input type="password" name="confirm_password" class="form-control <?php echo (!empty($confirm_password_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $confirm_password; ?>">
            <span class="invalid-feedback"><?php echo $confirm_password_err; ?></span>
        </div>
        <div class="form-group">
            <input type="submit" class="btn btn-primary" value="Submit">
        </div>
    </form>
</div>    
</body> </html>