From b698dd1786ce8858744f5cb5293bd97f90c9d207 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Mon, 12 Apr 2021 12:17:02 +0300 Subject: User: register and update --- user/index.php | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ user/login.php | 2 -- user/register.php | 29 ++++++++++++++++++++++++ user/update.php | 37 ++++++++++++++++++++++++++++++ 4 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 user/index.php create mode 100644 user/register.php create mode 100644 user/update.php (limited to 'user') diff --git a/user/index.php b/user/index.php new file mode 100644 index 0000000..90b3a84 --- /dev/null +++ b/user/index.php @@ -0,0 +1,67 @@ +query("SELECT username, email FROM users WHERE id = '$_SESSION[user_id]'")->fetch(); +?> + +
+

User information

+
' method='post'> + +

+ + ' required > +

+ +

+ + ' required > +

+ +

+ + +

+ + +
+
+ + +
+

Register a new account

+
' method='post'> + +

+ + +

+ +

+ + +

+ +

+ + +

+ + +
+
+ + + diff --git a/user/login.php b/user/login.php index 7c892e8..a927d02 100644 --- a/user/login.php +++ b/user/login.php @@ -4,8 +4,6 @@ require_once(TEMPLATES_PATH . "/header.php"); session_start(); $conn = new PDO($config['db']['dsn'], $config['db']['username'], $config['db']['password']); - -// Performing SQL query $query = "SELECT id, username, password FROM users WHERE username = '$_POST[username]'"; $result = $conn->query($query)->fetch(); diff --git a/user/register.php b/user/register.php new file mode 100644 index 0000000..fb9ed09 --- /dev/null +++ b/user/register.php @@ -0,0 +1,29 @@ +prepare("INSERT INTO users (username, password, email) VALUES (:username, :password, :email)"); +$query->bindParam(':username', $_POST['username']); +$query->bindParam(':password', $password); +$query->bindParam(':email', $_POST['email']); + +if($query->execute()) { + echo '

Registration successful

'; + $result = $conn->query("SELECT id, username, password FROM users WHERE username = '$_POST[username]'")->fetch(); + $_SESSION['user_name'] = $result['username']; + $_SESSION['user_id'] = $result['id']; +} else { + echo '

Registration failed

'; +} + +header("Refresh: 2; URL={$config['urls']['base']}"); + +require_once(TEMPLATES_PATH . "/footer.php"); +?> diff --git a/user/update.php b/user/update.php new file mode 100644 index 0000000..1fe291a --- /dev/null +++ b/user/update.php @@ -0,0 +1,37 @@ +prepare("UPDATE users SET username=:username, email=:email WHERE id={$_SESSION['user_id']}"); + $query->bindParam(':username', $_POST['username']); + $query->bindParam(':email', $_POST['email']); + + if($query->execute()) { + echo "

Account updated

"; + } else { + echo "

Account update failed

"; + } + + if($_POST['password'] != "") { + $password = password_hash($_POST['password'], PASSWORD_ARGON2I); + $query = $conn->prepare("UPDATE users SET password=:password WHERE id={$_SESSION['user_id']}"); + $query->bindParam(':password', $password); + + if($query->execute()) { + echo "

Password updated

"; + } else { + echo "

Password update failed

"; + } + } + +} + +header("Refresh: 2; URL=$_SERVER[HTTP_REFERER]"); +require_once(TEMPLATES_PATH . "/footer.php"); +?> -- cgit v1.2.1