Метод Php $_POST для получения значения textarea

Я использую 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, он будет только эхо-имя и пропустит адрес электронной почты.

Ответ 1

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

echo htmlspecialchars($_POST['contact_list']);

Ответ 2

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

Ответ 3

Используйте 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']);

Ответ 4

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

Ответ 6

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

Ответ 7

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

<textarea id="contact_list"> <?php echo isset($_POST['contact_list']) ? $_POST['contact_list'] : '' ; ?> </textarea>

Ответ 8

Попробуйте следующее:

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