Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Formular Submit funktioniert nicht mit TWebBrowser ?! (https://www.delphipraxis.net/25919-formular-submit-funktioniert-nicht-mit-twebbrowser.html)

inzzi 14. Jul 2004 22:57


Formular Submit funktioniert nicht mit TWebBrowser ?!
 
Hi leute!

Hab ein problem mit dem Submit button eines Login Formulars.
Die Werte für username und passwort werden bereits richtig eingetragen und (ich denke) auch submitted...
aber sobald der submit befehl kommt wird die selbe seite wieder angezeigt! ..

kann mir da jemand helfen!?


Delphi Code:

Delphi-Quellcode:
procedure TForm1.MM_connectClick(Sender: TObject);
var WebForm: Variant;
begin
  WB_Game.Navigate('http://www.castleguard.de');
  while WB_Game.ReadyState <> READYSTATE_COMPLETE do
    begin
      Application.ProcessMessages;
    end;

  if WB_Game.OleObject.Document.all.tags('FORM').Length <> 0 then
    begin
      WebForm := Form1.WB_Game.OleObject.Document.Forms.item(0);
      WB_Game.OleObject.Document.forms.item(0).elements.item('username').value:='user';
      WB_Game.OleObject.Document.forms.item(0).elements.item('password').value:='pass';
      WB_Game.OleObject.Document.Forms.item(0).submit;
    end;
end;

HTML Code
Code:
<form method="post" action="user_login.php">
     <table id="nob" width="50%" align="center">
     <tr>
      <td id="nob" width="100%">
       Username


       <input type="text" name="username" size="15">


       Passwort


       <input type="password" name="password" size="15"><input type="submit" name="do_login" value="Login">
      </td>
      </tr>
    </table>
    </form>

keine ahnung warum das mit dem submitten bzw. einloggen nicht funtzt :(

plz help ... inzzi :)


(PS: Es wird kein Bot für ein Browsergame sondern nur ein Client (arbeit selbst am browsergame mit)...)

S2B 14. Jul 2004 23:12

Re: Formular Submit funktioniert nicht mit TWebBrowser ?!
 
Vielleicht hilft dir das weiter! :wink:

inzzi 14. Jul 2004 23:15

Re: Formular Submit funktioniert nicht mit TWebBrowser ?!
 
naja das ausfüllen geht ja...

nur der submit button will nicht so recht :(

supermuckl 14. Jul 2004 23:21

Re: Formular Submit funktioniert nicht mit TWebBrowser ?!
 
cookies ?!

inzzi 14. Jul 2004 23:23

Re: Formular Submit funktioniert nicht mit TWebBrowser ?!
 
Zitat:

Zitat von supermuckl
cookies ?!

was meinst du ?

scp 14. Jul 2004 23:32

Re: Formular Submit funktioniert nicht mit TWebBrowser ?!
 
Eine Hilfsfunktion:

Delphi-Quellcode:
function ExecuteScript(doc: IHTMLDocument2; script: string; language: string): Boolean;
var
  win: IHTMLWindow2;
  Olelanguage: Olevariant;
begin
  result := false;
  if doc <> nil then
  begin
    try
      win := doc.parentWindow;
      if win <> nil then
      begin
        try
          Olelanguage := language;
          win.ExecScript(script, Olelanguage);
          result := true;
        finally
          win := nil;
        end;
      end;
    finally
      doc := nil;
    end;
  end;
end;
Aufruf dann so:

Delphi-Quellcode:
var
  IDoc1: IHTMLDocument2;
begin
  WB_Game.Document.QueryInterface(IHTMLDocument2, iDoc1);
  ExecuteScript(iDoc1, 'document.' + 'forms[0]' + '.submit()', 'JavaScript');

inzzi 15. Jul 2004 00:02

Re: Formular Submit funktioniert nicht mit TWebBrowser ?!
 
hmm.. same problem .. auch mit der function...

hab jetzt mit meinem kollegen greded der php code zum game macht und er meinte es wird alles über eine $_POST variable oder wie das heisst (hab von php leider keine ahnung)

Code:
 if (isset($_POST['do_login'])) {
und danach kommt die abfrage ob der user vorhanden is, das pwd stimmt usw.


kanns daran liegen ??


edit:
das heisst somit auch das 'login.php?do_login=1' diese möglichkeit zb. nicht möglich ist. Ich glaub da liegt irgendwie mein problem...

scp 15. Jul 2004 00:36

Re: Formular Submit funktioniert nicht mit TWebBrowser ?!
 
Haste das mal probiert?
Delphi-Quellcode:
WB_Game.OleObject.Document.forms.item(0).elements.item('do_login').value:= 1;
Oder:
Delphi-Quellcode:
WB_Game.OleObject.Document.forms.item(0).elements.item('do_login').value:= '1';

inzzi 15. Jul 2004 19:07

Re: Formular Submit funktioniert nicht mit TWebBrowser ?!
 
ne geht auch ned ...

dann wird in die Caption von dem submit button '1' geschrieben :(

inzzi 15. Jul 2004 20:30

Re: Formular Submit funktioniert nicht mit TWebBrowser ?!
 
ok ich habs jetzt so gelöst das ich den click simuliert habe:

Delphi-Quellcode:
WB_Game.OleObject.Document.forms.item(0).elements.item('do_login').click;

trotzdem danke für die ganze hilfe :) ... :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz