【发布时间】:2013-12-09 11:40:57
【问题描述】:
我有一个包含 textarea 的 html 表单,并且在提交时操作页面会验证 $_POST 值。
如果表单的任何部分为空/不正确,页面将被重定向回表单页面。为了避免用户再次输入所有数据,我已将所有 $_POST 值加载到 $_SESSION 变量中。
问题是当来自 textarea 的会话数据回显到 textarea 时,我得到 \r\n 应该在哪里换行。如果我使用nl2br(),它只会打印出<br />,与reg_replace 相同。
在使换行符正确显示之前,我应该对 $_SESSION 变量做些什么吗?
<textarea name="job_descript" class="tarea"
cols="40" rows="6" placeholder="Tell us about the job">
<?php
if(isset($_SESSION['DESCRIPT'])){
echo $_SESSION['DESCRIPT'];
unset($_SESSION['DESCRIPT']);
} ?></textarea>
function clean($str)
{
$str = trim($str);
if(get_magic_quotes_gpc())
{
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
$descript = clean($_POST['job_descript']);
$_SESSION['DESCRIPT'] = $descript;
【问题讨论】:
-
您能展示将数据放入会话的代码吗?我猜你正在以编码方式输入数据。 (使用
htmlspecialchars()或htmlentities()?) -
不幸的是我没那么先进。这是代码: $descript = clean($_POST['job_descript']);功能清洁($str){$str=修剪($str); if(get_magic_quotes_gpc()) { $str = stripslashes($str); } 返回 mysql_real_escape_string($str); } $_SESSION['DESCRIPT'] = $descript;
-
不要尝试将代码放在评论中...只需编辑您的问题并将其放在那里,或使用一些 pastebin/phpfiddle 站点。
-
对不起,把代码放在问题里