Проверка кода активации
Мне нужно, чтобы при загрузке страницы выполнялась проверка кода в хэше и если код есть в базе, то отображался текст (например, при check.html#code=123). Как это можно сделать или как хотя бы гуглить, потому что авторизация с логином\паролем, как я понимаю, это немного другое.
Ответы (1 шт):
Автор решения: Давид Манжула
→ Ссылка
Ну, во первых, хеш не передается на сервер - эта часть доступна только c клиента. Поэтому полюбому придется отправлять ajax-запрос.
const contentContainer = document.querySelector("#someElement");
const code = location.hash.split("code=")[1];
if(code){
const endpoint = "/getMyData.php?code=" + code;
const result = await fetch(endpoint).then(response => response.text());
contentContainer.innerText = result;
}
getMyData.php может выглядить как-то так:
<?php
$code = $_GET["code"];
$code = preg_replace("/[^0-9A-Za-z_]/", "", $code);
$text = $gb->get("tableName", "text", [
"code" => $code,
]);
echo $text;
В этом примере я делал запрос в базу не с помощью прямого запроса, а использовал библиотеку Medoo. Это легковесная библиотека, которая упрощает работу с БД на php.