Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Einloggen auf Website


chickenfigt1989 - Di 19.10.10 21:29
Titel: Einloggen auf Website
Hallo
Will ein Programm machen mit 2Editfeldern und ein Login Button.

Wen der user seine daten eingibt und auf login klickt dann werden seine daten in der Mysql datenbank überprüft ob sie korreckt sind. Wenn sie korreckt sind komtm das Echo true zurück.
So wie mach ich das nun wenn die userdaten korreckt sind das dann Form2 kommt?

mfg


FinnO - Di 19.10.10 21:34

Moin,

musst das hier nur kopieren:


Delphi-Quelltext
1:
if Userdata.Korreckt=TRUE then Form.Come                    


LG


chickenfigt1989 - Di 19.10.10 22:25

habe nun folgenden Code:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
var
  http: TIdHTTP;
  s: String;
  Params: TStrings;
begin
  http := TIdHTTP.Create(nil);
  try
     //wenn die Übertragungsmethode POST ist
    Params := TStringList.Create;
    try
      Params.add('username='+Edit1.Text);
      Params.Add('passwort='+Edit2.Text);
      s := http.Post('http://xxx-xxxxx.xx/upp/xxx/xxxxx.php', Params);
    finally
      Params.free;
    end;

    ShowMessage(s); //Zeigt den Quellcode der Eregbnis- / Login- / oder sonstwas - Seite an
  finally
    http.free;


Allerdings wie kann ich überprüfen ob die userdaten korreckt sind und dan zu form zwei weiterleiten?
Das php script speichert das true bzw false der userdaten in einer variable namens $loggedin
WIe kann ich das nun prüfen und gegebenfalls bei true zu form 2 weiterleiten?

mfg


FinnO - Di 19.10.10 22:34

Moin,

hihi. Preisfrage: Woran erkennt man, dass du von diesem Code nicht eine Zeile selbst geschrieben hast?

Vor Allem: Wüsstest du, womit du da arbeitest, wäre diese Frage überhaupt nicht existent. Und als ganz heißer Tipp: markier mal TIdHttp und drück F1 ;)

LG


Tankard - Di 19.10.10 22:39

user profile iconFinnO hat folgendes geschrieben Zum zitierten Posting springen:
Moin,

musst das hier nur kopieren:


Delphi-Quelltext
1:
if Userdata.Korreckt=TRUE then Form.Come                    


LG


Hi FinnO,

der Kot ist nicht korrekt und muss wie folgt lauten.



Delphi-Quelltext
1:
if Userdata.Korreckt=TRUE then Form.ComeOooonnnn(!!!!)                    



Ich hoffe ich konnte helfen.

Greets Tankard

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

user profile iconFinnO hat folgendes geschrieben Zum zitierten Posting springen:
Moin,

hihi. Preisfrage: Woran erkennt man, dass du von diesem Code nicht eine Zeile selbst geschrieben hast?
LG


aehm. keine rechtschreibfehler in den kommentarzeilen.

was bekomm ich jetzt ?

;)


Dude566 - Di 19.10.10 22:41

http://www.delphi-treff.de/tutorials/netzwerk-und-internet/indy/http-tidhttp/ ;)


chickenfigt1989 - Di 19.10.10 22:45

Könnt ihr mir nicht schnell die richtige lösung posten?

lg


Dude566 - Di 19.10.10 22:48

Am besten sagst du uns was dein Programm können soll und wir schreiben es dir dann. :roll:

Ich kann dich nur auf meinen Link aufmerksam machen.


Narses - Di 19.10.10 22:50

Moin!

user profile iconchickenfigt1989 hat folgendes geschrieben Zum zitierten Posting springen:
Könnt ihr mir nicht schnell die richtige lösung posten?
Du hast genug Ansätze bekommen. Wenn das mit dem Code-Betteln weiter geht, mache ich den Thread zu.

cu
Narses


Delete - Do 21.10.10 23:40

Hier http://www.delphipraxis.net/155408-einloggen-auf-website.html geht's weiter.


chickenfigt1989 - Mo 25.10.10 05:30

Wieso kommt bei diesen Code hier:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
var
  s:string;
  stream: TStringList;
  begin
  try
    try
        stream := TStringList.Create;
      Stream.Add('username='+Edit1.Text);
      Stream.Add('passwort='+Edit2.Text);
      Stream.Add('action=Login');
      s := idhttp1.Post('http://www.pup-board.de/upp/uem/uem_funktionen.php',stream);

      if (Pos('Du bist als',s) > 0) then //Erfolgreich eingeloggt?
        ShowMessage('Du bist Eingeloggt.');
      if (Pos('Du bist als',s) = 0) then //Fehler!
        ShowMessage('Leider ist der Username oder das Passwort Falsch.');
    finally
      Stream.Free;
    end;
  except on E: Exception do
    ShowMessage(E.Message);
  end;

Immer Leider ist der Username oder das Passwort Falsch, auch wen ich es Richtig eingegeben habe?

lg


jaenicke - Mo 25.10.10 06:17

Was kommt denn auf dem Server an?

Da musst du eben schauen warum das PHP-Skript auswertet, dass es falsch ist.


Delete - Mo 25.10.10 10:43

Was ist denn das für ein seltsames If-Konstrukt? Entweder ist man eingeloggt oder nicht, da braucht man doch nicht noch mal mit if prüfen.


elundril - Mo 25.10.10 11:24

Was mein Namenskollege damit sagen will ist das es für die zweite If-Abfrage eine schöne Anweisung namens Else gibt.

link dazu: http://de.wikibooks.org/wiki/Programmierkurs:_Delphi:_Pascal:_Verzweigungen#Erweiterte_if-Abfragen_mit_.E2.80.9Esonst.E2.80.9C

lg elundril


Andreas L. - Mo 25.10.10 13:12

Es wird wohl nicht (und sollte auch nicht) möglich sein sich in einer Datei mit Funktionen einzuloggen.

Warum nicht gleich die Login-Seite verwenden?


Falsch: http://www.pup-board.de/upp/uem/uem_funktionen.php
Richtig: http://www.pup-board.de/index.php?form=UserLogin
EDIT: Oder die Seite hier: http://www.pup-board.de/upp/


chickenfigt1989 - Mo 25.10.10 21:46

Ich schaff es einfach nicht
kann man es nich irgendwie so machen das ich das ergebnis per echo von php script ausgeben lass oder so?

lg


Gausi - Mo 25.10.10 21:55

Wenn du Zugriff auf das PHP-Script hast, kannst du dir per echo dort alles ausgeben, ws du willst. Wenn nicht, musst du mit dem leben, was dir das Ding so liefert.

Wie sieht der der String s aus, den du da untersuchst? Vielleicht lässt sich daraus auf die Fehlerursache schließen...


chickenfigt1989 - Mo 25.10.10 21:59

wenn ich s mitauslese wird eben nichts ausgegeben die showmessage ist immer leer :(


Delete - Mo 25.10.10 22:03

Langsam bin ich es Leid hier hin und her zu verlinken: http://www.delphipraxis.net/155408-einloggen-auf-website-3.html#post1057785

Wenn du nicht selber die Informationen, die du aus dem anderem Forum erhalten hast, weitergibst, mache ich den Thread in der Delphipraxis dicht.


Gausi - Mo 25.10.10 22:10

Joah, wenn s leer ist, dann kommt halt nix zurück. Ob du nun das Skript falsch benutzt, oder bei den Indys irgendwas mit den Weiterleitungen nicht richtig eingestellt hast, oder der Mond ungünstig auf dein Modem scheint, weiß ich nicht.


chickenfigt1989 - Mo 25.10.10 22:13

aber das script müsste eig so passen
sorry habs vergessen zu verlinken
ja wie mach ich des dan das bei s was drin steht?

lg


platzwart - Mo 25.10.10 22:15

Woher sollen wir das wissen?!?

Kannst du das nicht denjenigen fragen, der das Skript geschrieben hat?


Gausi - Mo 25.10.10 22:17

Hast du das [http://www.delphi-forum.de/viewtopic.php?p=621648#621648] mal ausprobiert?


Tankard - Mo 25.10.10 22:17

da du ja angeblich soviel mit deiner seite verdienst, würde ich vorschlagen du machst ne jobangebot auf. für 50 euro wird sich hier sicher jemand bereit erklären dir die loginroutine zu schreiben, sodass sie funktioniert.