Проблема с simplexml_load_string

Alexandor1984

Новичок
Проблема с simplexml_load_string

Есть код
PHP:
<?php

mysql_connect("localhost", "root", "5") or die ("errorServer");
mysql_select_db("crm") or die("errorDB");

if ($_GET[data] != "")
{
	$xmlstr = $_GET[data];
	$xml = simplexml_load_string($xmlstr);
	
	foreach ($xml->task as $task)
	{
		$name = $task->name;
		$specification = $task->specification;
		$createDate = $task->createDate;
		$finishDate = $task->finishDate;
		$id_Priority = $task->id_Priority;
		$id_Employee = $task->id_Employee;
		$query = "INSERT INTO task (name_Task, specification_Task, createDate_Task, finishDate_Task, id_Priority, id_Employee) VALUES ('$name', '$specification', '$createDate', '$finishDate', '$id_Priority', '$id_Employee');";
		$result = mysql_query($query);
	}
	$result = mysql_error();
	if ($result == "")
	{
		print "OK";
	}
	else
	{
		print "$result";
	}
}

mysql_close ();

?>

Переменная $xmlstr получает данные в виде:
<tasks>
<task>
<idTask>1</idTask>
<name>Купитиь масла</name>
<specification>Найти магазин, достать денги ...</specification>
<createDate>11.11.2007</createDate>
<finishDate>11.12.2007</finishDate>
<id_Priority>0</id_Priority>
</task>
</tasks>

Проблема в том что если в тег <specification> поместить много текста, то сразуже появляються ошибки вида:
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : internal erro ...

Подскажите в чем проблема?
 
если у тебя проблема с simplexml, то зачем ты привет код, который помимо simplexml работает еще и с mysql, и с гетом, причем далеко не лучшим образом?
 
Подскажите, как мне привильно распарсить XML-ину и как ее правильно принять(гет, пост...)?

P.S.
На MySQL не обращайте внимания.
 
и еще, данные получает "в виде" или прямо такие и есть? где заголовок xml с указанием кодировки данных? в какой кодировке эти данные реально находятся?
 
Есть подозрение, что когда ты добавляешь много текста, то эти данные режутся браузером по ограничению на длину гета. советую тебе для начала убедиться что ты в PHP получаешь именно те данные, которые, как ты думаешь, отправляет браузер.

$_GET[data] -> $_GET["data"].

А парсишь ты и так правильно.

-~{}~ 17.04.07 13:26:

Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : internal erro ...
Кроме буквы r больше ничего под троеточием не сокрыто?
 
Вот полный текст ошибки.
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : internal error in C:\www\Apache2\htdocs\crm\php_files\addTask.php on line 9

И еще, я заметил, что чем длинее данные тем болшье подобних ошибок.
Я думаю, что всетаки данные приходят частями.

-~{}~ 17.04.07 10:57:

А мона узнать, что делает строка $_GET[data] -> $_GET["data"]?
А то не доходит.
 
эта строка делает твоими руками замену кода $_GET[data] на код $_GET["data"].

Я думаю, что всетаки данные приходят частями.
А я так не думаю. У фразы "приходят частями" несколько другой смысл, нежели у "данные режутся браузером". И это не должно особо влиять на кол-во ошибок.

Давай ты все таки сделаешь проверку, что ты передаешь правильные данные в simplexml_load_string().
 
Проверил. Приходит не весь текст, ну и закрывающиися теги отсутствуют.
Как с этим бороться?
 
со стороны браузера ограничений нету.
Со стороны ПХП - зависит от настроек: http://www.php.net/manual/en/ini.core.php#ini.post-max-size
 
Сверху