Server IP : 68.65.122.142 / Your IP : 3.135.188.108 Web Server : LiteSpeed System : Linux server167.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 User : glenirhm ( 1318) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/glenirhm/backup/sis.glenbowcollege.ca/admin/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php include ('../common/send_email.php'); // Connect to the database include('../common/connect.php'); // Now we check if the data was submitted, isset() function will check if the data exists. if (!isset($_POST['username'], $_POST['password'], $_POST['email'])) { // Could not get the data that should have been sent. exit('Please complete the registration form!'); } // Make sure the submitted registration values are not empty. if (empty($_POST['username']) || empty($_POST['password']) || empty($_POST['email'])) { // One or more values are empty. exit('Please complete the registration form'); } // Now we check if the data was submitted, isset() function will check if the data exists. if (!isset($_POST['username'], $_POST['password'], $_POST['email'])) { // Could not get the data that should have been sent. exit('Please complete the registration form!'); } // Make sure the submitted registration values are not empty. if (empty($_POST['username']) || empty($_POST['password']) || empty($_POST['email'])) { // One or more values are empty. exit('Please complete the registration form'); } // Email validation if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { exit('Email is not valid!'); } // Invalid Characters Validation if (preg_match('/^[a-zA-Z0-9]+$/', $_POST['username']) == 0) { exit('Username is not valid!'); } // Character Length Check if (strlen($_POST['password']) > 20 || strlen($_POST['password']) < 5) { exit('Password must be between 5 and 20 characters long!'); } // Check if email is valid if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { exit('Email is not valid!'); } //Email validation if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { exit('Email is not valid!'); } // Invalid chars validation if (preg_match('/^[a-zA-Z0-9]+$/', $_POST['username']) == 0) { exit('Username is not valid!'); } // Character length check if (strlen($_POST['password']) > 20 || strlen($_POST['password']) < 5) { exit('Password must be between 5 and 20 characters long!'); } // We need to check if the account with that username exists. if ($stmt = $con->prepare('SELECT id, password FROM administrator WHERE username = ?')) { // Bind parameters (s = string, i = int, b = blob, etc), hash the password using the PHP password_hash function. $stmt->bind_param('s', $_POST['username']); $stmt->execute(); $stmt->store_result(); // Store the result so we can check if the account exists in the database. if ($stmt->num_rows > 0) { // Username already exists echo 'Username exists, please choose another!'; } else { // Insert new account // Username doesnt exists, insert new account if ($stmt = $con->prepare('INSERT INTO administrator (username, password, email, activation_code) VALUES (?, ?, ?, ?)')) { // We do not want to expose passwords in our database, so hash the password and use password_verify when a user logs in. $password = password_hash($_POST['password'], PASSWORD_DEFAULT); $uniqid = uniqid(); $stmt->bind_param('ssss', $_POST['username'], $password, $_POST['email'], $uniqid); $stmt->execute(); $activate_link = dirname($_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']) . '/activate.php?email=' . $_POST['email'] . '&code=' . $uniqid; $body = '<p>Please click the link below to activate the account of: ' . $_POST['email']. '<br><br><a href="' . $activate_link . '">' . $activate_link . '</a></p>'; sendEmail($EMAIL_HOST, $EMAIL_USERNAME, $EMAIL_PASS, $EMAIL_FROM, $_POST['email'], 'Account Activation Required', $body); sendEmail($EMAIL_HOST, $EMAIL_USERNAME, $EMAIL_PASS, $EMAIL_FROM, $EMAIL_ROOT, 'New admin account application', $body); } else { // Something is wrong with the sql statement, check to make sure accounts table exists with all 3 fields. echo 'Could not prepare statement!'; } } $stmt->close(); } else { // Something is wrong with the sql statement, check to make sure accounts table exists with all 3 fields. echo 'Could not prepare statement!'; } $con->close(); ?>