Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [cURL] Formularz nie wysyła się
Forum PHP.pl > Forum > PHP
Ravik
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.
mrWodoo
  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)
Ravik
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.
Krzysztofik
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!
Ravik
Jestem głupi... Dziękuję za pomoc.
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.