2015-07-27 4 views
0

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

<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> 

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

ответ

1

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

+0

addlashes и htmlentities тоже не помогли! – Europeuser

+0

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

+0

Да, он публикует мой текст ввода> но благодаря вам и #error я исправил проблему, спасибо! – Europeuser

0

попробовать этот

<?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

я уже пробовал на вершине nextpage.php, чтобы избежать его, как это $ _POST [ 'ИМЯ_ВЫХОДА'] = htmlspecialchars ($ _ POST [ 'ИМЯ_ВЫХОДА'); но это не работает – Europeuser

+0

actualy $ name = addslashes ($ _ POST ['input_name']); работал :), спасибо! – Europeuser

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>