Как да субмитна форма от самото PHP ?

13 отговора 490 прегледа
#1

Как да субмитна форма от самото PHP ?

Искам да субмитна форма към даден URL по GET или POST без намесата на потребителя и без да я пращам до броузера му и да я субмитвам с джава-скрипт. Има ли начин субмитването да стане от самото PHP ?

..:: каквото и да ти говорят, знай че става дума за пари ::..

Редактирано от rmk на

Отговор
в отговор на rmk #2

Re: Как да субмитна форма от самото PHP ?

//PostToHost("[линк]","/path/script","abc=123&def=456");
function PostToHost($host, $path, $data_to_send) {
$fp = fsockopen($host,80);
fputs($fp, "POST $path HTTP/1.1\n");
fputs($fp, "Host: $host\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
fputs($fp, "Content-length: ".strlen($data_to_send)."\n");
fputs($fp, "Connection: close\n\n");
fputs($fp, $data_to_send);
fclose($fp);
}

E tuk ni6to niama :[линк]
Отговор
в отговор на ro6avia #3

Re: Как да субмитна форма от самото PHP ?

Супер, много благодаря.

А дали ако сменя порта от 80 на 443 и ще пратя заявката към HTTPS вместо към HTTP ?

..:: каквото и да ти говорят, знай че става дума за пари ::..
Отговор
в отговор на rmk #4

Re:cURL

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"[линк]");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "field1=1&field2=2");
ob_start();
curl_exec ($ch);
ob_end_clean();
curl_close ($ch);

-----------------------
гърбавия ковчег ще го изправи
Отговор
в отговор на Дpeмeщ #5

Re:cURL

Това най-вероятно е добър вариант, но за съжаление нямам инсталиран този пакет на ПХПто при мен, а го няма инсталиран и на хостинг провайдера ми.

..:: каквото и да ти говорят, знай че става дума за пари ::..

Редактирано от rmk на

Отговор
в отговор на Дpeмeщ #6

Re:cURL

Тъй като ми трябва да субмитвам форма към HTTPS, реших да инклудна библиотеката "CURL" (или поне си мисля, че се опитах). Във файла php.ini сложих :
extension_dir = "c:\php\extensions"
и разкоментирах :
extension=php_curl.dll
за съжаление постигнах единствено ефекта, че като напиша php -m в промпт и ми се показва "curl" в списъка, но не мога да използвам командите curl_init(), curl_setopt(), .........
Резултата е : Call to undefined function: curl_init() in .......
Какво още трябва да направя.

..:: каквото и да ти говорят, знай че става дума за пари ::..
Отговор
в отговор на rmk #7

Re:cURL

сложил ли си DLL за OpenSSL във system folder i system32 folder ?

-----------------------
гърбавия ковчег ще го изправи
Отговор
в отговор на Дpeмeщ #8

Re:cURL

Kопирал съм всички файлове от
c:\php\dlls
в
c:\windows\system32

а какъв е този DLL за OpenSSL ?

..:: каквото и да ти говорят, знай че става дума за пари ::..

Редактирано от rmk на

Отговор
в отговор на rmk #9

Re:cURL

libeay32.dll, ssleay32.dll

-----------------------
гърбавия ковчег ще го изправи
Отговор
в отговор на Дpeмeщ #10

Re:cURL

Еми тези двата файла са от :
c:\php\dlls
и са копирани в
c:\windows\system32

btw с WinXP съм.

..:: каквото и да ти говорят, знай че става дума за пари ::..
Отговор
в отговор на rmk #11

Re:cURL

В документацията на PHP пише много интересни неща :

In order to use the CURL functions you need to install the CURL package. PHP requires that you use CURL 7.0.2-beta or higher. PHP will not work with any version of CURL below version 7.0.2-beta. From PHP version 4.2.3 you will atleast need CURL version 7.9.0 or higher.

Ами аз свалих версия 7.10.5

To use PHP's CURL support you must also compile PHP --with-curl[=DIR] where DIR is the location of the directory containing the lib and include directories. In the "include" directory there should be a folder named "curl" which should contain the easy.h and curl.h files. There should be a file named libcurl.a located in the "lib" directory. Beginning with PHP 4.3.0 you can configure PHP to use CURL for url streams --with-curlwrappers.

Тук обаче изобщо не разбирам какво трябва да се направи, какво да компилирам, php.exe ли има нужда от прекомпилиране ?!!?!?

Ако някой някога е подкарвал този CURL пакет нека помогне pls.

..:: каквото и да ти говорят, знай че става дума за пари ::..
Отговор
в отговор на rmk #12

Re:cURL

няма нужда да компилираш, правиш uncomment на php_curl.dll в php.ini копираш 2 DLL-а в директория която е в PATH и тръгва.

-----------------------
гърбавия ковчег ще го изправи
Отговор
в отговор на Дpeмeщ #13

Re:cURL

Тръгна след като копирах и php.ini в директория "на път"

..:: каквото и да ти говорят, знай че става дума за пари ::..
Отговор
в отговор на rmk #14

Re: Как да субмитна форма от самото PHP ?

mislia 4e niama da stabe

tova ne taboti sas https-ta :-)

viz curl

E tuk ni6to niama :[линк]
Отговор