Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [cURL] Formularz nie wysyła się
Ravik
post 21.08.2012, 10:08:59
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 3
Dołączył: 8.05.2009

Ostrzeżenie: (0%)
-----


Witam,

Mam problem z poniższym skryptem do wypełniania formularza na innej stronie, gdyż formularz nie zostaje wysłany.

Poniżej skrypt odpowiadający za cURL. Dane do zmiennej $post są przerzucane poprawnie, zgodnie z nazwami pól w HTMLu (wszystko poniżej)

  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3.  
  4. require_once 'reader.php';
  5. $data = new Spreadsheet_Excel_Reader("odczyt.xls");
  6.  
  7. for ($i = 0; $i <= $data->sheets[0]['numRows']; $i++) {
  8. $id = trim($data->sheets[0]['cells'][$i][1]);
  9. $imie = trim($data->sheets[0]['cells'][$i][2]);
  10. $nazwisko = trim($data->sheets[0]['cells'][$i][3]);
  11. $email = trim($data->sheets[0]['cells'][$i][4]);
  12. $telefon = trim($data->sheets[0]['cells'][$i][5]);
  13. $pesel = trim($data->sheets[0]['cells'][$i][6]);
  14.  
  15.  
  16. $post = "imie=$imie&
  17. nazwisko=$nazwisko&
  18. pesel=$pesel&
  19. telefon=$telefon&
  20. email=$email&
  21. terms=1";
  22.  
  23.  
  24. $curl=curl_init();
  25. curl_setopt($curl, CURLOPT_URL, "tutaj_pełny_url");
  26. curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3');
  27. curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  28. curl_setopt($curl, CURLOPT_HEADER, 0);
  29. curl_setopt($curl, CURLOPT_POST, 1);
  30. curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
  31. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  32. curl_setopt($curl, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  33. curl_setopt($curl, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  34. $strona=curl_exec($curl);
  35. curl_close($curl);
  36.  
  37. echo "Poprawnie wysłano dane.";;
  38. }
  39.  
  40. ?>


A to kod formularza, który jest wypełniany:

  1.  
  2. <div id="fHead">
  3. <ul>
  4. <form action="receive.php" method="post" id="wniosekForm" accept-charset="utf-8" class="iform">
  5. <li><label for="imie">Imię</label><input type="text" id="imie" name="imie" class="required itext" minlength="2" /></li>
  6. <li><label for="nazwisko">Nazwisko</label><input type="text" id="nazwisko" name="nazwisko" class="required itext" minlength="3" /></li>
  7. <li><label for="email">Email</label><input type="text" id="email" name="email" class="itext required email" /></li>
  8. <li><label for="telefon">telefon</label><input type="text" id="telefon" name="telefon" maxlength="10" class="itext required digits" minlength="7" /></li>
  9. <li><label for="pesel">pesel</label><input type="text" id="pesel" name="pesel" class="itext required pesel" /> </li>
  10. <li><input type="image" value="Send Message" class="ibutton9 submit9" /></li>
  11. <p class="zgoda grid_21 "><input class="icheckbox required" type="checkbox" name="terms" name="opcja1" id="Option2" value="zgoda1" checked="checked">Zgoda
  12. </ul>
  13. </div>
  14.  
  15.  
  16. </form></div>


Skrypt pokazuje informację o poprawnym wysłaniu danych, a formularz nie jest wysyłany (pomimo tego, że działa poprawnie).

Będę wdzięczny za jakiekolwiek wskazówki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mrWodoo
post 21.08.2012, 14:12:23
Post #2





Grupa: Zarejestrowani
Postów: 160
Pomógł: 6
Dołączył: 13.01.2012
Skąd: Bytom

Ostrzeżenie: (0%)
-----


  1. curl_setopt($curl, CURLOPT_HEADER, 1);


i

  1. echo $strona;


i zobacz jaką masz odp. od serwera

a i ten 'pełny url' masz na receive.php? (tzn. żądanie cURL'a na ten adres)

Ten post edytował mrWodoo 21.08.2012, 14:13:30


--------------------
Go to the top of the page
+Quote Post
Ravik
post 21.08.2012, 15:19:09
Post #3





Grupa: Zarejestrowani
Postów: 95
Pomógł: 3
Dołączył: 8.05.2009

Ostrzeżenie: (0%)
-----


Odpowiedź od serwera

  1. HTTP/1.1 200 OK
  2. Date: Tue, 21 Aug 2012 14:17:50 GMT
  3. Server: Apache
  4. Last-Modified: Mon, 20 Aug 2012 15:58:44 GMT
  5. ETag: "510c119-544-4c7b4958e1500"
  6. Accept-Ranges: bytes
  7. Content-Length: 1348
  8. Vary: Accept-Encoding,User-Agent
  9. Content-Type: text/html


Nie, pełny URL wskazuje na formularz w htmlu.
Go to the top of the page
+Quote Post
Krzysztofik
post 21.08.2012, 15:46:25
Post #4





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 4.03.2009

Ostrzeżenie: (0%)
-----


Cytat(Ravik @ 21.08.2012, 16:19:09 ) *
Nie, pełny URL wskazuje na formularz w htmlu.



Pełny adres powinien wskazywać na skrypt, który dane przetworzy, nie na formularz!
Go to the top of the page
+Quote Post
Ravik
post 21.08.2012, 15:53:40
Post #5





Grupa: Zarejestrowani
Postów: 95
Pomógł: 3
Dołączył: 8.05.2009

Ostrzeżenie: (0%)
-----


Jestem głupi... Dziękuję za pomoc.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:55