IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   формы и данные (http://www.imho.ws/showthread.php?t=107768)

uerter 31.08.2006 18:15

формы и данные
 
простой пример,
есть форма данные
и есть на пару ресурсов еше несколько похожих форм, как сделать так чтобы данные из этой формы передались в те формы не переходя по ним?
надеюсь правельно выразился :(

Псих 31.08.2006 18:19

uerter
А те формы находятся в твоих скриптах?
Кста, тема не раз обсуждалась!

uerter 01.09.2006 13:03

формы находится на других

тоесть,
есть сервера
http://test1.com/request.php
http://test2.com/order/request.php
http://test3.com/request.php
http://test4.com/request.php

request.php идентичен на всех ....
я хочу создать у себя на сайте файл которые отправляет вводимые данные на все эти request.php и возвращает ответ тоесть послано то или нет..

Псих 01.09.2006 13:06

uerter
Еще раз.. скрипты все принадлежат тебе?

uerter 01.09.2006 13:40

ДА! просто мне приходится делать одну и туже работу несколько раз ...
хочу оптимизировать

Псих 01.09.2006 14:04

Одно из самых простых решений юзать что-то типа RoboForm или запоминалок в браузерах!

Если это надо реализовать с помощью скриптов
то во всех елементах в поле value указуй следующее:
PHP код:

<form action="<?=$_SERVER["PHP_SEFL"]?>" method="post">
<input type="text" name="name" value="<?=$_GET["name"]?>" />
</form>

И тогда, остается дело за малым, написать скрипт, который будет генерировать GET запрос к нужному скрипту с нужными полями. Стало быть этот скрипт может постоянно генерить одни и те же данные для н-го кол-ва скриптов.

А если ты хочешь, чтобы из одной формы ты сразу посылал запрос в другую, то просто указываешь:
PHP код:

<form action="request.php"


uerter 01.09.2006 15:07

да, но мнедо сделать это таким образом чтобы я отмечал тесайты куда я хотелбы посылать эти данные.
тоесть на против каждого я ставлю галочку и нажимаю субмит, далее оно просто выдает
test1.com - OK
test2.com - OK
......

тоесть мне недано постоить форму с определенными данными ...
мне надо засубмитить сормЫ с теми данными которые я посылаю

Псих 01.09.2006 15:46

uerter
вижу вариант реализации только используя js для добавления нужного кол-ва input полей, и вводом в поля связки имя поля - значение

С последующей генерацией запросов к выбранным формам

uerter 01.09.2006 15:52

ну тады фенкс за совет...
попробуем может с ajax-ом получется что-то подобное замутить

Псих 01.09.2006 15:58

uerter
А причем тут аякс?

uerter 01.09.2006 16:11

а если просто передать данные методом пост при помощи аякса то думаю подойдет

но вот нарыл еше один вариант передавать при помощи пхп курлом
CURLOPT_POST, устанавливаем единицу и как говорится "вперед братцы"

Псих 01.09.2006 16:48

uerter
С курлом если разобраться то очень удобно работать.
А в остальном, ты просто усложняешь себе работу! Аякс тут не причем. Пост запрос разве можно только с помощью аякса сгенерировать?

Между прочим аякс между доменами не работает

uerter 01.09.2006 17:05

тогда вот к чему я пришол, для общего сведения
PHP код:

$url="http://test.com/test.php";
$ch curl_init();
curl_setopt($chCURLOPT_URL$url);
curl_setopt ($chCURLOPT_POST1);
// передаем данные 
curl_setopt ($chCURLOPT_POSTFIELDS"fieldname=fieldvalue&aaaaa=qqdsfkgldslkgfjkl&");
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
$content curl_exec ($ch); 
curl_close ($ch);

echo 
$content;



файл test.php

if(!$_POST)
{
    echo 
'no data';
}
else
{
    echo 
'<pre>';
    
print_r($_POST);


вобщем хорошая штука... передаеш куда хочеш и сколько хочеш :yees:

Псих 01.09.2006 17:15

Ну тоже самое можно было сделать и без курла.
Тот же самый запрос
Цитата:

uerter:
"fieldname=fieldvalue&aaaaa=qqdsfkgldslkgfjkl&"
Можно было отправить с помощью формы или функции header().

uerter 01.09.2006 17:43

при помощи header() можешь дать пример?

Псих 01.09.2006 17:50

PHP код:

Header("Location: fieldname=fieldvalue&aaaaa=qqdsfkgldslkgfjkl&"); 


uerter 01.09.2006 18:42

тоже вариант!
но всетаки курл рулёз )) :beer:

Hubbitus 04.09.2006 15:09

А чем не устривает банальное:
PHP код:

<?
$answer 
file_get_contents("fieldname=fieldvalue&aaaaa=qqdsfkgldslkgfjkl&");
?>

???
Ну и в $answer уже сразу ответ сервера, распарсить и вывести результат...
CURL тоже очень хорошая вещь, можно с ним.

Цитата:

Псих:
Между прочим аякс между доменами не работает
Ну в общем случае да, это из-за настроек безопасности. Но некоторые решения - вполне, вот этот например -http://dklab.ru/lib/Subsys_JsHttpRequest/.

Псих 04.09.2006 17:11

Ну это уже не чистый аякс.. .Некоторые его зовут псевдоаяксом

Hubbitus 05.09.2006 10:51

Цитата:

Псих:
Ну это уже не чистый аякс..
Пусть "грязный" если хочешь :ржать: , зато работает, очень кроссбраузерно, не привязано к доменам, очень легко, очень удобно и функционально. А главное подходит для описываемого выше случая.

BoBka_altRUist 05.09.2006 18:01

а нельзя через сокеты зайти по ссылке,
передав параметры как GET?

uerter 05.09.2006 23:04

если не ошибаюсь ті что-то подобное искал
Цитата:

<?php
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$sourceips['kevin'] = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';
socket_bind($sock, $sourceips['madcoder']);
socket_connect($sock, '127.0.0.1', 80);
$request = 'GET / HTTP/1.1' . "\r\n" .
'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);
socket_close($sock);
// socket_write ( resource socket, string buffer [, int length] )
?>

uerter 12.09.2006 12:40

и так возвращаемся к нашим баранам))

вот что я накарякал
PHP код:

$values "val1=qqqqq&val2=wwww&val3=eeeee";
$ids "1,2,3,4,5,6,7,8,10,33,55,34,66";
$result mysql_query("select * from site_links where `id` in (".$ids.")");
     while(list(
$id$link)= mysql_fetch_array($result))
     {
        
$ch curl_init();
        
curl_setopt ($chCURLOPT_POST1);
        
curl_setopt ($chCURLOPT_TIMEOUT40);
        
curl_setopt($chCURLOPT_URL$link);
        
curl_setopt ($chCURLOPT_POSTFIELDS$values);
        
$content curl_exec ($ch);
        
curl_close ($ch);
     } 

вроде гуд
но всетаки наверное нужна другая альтернатива
ну оч долго выполняется ((

можете что-то другео предложить?
может какой-то пример на яваскрипт?
а то данный скрипт иногда ошибку кидает и предлогает сохранить файл где он сам выполняется ((

Hubbitus 12.09.2006 22:38

Чтобы быстрее можно рпедложить реализовать это многопоточно делать (если нужно очень и есть возможность).

Если нужно на стороне клиента все-таки, то повторяю, нужно тогда подписывать скрипты, и без запроса и разрешения пользователя не обойтись. Для ИЕ ActiveX.

uerter 22.09.2006 13:52

вот в этом и есть проблема!
не хотелось мне привязыватся к определенному типу клиента
вот в конце к чему я пришол
PHP код:

        $ch curl_init();
        
curl_setopt ($chCURLOPT_URL$link);
        
curl_setopt ($chCURLOPT_POST1);
        
curl_setopt ($chCURLOPT_TIMEOUT4);
        
curl_setopt ($chCURLOPT_HEADER1);
        
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
        
curl_setopt ($chCURLOPT_POSTFIELDS$values);
        
$content curl_exec ($ch);
        
curl_close ($ch); 

просто прекрасно все работает!
около 70 сайтов за 100 сек


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

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.