我正在通过目标网页上使用的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'];
答案 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)
您可以使用nl2br或str-replace或preg_replace。但要使用POST
代替GET
,这将是一种更好,更安全的解决方案。
答案 2 :(得分:0)
由于您使用的是带有文本区域的Web表单,我建议使用POST方法,然后使用$ _POST(或$ _REQUEST)变量。所有输入的数据都应该在那里,包含输入和所有特殊字符。