I've checked my logs and tried to throw an error to find out what might be wrong but I'm not sure
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require ("classes/Register.php");
require ("classes/Database.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$getPassword = new Validation();
$activecode = isset($_GET['reset']) ? $_GET['reset'] : '';
$password = $repassword = "";
$password = "";
$post = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
$password = $post['password'];
$repassword = $post['repassword'];
$errors = array();
$fields = array(
'password' => array(
'validate' => 'validatePassword',
'message' => 'Password must be least 8 chars, at least one upper, one lower and one number and a special character',
'value' => $password
)
);
if(!Validation::validateRepeatPassword($password, $repassword))
{
$errors[] = ["name" => "repassword", "error" => "Passwords must match"];
}
foreach($fields as $key => $value)
{
$validation_result = $getPassword->{$value['validate']}($value['value']);
if(!$validation_result)
{
$errors[] = ['name' => $key, 'error' => $value['message']];
}
}
if(empty($errors))
{
try
{
$db = new Database;
$setPassword = "
UPDATE users SET password = :password
FROM users as u
INNER JOIN passwordHash AS p
p.userId = u.userId
WHERE p.userId = :activecode
";
$stmt = $db->prepare($setPassword);
$stmt->bindValue(':password', $password);
$stmt->bindValue(':activecode', $activecode);
$stmt->execute();
return (bool) $stmt->rowCount();
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(!$results = $stmt->fetch())
{
// id did not match
$errors[] = ["name" => "password", "error" => "Password update failed"];
}
else
{
$success = ["message" => "Password has been updated"];
/*delete here */
}
}
catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
}
}
header('Content-Type: application/json');
if (empty($errors))
{
echo json_encode($success);
}
else
{
echo json_encode(["errors" => $errors]);
}
(Added [code]...[/code]
tags ~ Mod.)