Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi idHTTP status abfangen? (https://www.delphipraxis.net/10456-idhttp-status-abfangen.html)

Pseudemys Nelsoni 19. Okt 2003 04:00


idHTTP status abfangen?
 
hoi,

wenn ich ein formular ausfülle und abschicke muss ich irgendwie ein status bekommen, also entweder "nick existiert bereits" oder "nick erfolgreich registert". aber wie mache ich das?
ich habe es mal so gemacht:

Delphi-Quellcode:
procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  if AWorkCount = 1463 then
  ShowMessage('Nickname is already registered!');
end;
wenn ein nick registriert ist ist "AWorkCount" immer 1463...nur weiss ich nicht ob diese zahl auch wirklich der status ist, oder zufall.

SirThornberry 19. Okt 2003 08:34

Re: idHTTP status abfangen?
 
kann sein das ich mich täusche aber ich würde sagen workcount ist dafür da damit du weißt wieviel schon runtergeladen ist von der seite...

Pseudemys Nelsoni 19. Okt 2003 11:56

Re: idHTTP status abfangen?
 
ja, das kann sein, ich weiss nämlich nicht genau wozu onWork war, mir ist nur aufgefallen das die zahl immer 1463 war wenn der nick schon existierte. hm.... wie kann ich das sonst machen? wenn ich das per page mache und das formular bei www.cncreloaded.net ausfülle und abschicke kommt beim nächsten fenster das ergebnis, also das der nick registriert ist, oder schon existiert?

SirThornberry 19. Okt 2003 12:34

Re: idHTTP status abfangen?
 
das ergebnis von idhttp1.post / idhttp1.get nach dem string durchsuchen der nur drin ist wenn der nick schon existiert.

Pseudemys Nelsoni 19. Okt 2003 12:36

Re: idHTTP status abfangen?
 
hoi, ich hatte das schon versucht und zwar so:

Delphi-Quellcode:
memo1.Text := idhttp1.Get(idhttp1.URL.Path);
aber leider kriege ich da immer den quelltext der formular seite, aber an die seite mit dem ergebnis nach der registrierung komm ich nicht ran, wie könnt ich das anstellen?

SirThornberry 19. Okt 2003 12:39

Re: idHTTP status abfangen?
 
ganz sicher?? eigentlich müsste get das ergebnis zurückliefern. Oder es ist mal wieder nen bug in den indies. Oder musst du eventuell ein post durchführen?! nicht das die php-seite post-variablen erwartet und weil keine ankommen kommt wieder das standardformular

Pseudemys Nelsoni 19. Okt 2003 12:42

Re: idHTTP status abfangen?
 
jo, habe es so versucht:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ts: TStringList;
begin
  ts := TStringList.Create;
  ts.Add('name=shiism');
  ts.Add('nick=ssismk53');
  ts.Add('pass=025180258');
  ts.Add('cpass=021580258');
  ts.Add('email=ssiism53k@jo.de');
  ts.Add('cemail=ssiism53k@jo.de');
  idhttp1.Post('http://www.cncreloade.net/index.php?action=signup', ts);
  ts.Free;
  memo1.Text := idhttp1.Get(idhttp1.URL.Path);
end;

das ergebnis im Memo ist:

Code:
<html>

<head>

   <title>CNC Reloaded :: Register Account</title>

</head>

<body bgcolor="#FFFFFF" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">



<font face="Verdana" size="10px" color="#000000">

<center>

<h1>CNC:R :: Account Registration</h1>

<h2>STATUS: SERVER FULLY OPERATIONAL</h2>

</center>


<center>

<form method="POST" action="index.php?action=signup">

   <table border="1" cellspacing="0" cellpading="0" style="border-style:collapse;">

      <th>Required information</th><tr>

      <td>

         <table border="0" cellspacing="0" cellpadding="0">

            <td>Your name:</td>

            <td><input type="text" size="30" name="name"></td>

            <tr>

            <td>Nickname:</td>

            <td><input type="text" size="15" maxlength="9" name="nick"></td>

            <tr>

            <td>Password:</td>

            <td><input type="password" size="15" maxlength="8" name="pass"></td>

            <tr>

            <td>Confirm password:</td>

            <td><input type="password" size="15" maxlength="8" name="cpass"></td>

            <tr>

            <td>Your e-mail address:</td>

            <td><input type="text" size="35" name="email">

            <tr>

            <td>Confirm e-mail address:</td>

            <td><input type="text" size="35" name="cemail"><tr>

            <td>
<input type="submit" value="Register"><input type="reset" value="Clear"></td>

            <tr>

         </table>

      </td>

   </table>

</form>



<font size=2>Please read our [url="privacy.htm"]Privacy Policy[/url]</font></p>



[b]<font size=3>[url="w_hos_changer.exe"]Download[/url] the file to connect
      to CNCR instead of the real Tiberian Sun servers.</font>[/b]




[b]<font size=3>Or try [url="wu_host.exe"]this[/url] if the above program does not work for you.</font>[/b]
</p>

<font size=2>

If the above programs do no work for you, follow these instructions:


[*] Windows 95/98/ME:

Create a file called "host" in your WINDOWS directory and add the line:




<font color="#FF0000">69.0.197.152 noxcha.westwood.com</font>
[*] Windows 2k/NT/XP:

Create a file called "host" in your WINDOWS\system32\driver\etc directory and add the line:




<font color="#FF0000">69.0.197.15 noxcha.westwood.com</font>





Then try connecting to TS USA. It should bring you to CNCR. Good luck!







If you wish to return to the old Tiberian Sun servers, either click the "Remove" button




or remove the line from your hosts file.









<a href="http://www.cncreloade.net/clan.php">Clan Creation Page


</a>




[url="http://www.cncreloade.net/forum/"]Discussion Forums, Why, How and When.[/url]











<font size=3>If you never receive the autorization email, please email [email]adm@kilermurfs.net[/email] with the email address you used to register your nickname. Be sure to include the nickname you registered within the email.</font></p>

</p>        

</center>        

</p>

</font>

</body>

</html>
und das ist die cncrloaded startseite, also nicht die seite die nach dem schicken aufgerufen wird :(

Pseudemys Nelsoni 19. Okt 2003 14:03

Re: idHTTP status abfangen?
 
kann man mit der idHTTP überhaupt an die seite an die die parameter übergeben werden rankommen?

btw, falls jemand nicht weiss wie ich es meine:


http://www.angelfire.com/bug/delphi/cnc1.JPG

1. das ist das formular



http://www.angelfire.com/bug/delphi/cnc2.JPG

2. das ist das ergebnis des ausgefüllten formulars, wie komme ich daran?

SirThornberry 19. Okt 2003 14:10

Re: idHTTP status abfangen?
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ts: TStringList;
begin
  ts := TStringList.Create;
  ts.Add('name=shiism');
  ts.Add('nick=ssismk53');
  ts.Add('pass=025180258');
  ts.Add('cpass=021580258');
  ts.Add('email=ssiism53k@jo.de');
  ts.Add('cemail=ssiism53k@jo.de');
  idhttp1.Post('http://www.cncreloaded.net/index.php?action=signup', ts);
  ts.Free;
  memo1.Text := idhttp1.Get(idhttp1.URL.Path); //die zeile is quatsch, schließlich postest du also das "memo1.text :=" gehört vor idhttp1.post;
end;

Pseudemys Nelsoni 19. Okt 2003 14:12

Re: idHTTP status abfangen?
 
hoi sirthornyberry, jo das die quatsch ist weiss ich *g* das war eben meine testzeile, da ich an die seite <nach> dem senden der eingaben kommen muss, also den string da auf seite 2, "your nick has been registered..." den muss ich haben :\

SirThornberry 19. Okt 2003 14:32

Re: idHTTP status abfangen?
 
hat die seite wo die formulardaten eingegeben werden die gleiche url wie die des ergebnisses (also beides index.php)?? Wenn ja bekommst du das ergebnis also die zweite seite durch das post;

SirThornberry 19. Okt 2003 14:33

Re: idHTTP status abfangen?
 
mir ist grad nochwas eingefallen, vielleicht überprüft die index.php von welcher seite das post kam. Und wenn du request.refferer oder so da nicht gesetzt hast kanns da zu dem fehler kommen.

Pseudemys Nelsoni 19. Okt 2003 14:37

Re: idHTTP status abfangen?
 
Zitat:

Zitat von SirThornberry
hat die seite wo die formulardaten eingegeben werden die gleiche url wie die des ergebnisses (also beides index.php)?? Wenn ja bekommst du das ergebnis also die zweite seite durch das post;


ne das denke ich nicht, aber ich weiss den seitenname der zweiten seite nicht, wenn ich rechtsklick und eigenschaften anklicke, seh ich nur "www.cncreloaded.net" also kein seitennamen. ich wüsste auch nicht wie ich (wenn es eine andere url ist) die mit dem POST verknüpfen sollte, dennwenn ich direkt die seite mit dem ergebnis aufrufe, kann ja sowas wie "nick registered" garnicht kommen da ja das POST zuvor nichts mit dem anderen zu tun hat oder?

Pseudemys Nelsoni 19. Okt 2003 15:21

Re: idHTTP status abfangen?
 
wie kann ich rausfinden was bei request.refferer reinmuss?

SirThornberry 19. Okt 2003 15:36

Re: idHTTP status abfangen?
 
bei request.refferer muss die url von dem Formular rein wo du die ganzen angaben machst denn die ist ja der Refferer (aufrufer). wenn du mal die urls rüberwandern lässt, könnte man vielleicht schneller helfen

Pseudemys Nelsoni 19. Okt 2003 15:37

Re: idHTTP status abfangen?
 
hoi sirthornberry :)

hab ich doch: www.cncreloaded.net :)

SirThornberry 19. Okt 2003 16:09

Re: idHTTP status abfangen?
 
also wenn ich
Delphi-Quellcode:
  ts: TStringList;
begin
  ts := TStringList.Create;
  ts.Add('name=shiism');
  ts.Add('nick=ssismk53');
  ts.Add('pass=025180258');
  ts.Add('cpass=021580258');
  ts.Add('email=ssiism53k@jo.de');
  ts.Add('cemail=ssiism53k@jo.de');
  memo1.Text := idhttp1.Post('http://www.cncreloaded.net/index.php?action=signup', ts);
  ts.Free;
ausführe bekomm ich was anderes, und zwar das passwort nicht ganau 8 zeischen lang ist oder sowas etc.

Pseudemys Nelsoni 19. Okt 2003 16:11

Re: idHTTP status abfangen?
 
jo, ich wollte mein pw nicht so gern posten, da es für alle meine sachen(foren,email etc) ist :)

das pw darf nur 8 zeichen lang sein, also wenn du :

Delphi-Quellcode:
  ts: TStringList;
begin
  ts := TStringList.Create;
  ts.Add('name=nick54');
  ts.Add('nick=ssismk53');
  ts.Add('pass=25180258');
  ts.Add('cpass=21580258');
  ts.Add('email=ssiism54k@jo.de');
  ts.Add('cemail=ssiism54k@jo.de');
  memo1.Text := idhttp1.Post('http://www.cncreloaded.net/index.php?action=signup', ts);
  ts.Free;

nimmst, funktioniert es 100%...aber mal eine frage...wie bist du an die message das das pw nur 8 zeichen haben darf rangekommen? genau die muss ich nämlich u.a haben

SirThornberry 19. Okt 2003 16:17

Re: idHTTP status abfangen?
 
das stand dann im memo1

Pseudemys Nelsoni 19. Okt 2003 16:21

Re: idHTTP status abfangen?
 
ahhh cool, genau das wollte ich :)


danke danke :)


gibt es irgendeine art den ganzen text irgendwo unterzubringen ausser einem memo? ich meine in was nicht visible'es stringlist geht da wohl nicht *g. damit ich den text darin überprüfen kann?

SirThornberry 19. Okt 2003 16:26

Re: idHTTP status abfangen?
 
in einem string

Delphi-Quellcode:
var webseiteninhalt: String;
    ts: TStringList;
begin
  ts := TStringList.Create;
  ts.Add('name=nick54');
  ts.Add('nick=ssismk53');
  ts.Add('pass=25180258');
  ts.Add('cpass=21580258');
  ts.Add('email=ssiism54k@jo.de');
  ts.Add('cemail=ssiism54k@jo.de');
  webseiteninhalt := idhttp1.Post('http://www.cncreloaded.net/index.php?action=signup', ts);
  ts.Free;

Pseudemys Nelsoni 19. Okt 2003 16:27

Re: idHTTP status abfangen?
 
ah, vielen dank, dann klappt jetzzt sicher alles.
Dachte jede zeile ist ein neuer string

super hilfe echt :thuimb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 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