| |
|
|
| | Посылаю запрос аяксом:
request.open(meth,targ,true);
request.onreadystatechange = fun;
request.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
request.send(param);
|
Скрипт обрабатывает:
header('Content-Type: text/xml; charset=utf-8');
session_start();
include("../inc/module/init.php");
include("../inc/module/db_class.php");
$db1 = new db();
if ($_POST['mes'])
{
$db1->query("SELECT * FROM users WHERE id='{$_SESSION['id']}'");
$row = $db1->fetch();
$d = date("Y-m-d H:i:s");
$mes = htmlspecialchars($_POST['mes']);
$db1->query("insert into chat values ('{$row['login']}','$mes','$d','0')");
}
|
В БД не записываются символы "+".
В чем дело? | |
| |
|
|
| |
|
|
| |
для: MRE
(29.06.2007 в 11:22)
| | | как обрабатываем данные перед отправкой | |
| |
|
|
| |
|
|
| |
для: bronenos
(29.06.2007 в 11:47)
| | |
request.open(meth,targ,true);
request.onreadystatechange = fun;
request.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
request.send(param);
alert(param);
|
alert выдает все ок с плюсами | |
| |
|
|
| |
|
|
| |
для: MRE
(29.06.2007 в 12:23)
| | | Вместо "+" пишите "%2B". | |
| |
|
|
| |
|
|
| |
для: Unkind
(29.06.2007 в 12:48)
| | | Не помогло.
$mes = htmlspecialchars($_POST['mes']);
$mes = ereg_replace("+","%2B",$mes);
$db1->query("insert into chat values ('{$row['login']}','$mes','$d','0')");
|
| |
| |
|
|
| |
|
|
| |
для: MRE
(29.06.2007 в 15:49)
| | | Используйте не ereg_replace, a str_replace...
(или экранируйте "\+") | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(29.06.2007 в 16:09)
| | | Все равно не получилось. | |
| |
|
|
| |
|
|
| |
для: MRE
(29.06.2007 в 15:49)
| | | MRE, я имею ввиду не в обработчике, а при посылке данных (request.send(param);) | |
| |
|
|
| |
|
|
| |
для: Unkind
(29.06.2007 в 16:14)
| | | Че то все равно не выходит, может регулярку не правильно написал, уже разные перепробовал:
var pattern = /[+]?/g
if (temp.search(pattern))
temp = temp.replace(pattern,'%2B');
send_request("POST","php_/add_mes.php",chat,"mes="+temp);
|
| |
| |
|
|
| |
|
|
| |
для: MRE
(30.06.2007 в 15:04)
| | | temp = temp.replace (/\+/g, '%2B'); | |
| |
|
|
| |
|
|
| |
для: bronenos
(30.06.2007 в 15:57)
| | |
var pattern = /\+/g
if (temp.search(pattern))
temp = temp.replace(pattern,'%2B');
send_request("POST","php_/add_mes.php",chat,"mes="+temp);
|
Все равно не записываются в БД, уже не знаю что делать. | |
| |
|
|
| |
|
|
| |
для: MRE
(30.06.2007 в 16:48)
| | | убрал if (temp.search(pattern))
и заработало!!!
Спасибо всем! | |
| |
|
|