@0ldn0mad

Как изменить данные из формы и вернуть их снова в массив?

Есть функция, которая принимает в себя данные из $_POST и помещает их в базу

function addTask($addData){
		$db = new PDO("mysql:dbname=test; host=localhost", "root", "root");
		$sql = "INSERT INTO tasks (name, task) VALUES (:name, :task)";
		$statement = $db->prepare($sql);
		$statement->execute($addData);
	}


Хотелось бы прикрутить сюда жернова проверки и при необходимости изменения данных,

if(isset($_POST["name"])):
			$namePost = trim($_POST["name"]);
			$namePost = strip_tags($namePost);
			$namePost = htmlspecialchars($namePost,ENT_QUOTES);
			$namePost = stripslashes($namePost);
		endif;


а потом снова вернуть в массив такого же вида как и у $_POST, с той целью, чтобы не менять изначальную функцию. Как это правильно скомпоновать?
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
НЕ ХОТЕЛОСЬ БЫ.
Все эти идиотские "жернова" выкинуть на помойку.

Вместо этого лучше сделать нормальную функцию из того адова спагетти, которое у тебя сейчас.

function addTask($db, $name, $task){
    $sql = "INSERT INTO tasks (name, task) VALUES (?,?)";
    $statement = $db->prepare($sql);
    $statement->execute([$name, $task]);
  }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mzcoding
@mzcoding
Web-Разработка
Ну так с исходным массивом и работать
$_POST['name'] = trim($_POST['name']; 
....
$_POST['name'] = stripslashes($_POST['name']);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы