Ответ 1
Всегда (всегда, всегда, я не шучу) используйте htmlspecialchars()
:
echo htmlspecialchars($_POST['contact_list']);
Я использую php для получения значения textarea с помощью метода post, но получаю странный результат, чтобы я мог показать вам свой код
<form method="post" action="index.php">
<textarea id="contact_list" name="contact_list"></textarea>
<input type="submit" name="submit" value="Send" id="submit"/>
</form>
Я ввожу некоторые имена и их адрес электронной почты в текстовое поле, и каждый раз, когда я повторяю значение или textarea, он пропускает адрес электронной почты и только показывает имя, позвольте мне показать, как я ввожу значение в textarea
"name1" <[email protected]>, "name2" <[email protected]>
и как только я буду эхом использовать php, он будет только эхо-имя и пропустит адрес электронной почты.
Всегда (всегда, всегда, я не шучу) используйте htmlspecialchars()
:
echo htmlspecialchars($_POST['contact_list']);
Убедитесь, что вы избегаете символов HTML
например.
// Always check an input variable is set before you use it
if (isset($_POST['contact_list'])) {
// Escape any html characters
echo htmlentities($_POST['contact_list']);
}
Это произойдет из-за угловых скобок и браузера, которые считают их тегами.
Смотрите: http://php.net/manual/en/function.htmlentities.php
Используйте htmlspecialchars()
:
echo htmlspecialchars($_POST['contact_list']);
Вы даже можете улучшить обработку формы, разделив все теги strip_tags()
и удалите все пробелы с помощью trim()
:
function processText($text) {
$text = strip_tags($text);
$text = trim($text);
$text = htmlspecialchars($text);
return $text;
}
echo processText($_POST['contact_list']);
Удалите часть вашего класса textarea, например
<textarea name="Address" rows="3" class="input-text full-width" placeholder="Your Address" ></textarea>
Для
<textarea name="Address" rows="3" class="full-width" placeholder="Your Address" ></textarea>
Это зависит от вашего шаблона (приобретенный шаблон).
Разработчик включил некоторый JavaScript, чтобы получить значение от правильного объекта в пользовательском интерфейсе,
но класс вроде input-text
просто находит только $('input[type=text]')
, поэтому.
Попробуйте использовать разные параметры идентификатора и имени, в настоящее время у вас одинаковые. Пожалуйста, перейдите по ссылке ниже для того же, это может вам помочь:
//My Form
<form id="someform">
<div class="input-group">
<textarea placeholder="Post your Comment Here ..." name="post" class="form-control custom-control" rows="3" style="resize:none"></textarea>
<span class="input-group-addon">
<button type="submit" name="post_comment" class="btn btn-primary">
Post
</button>
</span>
</div>
</form>
//your text area get value to URL
<?php
if(isset($_POST['post_comment']))
{
echo htmlspecialchars($_POST['post']);
}
?>
//print the value using get
echo $_GET['post'];
//url must be like this
http://localhost/blog/home.php?post=asdasdsad&post_comment=
//post value has asdasdsad so it will print to your page
это очень просто. Просто напишите свой код значения php между тегами textarea.
<textarea id="contact_list"> <?php echo isset($_POST['contact_list']) ? $_POST['contact_list'] : '' ; ?> </textarea>
Попробуйте следующее:
<?php /* the php */ ?>
<?php
if ($_POST['submit']) {
// must work
echo $_POST['contact_list'];
};
?>
<?php /* and the html */ ?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>teszt</title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<textarea id="contact_list" name="contact_list"></textarea>
<input type="submit" name="submit" value="Send" id="submit"/>
</form>
</body>
</html>