[PHP] register form
Здравейте на всички и Весела Коледа!
Искам да Ви попитам едно въпросче и ще съм много благодарен на всеки, който отдели от времето си да помогне.
Бих казал, че съм начинаещ с PHP и реших да си направя онлайн магазин, като в момента мъча LOGIN и REGISTER формите.
Опитвам се да използвам и база данни, където да съхранявам информация за регистрираните потребители.
Случаят ми е следния:
Имам 1 файл functions.php и в него се опитвам да сложа всички функци, които ще използвам по другите страници.
Създал съм функция register() и нейният код е:
function register() {
global $dbConnection;
if ($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_POST['regBtn'])) {
$query = "INSERT INTO `registered_users` (`username`,`email`,`password`) VALUES (:username,:email,:password)";
$stmt = $dbConnection->prepare($query);
$password = hash('sha256', $_POST['password']);
$username = $_POST['username'];
$stmt->bindParam(':username', $username);
$stmt->bindParam(':email', $_POST['email']);
$stmt->bindParam(':password', $password);
if (count($username) >= 3) {
$stmt->execute();
}
}
}
След това имам файла - register.php, в който си държа html Кода на регистър формата:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div class="admin-panel">
<h1 class="header"> Admin Panel - Register</h1>
<div class="imgcontainer">
<img src="../assets/img/avatar.png" alt="Avatar" class="avatar">
</div>
<?php if(!empty($message)): ?>
<p><?= $message; ?></p>
<?php endif; ?>
<div class="container">
<div class="texts"><span class="first-text">Register</span> <div>or <a href="login.php" class="second-text">login here</a></div></div>
<form id="reg-form" method="POST">
<input type="text" placeholder="USERNAME" name="username" required="required" />
<input type="email" placeholder="EMAIL" name="email" required="required" />
<input type="password" placeholder="PASSWORD" name="password" required="required" />
<input type="submit" name="regBtn" value="Register" />
</form>
</div>
</div>
</body>
</html>
В горе посоченият файл съм записал следния код, но не се получава да ми запази данните в базата данни:
<?php
require '../database.php';
require '../functions.php';
$message = '';
if (register()) {
$message = 'Successfully created a new user';
}
if (isset($_POST['username']) && count($_POST['username']) < 3 ) {
$message = 'Username have to be atleast 3 symbols';
}
?>
Можете ли да ми кажете дали функцията е правилна и ако не, какво трябва да се подобри и как трябва да подхождам с функциите и също така какво трябва да се разпише във файла register.php