Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Automatyzacja formularza na zew. serwerze ;-)
Forum PHP.pl > Forum > PHP
My4tic
Sprawa wygląda w ten sposób ze pewien formularz zbiera dane w trzech krokach.
1. pobiera dane i przekazuje do 2, ktore wczytuje nastepne dane i przekazuje do 3. W 3 wczytujemy kolejne dane i przekazujemy do skryptu, który wykonuje na nich okreslone czynnosci.

Chodzi o to ze musze czesto wklepywac podobne dane kilka razy i chciałbym zeby działo sie to automatycznie. Zeby wyglądało to tak, jakbym kliknął w pole formularza "dalej"

Chciałem zrobić tak: (pliki lezą na innym serwie do którego nie mam dostepu)

- strona z 3 ramkami > wszycho musi być w jednym oknie bo JS sprawdza patterna i wywala jak jest cos nie tak.
- w pierwszej ramce ładuje sie pierwszy formularz i JS wypełnia pola. Chciałem zrobić <BODY onLoad="java script:maxShip('ship210');"> ale bez dostepu do pliku ta metoda chyba odpada.
- i teraz jakos trzeba zrobić zeby wyglądało na to ze ja kliknalem w "dalej"
- przekazanie wartosci do kolejnego pliku, wypelnienie pol itd.

Nie mam pojecia czy w ogole mozna cos takiego zrobic - ale pewnie tak ;-) Bede wdzieczny za wskaznie "drogi" i wszelkie sugestie. Moze troche niejasno opisałem sprawe ale mam nadziej ze sobie poradzicie :-)
eS...
Cytat
Sprawa wygląda w ten sposób ze pewien formularz zbiera dane w trzech krokach.
1. pobiera dane i przekazuje do 2, ktore wczytuje nastepne dane i przekazuje do 3. W 3 wczytujemy kolejne dane i przekazujemy do skryptu, który wykonuje na nich okreslone czynnosci.

Do tego momentu rozumiem posziadasz 3 stronicowy fromularz zbierający dane i chcesz
Cytat
Zeby wyglądało to tak, jakbym kliknął w pole formularza "dalej"

?
Nie znam się na JS ale mając czasem z nim styczność, nie widziałęm takiej funkcji, co to za funkcja
Kod
javascript:maxShip('ship210');


Cytat
przekazanie wartosci do kolejnego pliku, wypelnienie pol itd.

?
Proponuje:
-pokazać ten formularz/skrypt
-zadać pytanie jeszcze raz i po polkiemu tak żeby wszycho można było zrozumieć

a wtedy możesz
Cytat
mam nadziej ze sobie poradzicie :-)


musiałem ...
TomASS
Dane z poprzedniego formularza (strony) możesz trzymać:

1. W sesji:

na drugiej stronie masz:
  1. <?php
  2.  
  3. $_SESSION['dana_z_poprzedniej_sesji'] = $_POST['dana']; //moze tez byc GET
  4.  
  5. ?>


i w ostatecznym skrypcie (końcowym)
  1. <?php
  2.  
  3. $dana_z_form1 = $_SESSION['dana_z_poprzedniej_sesji'];
  4.  
  5. ?>


2. W ukrytych inputach:

Masz formularz:
  1. <form action="nastepna_strona.php" method="POST">
  2. <input type="text" name="textA_strona2">
  3. <input type="text" name="textB_strona2">
  4. <input type="text" name="textC_strona2">
  5. <input type="text" name="textD_strona2">
  6. <input type="hidden" name="dana_z_poprzedniej_sesji" value="<?echo $_POST['dana'];?>"
  7. <input type="submit">
  8. </form>


Pozdrawiam serdecznie
My4tic
------ EDIT -----

Ok. już z większością sobie poradziłem.

Pozostało tylko automatyczne kliknięcie w "dalej" tak jakby to zrobił user. Mozna napisać jakis skrypcik w php/js który to zrobi np dwie sekundy po załadowaniu strony?

W body mozna dać:

Kod
<body onload="javascript:autoclick;">


tylko jak napisać funkcje która to zrobi?? smile.gif Grzebie w google od godziny ale nei moge znalezc nic coby mi pomogło.


------ /EDIT -----

Postaram sie to napisać jaśniej :-)

Chodzi o napisanie swoistego 'bota' który bedzie zachowywał sie jak user. Wchodzi na strone, klika w odpowiedni link, przechodzi przez 3 stonnicowy formularz wpisując jednoczesnie do niego dane, które wczesniej będą ustale przeze mnie i kończy swoją prace.

1. kilknięcie w pierwszy link:


wyświetla sie formularz:

  1. <form action="flotten2.php?session=numer_sesji" method="POST">
  2. <table width="519" border="0" cellpadding="0" cellspacing="1">
  3. <tr height="20">
  4. <td colspan="4" class="c">Nowa misja: Wybierz flotę do misji</td>
  5. </tr>
  6. <tr height="20">
  7. <th>Nazwa statku</th>
  8. <th>Liczba</th>
  9. <!-- <th>Gesch.</th> -->
  10. <th>-</th>
  11. <th>-</th>
  12. </tr>
  13. <tr height="20">
  14. <th><a title="Prędkość: 15000">Duży transporter</a></th>
  15. <th>22<input type="hidden" name="maxship203" value="22"/></th>
  16. <!-- <th>15000 -->
  17. <input type="hidden" name="consumption203" value="50"/>
  18. <input type="hidden" name="speed203" value="15000" /></th>
  19. <input type="hidden" name="capacity203" value="25000" /></th>
  20. <th><a href="javascript:maxShip('ship203');" >max.</a> </th>
  21. <th><input name="ship203" size="10" value="0" alt="Duży transporter 22"/></th>
  22. </tr>
  23. <tr height="20">
  24. <th><a title="Prędkość: 25000">Lekki myśliwiec</a></th>
  25. <th>154<input type="hidden" name="maxship204" value="154"/></th>
  26. <!-- <th>25000 -->
  27. <input type="hidden" name="consumption204" value="20"/>
  28. <input type="hidden" name="speed204" value="25000" /></th>
  29. <input type="hidden" name="capacity204" value="50" /></th>
  30. <th><a href="javascript:maxShip('ship204');" >max.</a> </th>
  31. <th><input name="ship204" size="10" value="0" alt="Lekki myśliwiec 154"/></th>
  32. </tr>
  33. <tr height="20">
  34. <th><a title="Prędkość: 28000">Okręt wojenny</a></th>
  35. <th>8<input type="hidden" name="maxship207" value="8"/></th>
  36. <!-- <th>28000 -->
  37. <input type="hidden" name="consumption207" value="500"/>
  38. <input type="hidden" name="speed207" value="28000" /></th>
  39. <input type="hidden" name="capacity207" value="1500" /></th>
  40. <th><a href="javascript:maxShip('ship207');" >max.</a> </th>
  41. <th><input name="ship207" size="10" value="0" alt="Okręt wojenny 8"/></th>
  42. </tr>
  43. <tr height="20">
  44. <th><a title="Prędkość: 0">Satelita słoneczny</a></th>
  45. <th>75<input type="hidden" name="maxship212" value="75"/></th>
  46. <!-- <th>0 -->
  47. <input type="hidden" name="consumption212" value="0"/>
  48. <input type="hidden" name="speed212" value="0" /></th>
  49. <input type="hidden" name="capacity212" value="0" /></th>
  50. <th></th>
  51. <th></th>
  52.  
  53. <tr height="20">
  54. <th colspan="4"><input type="submit" value="Dalej" /></th>
  55. </tr>
  56. <tr><th colspan=4>
  57. </th></tr>
  58. </form>


po kliknięciu w dalej przechodzimy do:

  1. <form action="flotten3.php?session=b576060ade59" method="POST">
  2. <input name="thisgalaxy" type="hidden" value="5" />
  3. <input name="thissystem" type="hidden" value="371" />
  4. <input name="thisplanet" type="hidden" value="11" />
  5. <input name="thisplanettype" type="hidden" value="1" />
  6. <input name="speedfactor" type="hidden" value="1" />
  7. <input name="thisresource1" type="hidden" value="254820" />
  8. <input name="thisresource2" type="hidden" value="103191" />
  9. <input name="thisresource3" type="hidden" value="75762" />
  10. <input type="hidden" name="ship207" value="8" />
  11. <input type="hidden" name="consumption207" value="500" />
  12. <input type="hidden" name="speed207" value="28000" />
  13. <input type="hidden" name="capacity207" value="1500" />
  14. <tr height="20">
  15. <td colspan="2" class="c">Wyślij flotę</td>
  16. </tr>
  17. <tr height="20">
  18. <th width="50%">Cel</th>
  19. <th>
  20. <input name="galaxy" size="3" maxlength="2" onChange="shortInfo()" onKeyUp="shortInfo()" value="5" />
  21. <input name="system" size="3" maxlength="3" onChange="shortInfo()" onKeyUp="shortInfo()" value="371" />
  22. <input name="planet" size="3" maxlength="2" onChange="shortInfo()" onKeyUp="shortInfo()" value="11" />
  23. <select name="planettype" onChange="shortInfo()" onKeyUp="shortInfo()">
  24. <option value="1">Planeta</option>
  25. <option value="2">PZ (Pola Zniszczen)</option>
  26. <option value="3">Księżyc</option>
  27. </select>
  28. </tr>
  29. <tr height="20">
  30. <th>Prędkość</th>
  31. <th>
  32. <select name="speed" onChange="shortInfo()" onKeyUp="shortInfo()">
  33. <option value="10">100</option>
  34. <option value="9">90</option>
  35. <option value="8">80</option>
  36. <option value="7">70</option>
  37. <option value="6">60</option>
  38. <option value="5">50</option>
  39. <option value="4">40</option>
  40. <option value="3">30</option>
  41. <option value="2">20</option>
  42. <option value="1">10</option>
  43.  
  44. </select> %
  45. </th>
  46. </tr>
  47. <tr height="20">
  48. <th>odległość</th><th><div id="distance">-</div></th>
  49. </tr>
  50. <tr height="20">
  51. <th>Czas trwania (odcinek)</th><th><div id="duration">-</div></th>
  52. </tr>
  53. <tr height="20">
  54. <th>Zużycie</th><th><div id="consumption">-</div></th>
  55. </tr>
  56. <tr height="20">
  57. <th>Max. prędkość</th><th><div id="maxspeed">-</div></th>
  58. </tr>
  59. <tr height="20">
  60. <th>Ładowność</th><th><div id="storage">12000</div></th>
  61. </tr>
  62. </tr>
  63.  
  64. <tr height="20">
  65. <th colspan="2">
  66. <input type="submit" value="Dalej" />
  67. </th>
  68. </tr>
  69. </form>


kilkanmy dalej i:

  1. <form action="flottenversand.php?session=numer_Sesji" method="POST">
  2. <input name="thisgalaxy" type="hidden" value="5" />
  3. <input name="thissystem" type="hidden" value="371" />
  4. <input name="thisplanet" type="hidden" value="11" />
  5. <input name="thisplanettype" type="hidden" value="1" />
  6. <input name="speedfactor" type="hidden" value="1" />
  7. <input name="thisresource1" type="hidden" value="254979" />
  8. <input name="thisresource2" type="hidden" value="103260" />
  9. <input name="thisresource3" type="hidden" value="75801" />
  10. <input name="galaxy" type="hidden" value="5" />
  11. <input name="system" type="hidden" value="371" />
  12. <input name="planet" type="hidden" value="11" />
  13. <input name="planettype" type="hidden" value="1" />
  14.  
  15. <input type="hidden" name="ship204" value="154" />
  16. <input type="hidden" name="consumption204" value="20"/>
  17. <input type="hidden" name="speed204" value="25000" />
  18. <input type="hidden" name="capacity204" value="50" />
  19. <input type="hidden" name="speed" value="10" />
  20.  
  21. <tr height="20" align="left">
  22. <td class="c" colspan="2">5:371:11 - Planeta</td>
  23. </tr>
  24. <tr valign="top" align="left">
  25. <th width="50%">
  26. <table width="259" border="0" cellpadding="0" cellspacing="0" >
  27. <tr height="20">
  28. <td class="c" colspan="2">Misja</td>
  29. </tr>
  30. <tr height="20">
  31. <th>
  32. <input type="radio" name="order" value="3">Transport<br />
  33. </th>
  34. </tr>
  35. <tr height="20">
  36. <th>
  37. <input type="radio" name="order" value="4">Stacjonuj<br />
  38. </th>
  39. </tr>
  40. </table>
  41. </th>
  42. <th>
  43. <table width="259" border="0" cellpadding="0" cellspacing="0">
  44. <tr height="20">
  45. <td colspan="3" class="c">Surowce</td>
  46. </tr>
  47. <tr height="20">
  48. <th>Metal</th>
  49. <th><a href="javascript:maxResource('1');">max</a></th>
  50. <th><input name="resource1" type="text" alt="Metal 254974" size="10" onChange="calculateTransportCapacity();" /></th>
  51. </tr>
  52. <tr height="20">
  53. <th>Kryształ</th>
  54. <th><a href="javascript:maxResource('2');">max</a></th>
  55. <th><input name="resource2" type="text" alt="Kryształ 103258" size="10" onChange="calculateTransportCapacity();" /></th>
  56. </tr>
  57. <tr height="20">
  58. <th>Deuter</th>
  59. <th><a href="javascript:maxResource('3');">max</a></th>
  60. <th><input name="resource3" type="text" alt="Deuter 75799" size="10" onChange="calculateTransportCapacity();" /></th>
  61. </tr>
  62. <tr height="20">
  63. <th>Reszta</th>
  64. <th colspan="2"><div id="remainingresources">-</div></th>
  65. </tr>
  66. <tr height="20">
  67. <th colspan="3"><a href="javascript:maxResources()">Wszystkie surowce</a></th>
  68. </tr>
  69.  
  70. <tr height="20">
  71. <th>&nbsp; </th>
  72. </tr>
  73.  
  74.  
  75. </table>
  76. </th>
  77. </tr>
  78. <tr height="20" >
  79. <th colspan="2"><input type="submit" value="Dalej" /></th>
  80. </tr>
  81. </form>


kilkamy dalej i wszystkie dane przekazywane są do flottenversand.php który wykonuje operacje.

Jeszcze raz zaznaczam ze nie mam dostępu do plików. Wszystko musi być postawione na moim serwerze lub localu.

Chciałem odarzu przekazać odpowiednio wypełnieony URL do flottenversand.php ale niestety okazało sie ze trzeba przejsc wszystkie trzy kroki - pewnie zapisywane jest coś w sesji.

Słyszałem juz o botach logujących sie na rózne strony czy np skaczące po linkach i zbierające maile więc takie coś pewnie tez mozna napisać tylko nie wiem czy to jest na moje siły :-)
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.