$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
$password = filter_input(INPUT_POST, 'password');
if (empty($name) || empty($password)) {
echo 'Please enter user name and password';
exit;
}
$name = trim($name);
$passwordHash = password_hash($password);
try {
$pdo = new PDO(sprintf('mysql:host=%s;dbname=%s', 'хост', 'название БД'), 'имя', 'пароль');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$statement = $pdo->prepare('
SELECT *
FROM `Users`
WHERE `name` = :name
AND `password` = :password');
$statement->execute([':name' => $name, ':password' => $passwordHash]);
$user = $statement->fetch(PDO::FETCH_ASSOC);
if (null === $user) {
echo 'User is not found :(';
exit;
}
} catch (Exception $e) {
echo 'Database error: ' . $e->getMessage();
exit;
}
setcookie('user', $user['name'], time() + 3600, '/');
setcookie('email', $user['email'], time() + 3600, '/');
setcookie('members', $user['count_members'], time() + 3600, '/');
header('Location: ../php-blocks/home.php');
$s = '<img alt="Лечение пищевой аллергии у детей" src="/sites/default/files/users/user1/3541810h2_l-min.jpg" style="float:right; height:299px; width:448px">';
$o = preg_replace('/(<img\s.*\ssrc=".*?)h2_(.*?)"/', '$1p_$2', $s);
echo $o . PHP_EOL;
1) Запрашивает ВСЕ записи из таблицы database,
2) Выбирает ПЕРВУЮ запись из возвращенного набора,
3) Сравнивает неизвестно какое поле из этой записи (кстати, а где объявлена константа name?) с "переменной, которая выводит строку",
4) Если они равны, запрашивает ВСЕ записи из таблицы documents,
5) Выбирает ПЕРВУЮ запись из возвращенного набора,
6) $value2 присваиваете значение неизвестно какого поля из этой записи (где объявлена константа name?)
Еще, к чему вот эти "$word", "$value2"? Нельзя ли просто $word, $value2?
Короче, берите учебник по PHP и учите, а не любите мозг другим людям.