У меня следующая проблема. Я обновляю свою базу данных mysql, используя LSL. В базе данных есть соответствующая таблица и файл update.php с соответствующими настройками (протестировал его с помощью HTML-форм и php). Проблема в том, что запись добавлена, но в соответствующих полях нет значений.
string time;
string address;
string message;
integer num_left;
integer listen_handle;
default
{
state_entry()
{
llSay(0,"Touch to insert messages into DB");
}
touch_start(integer total_number)
{
key owner = llGetOwner();
string name = llKey2Name(owner);
integer strlength = llStringLength(message);
string url = "http://antima.freehostia.com/update.php?";
float timing = llGetTime(); //Instead getting, and then resetting the time, we could use llGetAndReset() to accomplish the same thing.
llResetTime();
//time = (string)timing;
time = "12:23";
address = "here";
message = "This is a test of url";
num_left = 12;
url += time;
url += address;
url += message;
url += "12";
//url += (string)num_left;
llHTTPRequest(url, [HTTP_METHOD, "POST"], "");
}
}
Обновление
Я изменил код на:
time = "12:23";
address = "here";
message = "This is a test of url";
num_left = 12;
url += "id" + id;
url += "&" + time;
url += "&" + address;
url += "&" + message;
url += "&" + "12";
но у меня проблема с получением данных с помощью POST. На стороне PHP я использую это для получения значений:
$data = $_POST;
$var = explode("&", $data);
$time = $var[1];
$address=$var[2];
$message=$var[3];
$num_left=$var[4];
однако что-то все еще не так (я думаю, на этот раз со стороны PHP), и добавлена еще одна пустая запись Я проверил ответ, предоставленный LSL, просто набрав:
$data = "http://antima.freehostia.com/update.php?&12:23&here&This is a test of url&12";
и это сработало.
Как я могу получить всю строку из $ _POST без указания имен полей и сохранить ее в переменной $ data? Может быть, это что-то легко, но я не мог ничего найти. Большая часть PHP использует некоторые поля формы и формы.