替代$ _GET [“param”]来保持%0A换行符?

时间:2013-12-12 12:06:13

标签: php get

我正在通过目标网页上使用的URL从HTML表单发送信息。

这些信息中的一个是来自textarea的用户定义的消息,可能带有换行符。我将换行符编码为%0A

我想使用$var = $_GET["param"]检索邮件并存储在变量中,但当然$_GET会删除%0A并替换为空格,这会导致用户格式化。< / p>

我是否可以通过%0A或者转换为<br>来将变量输入变量。

谢谢你的帮助。


更新:这是代码

示例网址:

http://blahblahblah.com/thankyou.php?type=e&gift=1&remail=simon@shokstudio.com&rname=Simon&demail=simon@shokstudio.com&dname=Simon&msg=e.g.%20Dear%20Bob,%20%0A%0AMerry%20Christmas%20and%20a%20Happy%20New%20Year%20to%20you.%20I%20hope%202014%20brings%20you%20much%20joy%20and%20happiness%20to%20you%20and%20your%20loved%20ones.%0A%0ABest%20Wishes,%0A%0ADave%0A%0A%20

PHP处理网址:

         <?php

            if ( "e" == $_GET["type"]) :
                $gift_type = "Ecard";
            else :
                $gift_type = "PDF";
            endif;

            $gift_number = $_GET['gift'];

            $donor_name = $_POST['dname'];
            $donor_email = $_GET['demail'];

            $recipient_name = $_POST['rname'];
            $recipient_email = $_GET['remail'];

            $custom_text = $_POST['msg'];

            echo $_POST['msg'];

3 个答案:

答案 0 :(得分:1)

使用POST代替GET。这很好。

<强> form.php的

<form method="POST" action="my_form.php">
    <input type="text" name="param">
    <input type="submit">
</form>

<强> my_form.php

<?php
echo $_POST['param'];
?>

答案 1 :(得分:1)

您可以使用nl2brstr-replacepreg_replace。但要使用POST代替GET,这将是一种更好,更安全的解决方案。

答案 2 :(得分:0)

由于您使用的是带有文本区域的Web表单,我建议使用POST方法,然后使用$ _POST(或$ _REQUEST)变量。所有输入的数据都应该在那里,包含输入和所有特殊字符。