Я использую 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" <name@email.com>, "name2" <name2@email.com>
и как только я буду эхом использовать 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']); }
Это произойдет из-за угловых скобок и браузера, считающих их тегами.
Используйте htmlspecialchars()
:
echo htmlspecialchars($_POST['contact_list']);
Вы даже можете улучшить обработку формы, strip_tags()
все метки на strip_tags()
и удалив все пробелы с помощью trim()
:
function processText($text) { $text = strip_tags($text); $text = trim($text); $text = htmlspecialchars($text); return $text; } echo processText($_POST['contact_list']);
Попытайтесь использовать разные параметры id и name, в настоящее время вы здесь же. Пожалуйста, перейдите по ссылке ниже для этого, это может вам помочь:
Проблема с использованием $ _POST с текстовым полем
//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
Удалите часть своего класса 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]')
, вот почему.
Попробуй это:
<?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>