Я не могу понять, что я делаю неправильно - мне нужно дезинфицировать входные данные. Я применил все, что могу найти, чтобы удалить одинарные кавычки или апострофы. Это работает в других обстоятельствах, но не здесь. Он возвращает строку, в которой одиночные кавычки или апострофы заменяются обратными косыми чертами. (?? !!)Функция PHP str_replace не работает только с одной формой POST
функция:
function sanitize($data)
{
return strtolower(str_replace(['’',';',"'",':',"'","’",''','"',' ','`','delete','update','drop','create'], '', htmlspecialchars($data)));
}
Итак, если я представить в одну форму сказать, "Закусочная Джо", я получаю "Джо \ sdiner" вернулся. Мне нужно «joesdiner».
Я действительно не программист, поэтому прошу прощения, если это очевидно.
Редактировать:
Возможно, он находится на странице?
<form action="/test-breeding/" method="post">
First: <input type="text" name="first">
Second: <input type="text" name="second">
<input type="submit" name="submit" value="submit"/>
</form>
<br><br>
<?php
if(isset($_POST['submit']))
{
$first = sanitize($_POST['first']);
$second = sanitize($_POST['second']);
}
[Сочинения для меня] (https://3v4l.org/o1K3b) –
Попробуйте добавить мета кодовую в документ '' – Cyclonecode
Вы пытаетесь дезинформировать для вставки SQL? Если это так, есть лучшие способы сделать это. Посмотрите руководство по MySQL для подготовленных операторов: http://php.net/manual/en/mysqli.quickstart.prepared-statements.php – garrettmurray