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