Form Automatisch ausfüllen lassen, mit Session und Cookie!
GTA26
- php
0 dedlfix
Hallo Leute, hab wiedermal ein wenig ärger mit PHP "PEAR"
Nämmlich geht es darum ein externes Formular Automatisch auszufüllen und per
Get Methode zu verschicken. Wie es aussieht muss eine Session aufgebaut
und ein paar cookiedaten mitgeschickt werden, damit das versendete Formular
angenommen wird. Ansonst wird es nicht verschickt.
Nun ist die Frage wie ich das mit PEAR Realisieren kann.
Wie kann ich diese Session ID für den PEAR HTTP_Client übernehmen?
Und wie sag ich PEAR das er das cookie übergeben soll?
Hab schon etliches versucht doch nichts hat geklappt :-(
Folgende Angaben:
_____________________________________________________________________________
Form Angaben zur HTML Seite
-----------------------------------------------------------------------------
<form enctype="multipart/form-data" method="post" action="mail.html">
<input type="hidden" value="735834" name="n"/>
<input type="hidden" value="1" name="sendmail"/>
<td>Dein Name</td>
<input type="text" size="30" name="name"/>
<td>Dein E-Mail Adresse</td>
<input type="text" size="30" name="sender"/>
<td>Betrifft</td>
<input type="text" size="30" value="Ciao lacapital" name="subject"/>
Deine Nachricht
<textarea rows="20" cols="60" name="text"/>
<input type="submit" value="senden" name="senden"/>
</form>
_____________________________________________________________________________
[b]Da die Cookies die beim aufrufen der seite Generiert werden[/b]
-----------------------------------------------------------------------------
2 cookies
Name ebNewBandWidth_.name.ch
Value 5634%3A1208882396015
Host .meinbild.ch
Path /
Secure No
Expires Wed, 22 Apr 2009 16:39:56 GMT
Name mbuser
Value 1207170454742
Host .name.ch
Path /
Secure No
Expires Thu, 22 May 2008 16:43:58 GMT
_________________________________________________________________________________
[b]Beim Verschicken des Forms wird Folgendes gemacht
Generiert mit Live HTTP header[/b]
---------------------------------------------------------------------------------
http://name.ch/mail.html
POST /mail.html HTTP/1.1
Host: name.ch
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://name.ch/mail.html?n=735834&send=E-Mail+senden
Cookie: ebNewBandWidth_.name.ch=5634%3A1208882396015; mbuser=1207170454742
Content-Type: multipart/form-data; boundary=---------------------------71502876728530
Content-Length: 759
-----------------------------71502876728530
Content-Disposition: form-data; name="n"
735834
-----------------------------71502876728530
Content-Disposition: form-data; name="sendmail"
1
-----------------------------71502876728530
Content-Disposition: form-data; name="name"
Name
-----------------------------71502876728530
Content-Disposition: form-data; name="sender"
Adresse
-----------------------------71502876728530
Content-Disposition: form-data; name="subject"
Ciao lacapital
-----------------------------71502876728530
Content-Disposition: form-data; name="text"
Textfeld
-----------------------------71502876728530
Content-Disposition: form-data; name="senden"
senden
-----------------------------71502876728530--
HTTP/1.x 200 OK
Date: Tue, 22 Apr 2008 16:47:35 GMT
Server: Apache/2.2.4 (Unix) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/4.4.6 with Suhosin-Patch
X-Powered-By: PHP/4.4.6
Set-Cookie: mbuser=1207170454742; expires=Sun, 13 Dec 2009 16:47:35 GMT; path=/; domain=.name.ch
Set-Cookie: mbuser=1207170454742; expires=Thu, 22 May 2008 16:47:35 GMT; path=/; domain=.name.ch
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
Ich währe um jede Hilfe dankbar :-(
echo $begrüßung;
Nämmlich geht es darum ein externes Formular Automatisch auszufüllen und per Get Methode zu verschicken.
Wenn die Namen der Felder und deren Inhalte bekannt sind, sollte HTTP_Client reichen.
Wie es aussieht muss eine Session aufgebaut und ein paar cookiedaten mitgeschickt werden, damit das versendete Formular angenommen wird. Ansonst wird es nicht verschickt.
Eine Session interessiert den Client nicht. Er sieht nur den Keks, den er wieder zurücksenden soll. Um an den Keks zu kommen musst du zuerst einen Request an den Server senden. HTTP_Client ist dafür ebenfalls geeignet.
Form Angaben zur HTML Seite
<input type="hidden" value="735834" name="n"/>
Das sieht so aus, als ob du auch noch den HTML-Code parsen musst, oder zumindest die Hidden-Werte extrahieren musst, wenn sich dieser für jeden Aufruf ändert. Wenn das nicht mit den üblichen Mitteln der Stringverarbeitung funktioniert, kannst du einen XML-Parser verwenden, wenn das Dokument wohlgeformt ist. Wenn nicht, bietet PEAR mit XML_HTMLSax(3) eine Parse-Möglichkeit.
echo "$verabschiedung $name";