gpt4 book ai didi

php - Chrome 和 Safari 中的文本区域,所有可见的换行符都发送到服务器

转载 作者:行者123 更新时间:2023-11-28 00:21:10 25 4
gpt4 key购买 nike

我在尝试使用 Chrome 和 Safari 将数据输入我的 mysql 数据库时遇到了一些麻烦。每当我从这些浏览器中的任何一个输入数据时,发送到数据库的数据都会显示 textarea 字段边缘所在的中断。因此,与其使用一长行文本,不如将其分成几行。

当数据进入数据库时​​,我正在运行 stripslashesstrip_tags。它在 FF 和 IE 中运行良好。

请看下面了解我的意思:

文本输入框:
http://www.redcontour.com/query/textarea_field.png

Chrome 和 Safari 数据库条目:
http://redcontour.com/query/Chrome_Safari_db_data.png

FF&IE 数据库条目:
http://redcontour.com/query/FF_IE_data.png

问题在于,我并不总是将用于宽度相似的 div 中的数据返回到它最初放入的 textarea 框中,因此看起来很奇怪数据没有运行整个 div 的宽度。

有什么想法吗?

POST UPDATED - 下面是数据被发送到数据库之前的验证,上面的例子是我输入的数据,我在浏览器的两个实验中没有做任何不同的事情,所以我不不知道链接中断是如何进入的。

// Create a function for escaping the data.
function escape_data ($data) {
global $dbc; // Need the connection.
if (ini_get('magic_quotes_gpc')) {
$data = stripslashes($data);
}
return mysql_real_escape_string($data, $dbc);
} // End of function.

// Check for about.
if (empty($_POST['about'])) {
$a = FALSE;
$message .= '<p>About you description missing.</p>';
} else {
$a = escape_data(strip_tags($_POST['about']));
}

用于输入数据的 HTML 代码。

<textarea class="ed_text_box" name="about" wrap="physical" rows="5" onKeyDown="textCounter(document.details.about,document.details.ed_text_box,500)" onKeyUp="textCounter(document.details.about,document.details.ed_text_box,500)">I'm a traveller at heart, having lived in Portugal and England. Love camping and getting away from it all, whether it's walking the Cornish coast or canoeing in the Brecon Beacons.</textarea>

文本计数器只会阻止用户将过多的副本放入字段中,我已经在没有它的情况下对其进行了测试,但我遇到了同样的问题。 CSS 也在下面,所以所有信息都可以在这篇文章中找到。

.ed_text_box {width:394px; border:1px solid #CCCCCC; padding:2px 2px 2px 2px; margin:0 0 20px 0; font-size:12px; font-family:Verdana, Arial, SunSans-Regular, Sans-Serif; font-weight:normal; color:#564b47;}

非常感谢任何帮助。

最佳答案

这些浏览器很可能响应 wrap="physical" <textarea /> 上的属性.根据THIS该属性是特定于 IE 的,对应于 wrap="hard" ,这意味着用户可见的换行符包含在发送到服务器的数据中。你想要的是 wrap="soft"行为,我很确定这是所有浏览器的默认设置——因此无需指定它。

虽然 Chrome 和 Safari 都不是 IE,并且您注意到 IE 工作正常,但我怀疑这仍然是您的问题。

关于php - Chrome 和 Safari 中的文本区域,所有可见的换行符都发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8779119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com