Загрузка форм сайтов по кнопке

juniorspecialistphp
На сайте с 08.08.2010
Offline
25
705

Добрый день.

Есть задача - форма, на форму передаётся POST запросом данные, в эти данные входит массив с ссылками на сайты.Форма загрузилась и через функцию ПХП загрузился сайт из $mas[0], нажали на кнопочку "Следующий" загружается вместо него сайт $mas[1], нажали на кнопочку снова - $mas[2] и т.д.

		<html>		

<head>
<script>
function get_next_page(){
cur_next = parseInt(document.getElementById("next_page").value);
nexts = cur_next+1;
alert(nexts);
document.getElementById("next_page").value = nexts;
tmp=<?=next_page_go();?>;
}
</script>
</head>
<body>
<input type="hidden" name="next_page" id="next_page" value="0">
<input type="button" onclick="get_next_page()" value="Next site">
div id="div_next"></div>
</body>
</html>

Яваскриптом я делаю счётчик и нужно как-то передать значение следующей страницы в функцию "next_page_go" (функция next_page_go возвращает страничку сайта,как результат работы), чтобы функция знала какой сайт загрузить.Сейчас при загрузке формы почему-то сразу грузиться сайт "$mas[0]", хотя я не нажимал на кнопку.Помогите разобраться: 1)как передать значение счётчика в функцию ПХП, 2)как чтобы при загрузке формы не отрабатывала пхп функция, да она должна загружаться, но по нажатию кнопки, а сейчас она загружается без нажатия кнопки почему-то.

Пишу скрипты любой сложности на РНР. (http://elagin.su)
inse3t
На сайте с 08.05.2006
Offline
84
#1

1. post/get/etc

2. if(условие) функция();

3. формулируйте нормальные вопросы и предоставляйте весь код необходимый для понимания.

juniorspecialistphp
На сайте с 08.08.2010
Offline
25
#2

Тогда по другому скажу, шаг №1- передали POST запросом данные, загрузилась форма, все данные есть в POST массиве. Шаг №2 - нажимаем кнопочку - происходит передача данных из POST массива через json этому же файлу, Шаг №3 - получаем ответ от запроса и выводим результат в нужный div.

Вот так я отправляю массив POST текущему файлу, с параметром, что это именно запрос "json"

		<html>		

<head>
<script language="JavaScript">
function SendPOST(){
var data = document.getElementById('next_page').value;
var array_post ="<?=json_encode($_POST);?>";
ajaxSendPOST('process_posting.php','id_next_page='+encodeURI(data)+'&array_post='+encodeURI(array_post), SendCallback);
}
function SendCallback(answer) { var ans = ( '(' + answer + ')' );
// Преобразуем полученный в данных объект из текстового вида
document.getElementById('div_next').innerHTML=ans;
}
function ajaxSendPOST(xmlpage,data,callback)
{
var xmlh = null;
if(window.XMLHttpRequest)
xmlh = new XMLHttpRequest();
else
try
{ xmlh = new ActiveXObject('Msxml2.XMLHTTP'); }
catch(ex) { xmlh = new ActiveXObject('Microsoft.XMLHTTP'); }
if(xmlh)
{
xmlh.open('post', xmlpage, true);
xmlh.onreadystatechange = function(x) { if(xmlh.readyState==4) callback(xmlh.responseText); }
xmlh.setRequestHeader("Accept-Charset", "utf-8");
xmlh.setRequestHeader("Accept-Language","ru, en");
xmlh.setRequestHeader("Connection", "close");
xmlh.setRequestHeader("Content-length", data.length); // Длинна отправляемых данных
xmlh.setRequestHeader("Content-type", "application/json");
xmlh.send(data); // Именно здесь отправляются данные
}
}
</script>
</head>
<body>
<input type="hidden" name="next_page" id="next_page" value="0">
<input type="button" onclick="javascript:SendPOST()" id="bb1" value="Next site">
<div id="div_next"></div>
</body>
</html>

В функции ПХП получаю таким образом данные

$data=json_decode($_REQUEST['post_masiv']);

не получается передать POST массив таким образом и соответственно, не получается вывести результат в нужный div. Подскажите что делаю не так, кто разбирается с Аяксом.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий