php и js вопрос

1. Славик (09.08.2010 / 23:56)
данным кодом передаю данные
<script language="javascript" type="text/javascript" src="../style/js.js"></script>
<script type="text/javascript">
function send(){

    var frm = document.mybonus;
        var bonus_type = '';

    for (var i=0;i < frm.elements.length;i++) {
        var elmnt = frm.elements[i];
        if (elmnt.type=='text') {
            if(elmnt.checked == false){ bonus_type = elmnt.value; break;}
        }
    }

        var ajax = new tbdev_ajax();
        ajax.onShow ('');
        var varsString = "";
        ajax.requestFile = "videocopy.php";
        ajax.setVar("url", bonus_type);
        ajax.method = 'POST';
        ajax.element = 'ajax';
        ajax.sendAJAX(varsString);
}
</script>




<div id="quotes" class="example">
<h3 style="color: #1b4f88"> загрузчик</h3>
<blockquote>

<div id="loading-layer" style="display:no ne;font-family: Verdana;font-size: 11px;width:200px;height:50px;background:#FFF;padding:10px;text-align:center;border:1px solid #000">
        <div style="font-weight:bold" id="loading-layer-text">Загрузка. Пожалуйста, подождите...</div><br />
        <img src="pic/loading.gif" border="0" />
</div>
<div id="ajax">
<form action="videocopy.php" name="mybonus" method="post">
<input type="text" name="bonus_id" value="" /></center></td></tr>
               <tr><td colspan="5"><input type="submit" onClick="send(); return false;" value="Обменять" /></td></tr>
        </form>
</table>
</div>

</blockquote>
далее -->

2. Славик (09.08.2010 / 23:59)
потом в форму засовываю код
<ifrahjkme src="http://vkontakte.ru/video_ext.php?oid=26723872&id=148028691&hash=a9f6ca9cf4ca8240" width="607" height="360" frameborder="0"></iframe>
и получаю массив не с одной переменно url а
Array ( [url] => 148028691 [hash] => a9f6ca9cf4ca8240\" width )
сам вопрос как сделать чтоб все данные были в одной переменной?(js код выдрал из другого двига

3. Славик (10.08.2010 / 01:45)
помогите плиз

4. Александр (10.08.2010 / 09:18)
можно этот архив на выходе преобразовать в строчку, как вариант.
сек.
Пример: http://mail66.org/test/25/
function implode_array($a) {
    $first = true;
    $output = '';
    foreach($a as $key => $value) {
        if ($first) {
            $output = '?'.$key.'='.$value;
            $first = false;
        } else {
            $output .= '&'.$key.'='.$value;   
        }
    }
    return $output;
}


5. Славик (10.08.2010 / 13:08)
приветсти та можно но не все передается

6. Александр (10.08.2010 / 13:24)
[удалено]

7. Александр (10.08.2010 / 13:28)
а, понял.

8. Александр (10.08.2010 / 13:48)
Тебе нужно вернуть из той хрени "http://vkontakte.ru/video_ext.php?oid=26723872&id=148028691&hash=a9f6ca9cf4ca8240" ? или еще что?

9. Славик (10.08.2010 / 14:25)
8. Сказочник, в принципе да, было бы проще. счас я выдераю "http://vkontakte.ru/video_ext.php?oid=26723872&id=148028691&hash=a9f6ca9cf4ca8240" регуляркой) но при работе с js вообще как то криво передается все

10. Славик (10.08.2010 / 14:34)
смотри если я просто вставлю в форму
<ifrahjkme src="http://vkontakte.ru/video_ext.php?oid=26723872&id=148028691&hash=a9f6ca9cf4ca8240" width="607" height="360" frameborder="0"></iframe>
нажму отправить и в другом скрипте пропишу
print_r($_POST);
то получю вместо всего
Array ( [url] => 148028691 [hash] => a9f6ca9cf4ca8240\" width )
мне вот от этого нужно избавиться
и получить вот такое
array ([url]=> <ifrahjkme src="http://vkontakte.ru/video_ext.php?oid=26723872&id=148028691&hash=a9f6ca9cf4ca8240" width="607" height="360" frameborder="0"></iframe>)


11. Олег (10.08.2010 / 15:11)
А передача происходит ajax-запросом?

12. Славик (10.08.2010 / 15:13)
да
 ajax.requestFile = "videocopy.php"; 
        ajax.setVar("url", bonus_type); 
        ajax.method = 'POST';


13. Олег (10.08.2010 / 15:14)
Да, ajax'ом. Не увидел выше

14. Олег (10.08.2010 / 15:22)
на самом деле все в одной post переменной ипередается. Просто кавычки не экранируются
<?
if(!empty($_POST))
{
	$str = htmlspecialchars($_POST['bonus_id']);
	print_r($str);

}
?>
или нужно парсить строку на переменные?

15. Славик (10.08.2010 / 15:44)
Notice: Undefined index: bonus_id in D:\VertrigoSrv\www\user\videocopy.php on line 17
if(!empty($_POST))
{
    print_r($_POST);//вывод всего что есть в массиве

}
мне выдает Array ( [url] => 148028778 [hash] => 83fc1d0f2febd097\" width )

16. Славик (10.08.2010 / 15:55)
потом получаю подругому
if(!empty($_POST))
{
     $str = htmlspecialchars($_POST['hash']);
    print_r($str);
}
и мне естественно выводит 83fc1d0f2febd097\" width!
запрос был
<iframe src="http://vkontakte.ru/video_ext.php?oid=26723872&id=148028778&hash=83fc1d0f2febd097" width="607" height="360" frameborder="0"></iframe>


17. Олег (10.08.2010 / 16:21)
Хм. Это на локальном компьютере? Посмотри исходный код html-документа, или ЭКРАНИРУЙ слеши перед выводом

18. Славик (10.08.2010 / 17:01)
17. Aligan, да на локалке, если без ява скрипта то все передается корректно, мне ява скрипт нужен чтоб пользователь не пустую станицу видел во время копирования а ява скриптом генерировалась надпись пожалуйста подождите

19. Олег (10.08.2010 / 17:12)
Ты меня запутал. На чем ты сейчас остановился, и что конкртено нужно? У тебя подключен файл js.js, в котором описан класс для работы с ajax?

20. Славик (10.08.2010 / 17:41)
да, подключен

21. Олег (10.08.2010 / 17:53)
выложи его сюда.

22. Славик (10.08.2010 / 18:08)
http://upwap.ru/985913

23. Славик (10.08.2010 / 18:09)
смотри если я передаю просто через форму данные то они передаются как положенно.
а если к форме прекручен ява скерипт как в 1м посте то получается полная каша

24. Олег (10.08.2010 / 20:40)
У тебя не экранируются кавычки, возможно.попробуй экранировать переменную переданную post-запросом addslashes()

URL: https://visavi.net/topics/12438