Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   передача массива через POST в PHP (http://www.flasher.ru/forum/showthread.php?t=118281)

Ar4ibald 19.11.2008 18:31

передача массива через POST в PHP
 
Всем привет. Есть одна проблемма. Есть форма отправки, которая работает через PHP. Поля этой формы передаються просто прекрасно, а вот массив как-то не понятно. Не могу виделить элементы массива.
Подскажите, что не правильно сделал.

Код AS1/AS2:

this.ok_btn.onPress = function ()
{
 
 
    LO = new LoadVars();
        LO.nazva = [];
        LO.koli4 = [];
        LO.cena = [];
 
 
        for (i=0; i<_root.array_cart.length; i++){
        LO.nazva.push(_root.array_cart[i].title);
        LO.koli4.push(_root.array_cart[i].quantity);
        LO.cena.push(_root.array_cart[i].price);
 
}
 
        LO.name_txt=text_field_1.text;
        LO.mail = text_field_2.text;
        LO.phone = text_field_3.text;
          LO.commentt = text_field_6.text;
        LO.summ = _root.allsum;
 
 
    LO.sendAndLoad("http://lirnikband.com/flash/send2.php",LO, "POST");
 
 
 
};


Рабочий скрипт отправки на PHP, который нашел на этом форуме.
PHP код:

<?php
if( !isset($_POST) || count($_POST) == 0 ) die("&result=no data");

// конвертируем пост данные из utf в win1251
mb_convert_variables("windows-1251", "utf-8", $_POST);

// тема письма
$sabject = "Тема письма";

// тело письма
$body = <<<TXT
От кого : {$_POST['name_txt']},
Телефон : 
{$_POST['phone']},
E-mail : 
{$_POST['mail']},
Сообщение :
{$_POST['commentt']}
TXT;

// заголовки
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/txt; charset=windows-1251\r\n";
$headers.= "From: Официальный сайт группы 'Lirnik Band' <http://lirnikband.com>\r\n";


foreach (
$_POST['nazva'] as $row){
$body .= $row."<br />";}

foreach (
$_POST['koli4'] as $row2)
$body .= $row2."<br />";

foreach (
$_POST['cena'] as $row3)
$body .= $row3."<br />";



if( 
mail("company@avt-group.com.ua", $sabject, $body, $headers) )
    print 
"&result=done";
else
    print 
"&result=fault";
?>

Дело в том что нужно в тело письма добавить элементы массива. А не добавляеться

iNils 19.11.2008 18:37

Все данные идут в виде строк. Соответственно надо массив преобразовать в строку.

Ar4ibald 19.11.2008 18:44

А как потом по элементам массива разбить? Вот задача.
Так если все данные пришли в виде строк, то зачем массив переобразовывать в строку?
Спасибо за ответ.

iNils 19.11.2008 19:13

через строка.split

Ar4ibald 19.11.2008 19:58

У меня массив во флеше, строкой он в php являеться. Может я просто не понимаю о чем речь идет?
Постараюсь понять:
Есть массив во флеше, я его передаю в php, он там становиться строкой.
Теперь мне надо в php сделать со строки массив с помощью функции split в php.
Я надеюсь я правильно понял? Если да, то спасибо за помощь - буду разбираться дальше.

urasfinks 19.11.2008 20:28

Всё передаётся через строку.
Пример во Flash:
Код:

str="";
del="##";
for(i=0;i<array.length();i++)
{
  str+=array[i]+del;
}

теперь у вас эта страка в php
код php:
Код:

//$str-переданная строка
$del="##";
$new_array=explode(del,str);

и наоборот
только в php соединение в строку implode("##",$array);во флэше разделение string.split()...или антоним split() забыл что то! =)


Часовой пояс GMT +4, время: 09:51.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.