Я отправляю данные из формы в эту логику для регистрации пользователей. Вопрос, который у меня есть, заключается в том, как взять информацию, отправленную в переменную $ userpw в этой логике, и передать ее в токен, а затем вставить содержимое токена в db в качестве пароля пользователя. Я очень новичок в PHP, прошу прощаться со мной. я просто меняю инструкцию insert, чтобы включить переменную токена вместо userpw?
//---sanitize function on a different file.
require 'sanitize.php';
//-------------variables including the hashed token--------------
$userid = $username= $userpw = $userfname = $userlname = '';
$salt = "qm&h*";
$pepper = "pg!@";
$token = hash('ripemd128', "$salt$userpw$pepper");
//--------existing insert logic-------------
if (isset($_POST['user_name']) &&
isset($_POST['user_pw']) &&
isset($_POST['user_fname']) &&
isset($_POST['user_lname']))
{
$username = sanitizeString($_POST['user_name']);
$userpw = sanitizeString($_POST['user_pw']);
$userfname = sanitizeString($_POST['user_fname']);
$userlname = sanitizeString($_POST['user_lname']);
$query = "INSERT INTO users (user_name, user_pw, user_fname, user_lname) VALUES" .
"('$username', '$userpw', '$userfname', '$userlname')";
$result = $conn->query($query);
if (!$result) echo "INSERT failed: $query<br>" .
$conn->error . "<br><br>";
По комментариям это правильное изменение:
if (isset($_POST['user_name']) &&
isset($_POST['user_pw']) &&
isset($_POST['user_fname']) &&
isset($_POST['user_lname']))
{
$username = sanitizeString($_POST['user_name']);
$userpw = sanitizeString($_POST['user_pw']);
$userfname = sanitizeString($_POST['user_fname']);
$userlname = sanitizeString($_POST['user_lname']);
$query = "INSERT INTO users (user_name, user_pw, user_fname, user_lname) VALUES" .
"('$username', '$token', '$userfname', '$userlname')";
$result = $conn->query($query);
password_hash()
при сохранении пароля иpassword_verify()
при проверке пароля.