Loading...
Нужно экранировать $_POST['email'] перед передачей в бд или выводом в браузер ? Типа echo htmlspecialchars($_POST['email']);
php
elseif(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))

________
посл. ред. 18.12.2023 в 22:29; всего 8 раз(а); by SNEG
SNEG (18 дек 2023, в 2:34)
Нужно экранировать $_POST['email'] перед передачей в бд или выводом в браузер ? Типа echo htmlspecialchars($_POST['email']);
php
elseif(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
Перед выводом да, нужно все данные, которые были введены пользователем
SNEG , перед, передачей в бд, зачем экранировать? Тв на выводе это делаешь
Да, нужно экранировать $_POST['email'] перед передачей в бд или выводом в браузер. Экранирование символов предотвращает выполнение вредоносного кода, который может быть введён в форму.

В вашем примере, функция htmlspecialchars() экранирует все специальные символы в строке, такие как <, >, &, " и '. Это необходимо, чтобы предотвратить инъекции HTML, JavaScript или других вредоносных кодов в браузер.

Функция filter_var() проверяет, является ли строка допустимым адресом электронной почты. Если строка не является допустимым адресом электронной почты, то она не будет экранирована.

В идеале, экранирование следует выполнять в обоих случаях, перед передачей в бд и перед выводом в браузер.

Вот пример того, как можно экранировать $_POST['email'] перед передачей в бд:
php
$email = htmlspecialchars($_POST['email']);

// ...

// Перед передачей в бд
$stmt = $db->prepare("INSERT INTO users (email) VALUES (?)");
$stmt->bind_param("s", $email);
$stmt->execute();

Вот пример того, как можно экранировать $_POST['email'] перед выводом в браузер:
php
$email = htmlspecialchars($_POST['email']);

// ...

// Вывод в браузер
echo "Ваш адрес электронной почты: $email";
Лара (18 дек 2023, в 23:03)
SNEG , перед, передачей в бд, зачем экранировать? Тв на выводе это делаешь
php
if(mysqli_query($mysqli, "INSERT INTO `".DB_PREFIX."_users` SET `email` = '".$_POST['email']."'"))

Да не нужно , возьму так и оставлю )) потом чего отсос Петрович пришёл всему .tap.
php
<?php

$email = filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL);

if ($email) {
// success
}

________
посл. ред. 19.12.2023 в 01:03; всего 2 раз(а); by PTS
PTS (19 дек 2023, в 0:50)
php
<?php

$email = filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL);

if ($email) {
// success
}
Таким не пользуюсь))
SNEG (19 дек 2023, в 1:43)
Таким не пользуюсь))
ну я пользуюсь поэтому и предложил как вариант
Онлайн: 3
Время:
Gen. 0.1161
(c) Bym.Guru 2010-2025