Как правильно экранировать теги во входном тексте

выглядит как обычный вопрос, но не может найти правильное решение. допустим, у меня есть эта форма:

<form name="form" action="nextpage.php">
<input type="text" name="input_name" value="<?php echo $_POST['input_name'];?>" />
<input type="submit" name="submit" value="Next"/>
</form>

Например, если я добавлю «My input text>» в качестве значения ввода, nextpage.php будет поврежден.
Я пытался использовать для:value="<?php echo strip_tags($_POST['input_name']);?>" или же
:value="<?php echo htmlspecialchars($_POST['input_name']);?>" но ни один из них не работает .. Почему это и как этого избежать? Спасибо

0

Решение

Во-первых, вы должны санировать опубликованное значение в целях безопасности, но кроме этого, php предоставляет функцию, которая автоматически экранирует специальные символы, называемые addlahes. http://php.net/manual/en/function.addslashes.php, сохраните значение вашего поста в переменной, используя функцию addlashes, затем используйте переменную в качестве значения.

1

Другие решения

попробуй это

<?php
$_POST['input_name']="ddd";  ?>
<form name="form" method="POST" action="nextpage.php">
<input type="text" name="input_name" value="<?php echo $_POST['input_name'];?>" />
<input type="submit" name="submit" value="Next"/>
</form>

и в nextpage.php

<?php

$name=$_POST['input_name'];

echo $name;
0

Попробуй это:

<form name="form" action="nextpage.php" method="POST">
<input type="text" name="input_name" value="<?php echo $_REQUEST['input_name'];?>" />
<input type="submit" value="Next"/>

</form>
0
По вопросам рекламы [email protected]