获取textarea值的Php $ _POST方法

时间:2011-09-28 11:32:41

标签: php post

我使用php来使用post方法获取textarea值但得到一个奇怪的结果让我告诉你我的代码

<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时它会跳过电子邮件地址,只显示名称让我显示我在textarea中输入值的方式

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

并且一旦我将使用php回复,它将只回显该名称并将跳过该电子邮件地址。

8 个答案:

答案 0 :(得分:35)

始终(始终始终,我是not kidding)使用htmlspecialchars()

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

答案 1 :(得分:7)

确保您转义HTML字符

E.g。

// 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 :(得分:2)

使用1

############## HTTP ################
#at least
http.host: localhost 
#preferrably disable http entirely. Http is unnecessary on the data nodes, since they communicate over the transport
http.enabled: false 

########### TRANSPORT ##############
# local only. Without this property everybody in the world can connect to your ES
transport.host: ["192.168.0.10","localhost"]

您甚至可以通过使用htmlspecialchars()剥离所有代码来改进表单处理,并使用strip_tags()删除所有空格:

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

答案 3 :(得分:0)

删除一些像

这样的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来从UI上获取正确对象的值, 但像input-text这样的类只找到$('input[type=text]'),这就是原因。

答案 4 :(得分:0)

尝试使用不同的id和name参数,目前在这里有相同的内容。请访问以下链接,这可能会对您有所帮助:

Issue using $_POST with a textarea

答案 5 :(得分:0)

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

答案 6 :(得分:0)

非常简单。只需在textarea标签之间编写php值代码即可。

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

答案 7 :(得分:-3)

试试这个:

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