Php $ _POST метод для получения значения textarea - PullRequest
11 голосов
/ 28 сентября 2011

Я использую 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>

Я ввожу некоторые имена и их адреса электронной почты в текстовое поле, и каждый раз, когда я повторяю значение или текстовое поле, оно пропускает адрес электронной почты, и только отображение имени позволяет мне показывать способ ввода значения в текстовое поле

"name1" <name@email.com>, "name2" <name2@email.com> 

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

Ответы [ 8 ]

36 голосов
/ 28 сентября 2011

Всегда (всегда, всегда , я не шучу ) используйте htmlspecialchars():

echo htmlspecialchars($_POST['contact_list']);
8 голосов
/ 28 сентября 2011

Убедитесь, что вы экранировали символы 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

2 голосов
/ 11 августа 2015

Использование 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']);
0 голосов
/ 03 июля 2019

это очень просто.Просто напишите свой код значения php между тегами textarea.

<textarea id="contact_list"> <?php echo isset($_POST['contact_list']) ? $_POST['contact_list'] : '' ; ?> </textarea>
0 голосов
/ 10 октября 2015
//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
0 голосов
/ 07 октября 2015

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

Ошибка при использовании $ _POST с текстовой областью

0 голосов
/ 10 августа 2015

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

<?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>
0 голосов
/ 26 октября 2014

Удалите часть вашего класса 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]'), поэтому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...