Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][cURL]formularz mail
Forum PHP.pl > Forum > Przedszkole
WktorDARK
Witam,
Mam problem z formularzem kontaktowym postawiłem stronkę na darmowym hoście bez reklam i niestety owy host nie ma aktywnej funkcji mail() oraz smtp, są zablokowane :/
PHP znam jako tako podstawy niestety :/
Umiem przystosować czyjeś gotowce do potrzeb lecz z cURL mam problem.
Mam gotowy formularz który bym se wstawił na inny host gdzie jest obsługa mail() oto on:
formularz.php
PASTEBIN_formularz

recaptchalib.php
PASTEBIN_recaptchalib

Na mojej stronie curl działa chciałem innymi sposobami lecz zablokowane są register_globals, allow_url_fopen.
Niestety nie potrafię napisać nic w cURL by se z tym poradzić może ktoś z was ma chęć z dobroci serca pomóc i coś skrobnąć lub pokazać oco w tym chodzi.

ps. formularz ma recaptcha i tym bardziej nie wiem jak opanować pod to cURL sad.gif tak samo komunikaty o błędnie wypełnionych polach sad.gif
b4rt3kk
Najprościej to tak, musisz najpierw zwalidować informacje wprowadzone do formularza na tym swoim darmowym serwerze, jeśli wszystko ok, to nawiązać połączenie ze stroną, na której masz formularz i te dane przesłać POST'em.

  1. $ch = curl_init();
  2. curl_setopt($ch, CURLOPT_URL, 'http://strona_z_formularzem.pl');
  3. curl_setopt($ch, CURLOPT_POSTFIELDS,'zmienna1='.urlencode($zmienna1).'&zmienna2='.urlencode($zmienna2)); // i tak dalej, zależy ile masz pól formularza
  4. curl_setopt($ch, CURLOPT_POST, 1);
  5. curl_setopt($ch, CURLOPT_HEADER, 0);
  6. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  7. curl_setopt($ch, CURLOPT_COOKIEJAR, str_replace('\\','/',dirname(__FILE__)).'/cookie.txt');
  8. curl_setopt($ch, CURLOPT_COOKIEFILE, str_replace('\\','/',dirname(__FILE__)).'/cookie.txt');
  9. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  10. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"); // user agent, jeśli jest to konieczne
  11. curl_setopt($ch, CURLOPT_REFERER, "http://referer"); // referer jeśli jest to konieczne
  12. $page = curl_exec($ch); // wykonanie
WktorDARK
Przykładów widziałem setki i nic z tego nie rozumiem.
b4rt3kk
Cytat(WktorDARK @ 29.11.2012, 18:58:40 ) *
Przykładów widziałem setki i nic z tego nie rozumiem.


To nie wiem na jaką pomoc liczysz jeszcze? Post wyżej masz podane jak na tacy, wystarczy uzupełnić swoimi danymi.
WktorDARK
Tak żem czuł że ten temat będzie jednym z martwych jak to forum.
wNogachSpisz
To forum jest martwe? Nowy topic co 10 minut i martwe? smile.gif
b4rt3kk
Cytat(WktorDARK @ 30.11.2012, 23:36:19 ) *
Tak żem czuł że ten temat będzie jednym z martwych jak to forum.


Przecież napisałem Ci co masz zrobić.

1. Formularz odbierający dane $_POST umieszczasz na serwerze z działającą funkcją mail
2. Tworzysz podobny formularz na swojej stronie
3. Przeprowadzasz walidację danych z formularza na swojej stronie
4. Dane wysyłasz POST'em za pomocą curla do formularza z pkt pierwszego

Gotowego skryptu Ci nie napiszę, tzn. owszem mogę, ale to już za odpowiednią stawkę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.