выглядит как обычный вопрос, но не может найти правильное решение. допустим, у меня есть эта форма:
<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']);?>"
но ни один из них не работает .. Почему это и как этого избежать? Спасибо
Во-первых, вы должны санировать опубликованное значение в целях безопасности, но кроме этого, php предоставляет функцию, которая автоматически экранирует специальные символы, называемые addlahes. http://php.net/manual/en/function.addslashes.php, сохраните значение вашего поста в переменной, используя функцию addlashes, затем используйте переменную в качестве значения.
попробуй это
<?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;
Попробуй это:
<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>