![]() |
Datenbank: MySQL • Version: 1 • Zugriff über: Php
Einloggen auf Website
habe folgenden Code:
Delphi-Quellcode:
Und das mein php script:
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;
Code:
So mit dem überprüfe ich ob die beiden eingaben in Edit Feld korreckt sind sprich username und Passwort.
<?php
$root_path = realpath(dirname(__FILE__).'/../../') . '/'; include("$root_path/upp/inc/class_template.php"); include("$root_path/upp/inc/config.php"); include("$root_path/upp/inc/funktionen.php"); require_once("$root_path/upp/errorHandling/mainErrorHandling.php"); $action = $_POST["action"]; $loggedin = false; switch($action) { case "login": $passwort = $_POST["passwort"]; $username = $_POST["username"]; $passwort = md5($passwort); $SQL = new mysqli(DB_HOST, DB_USER, DB_PW, DB_NAME); $query = $SQL->prepare("SELECT password, aktiv FROM upp_users WHERE username = ?"); $query->bind_param("s", $username); $query->execute(); $query->bind_result($password, $aktiv); $query->fetch(); if($passwort == $password) { if($aktiv == 1) $loggedin = true; } break; } ?> Etz sollte aber wen der User existiert und das passwort korreckt ist form2 kommen wie mach ich das hab davon leider kein plan. mfg |
AW: Einloggen auf Website
Gibt dein Delphi-Programm den Parameter "action" mit? Den vermisse ich hier. Ansonsten Debug-Ausgaben ins PHP bauen und mal mit einem Browser testen (dazu evtl von POST auf GET umstellen, temporär)?
Hm, und vielleicht wäre es nicht schlecht, wenn du vor dem Posten deine Rechtschreibung/Grammatik mal überprüfst... |
AW: Einloggen auf Website
Warum kommt mir das so bekannt vor?
![]() Wenn schon Crosspostings erstellt werden, dann bitte auch verlinken. |
AW: Einloggen auf Website
Da muss ich mich ja schon fast für meine Antwort schämen.
Und ich bin nichtmal auf das ominöse "form2" eingegangen :( .. 0 Punkte für wicht. |
AW: Einloggen auf Website
Wenn die Antwort in s steht, dann brauchst du doch nur noch gucken, was drin steht. Wenn das drin steht, was bei einem erfolgreichen Login drin steht, dann ruf Form2 auf.
Stichworte: if, pos, ... |
AW: Einloggen auf Website
Und die Form öffnest du vermutlich mit "Form2.Show", wenn du mit den herrlichen globalen Form-Variablen arbeitest...
|
AW: Einloggen auf Website
Was meinst du mit
Zitat:
|
AW: Einloggen auf Website
Na da wird dcoh was unterschiedliches drin stehen wenn der Login erfolgreich war oder nicht.
|
AW: Einloggen auf Website
Ja aber wie überprüf ich des?
|
AW: Einloggen auf Website
Liest du auch meine Antworten? Mit pos und if.
|
AW: Einloggen auf Website
ja klar aber hab noch nie damit gearbeitet :(
|
AW: Einloggen auf Website
Dann guck in der Hilfe oder suche hier im Forum. Auch die Codevervollständigung hilft.
|
AW: Einloggen auf Website
Da find ich aber leider nichts
|
AW: Einloggen auf Website
Jetzt willst du mich aber veräppeln. Dann nutze die hier im Forum auf der Portalseite verlinkte online Hilfe.
Was steht denn im Erfolgsfall in s drin und was wenn der Login fehlschlägt? |
AW: Einloggen auf Website
Gut, dann nochmal ich...
Du hast noch nie irgendwas mit Delphi gemacht, oder? Der Code, den du da hast, wurde von irgendwelchen Quellen her zusammengeholt, aber du hast keine Ahnung, was da überhaupt passiert. Falls das stimmt: Zieh dir ein paar Delphi-Tutorials rein. Besonders schwierig ist das nicht, aber wenn du deinen Beispielcode postest und sagst, dass du so kein "if" und "Pos()" kennst, wird das hier zu nichts führen. Also, steig erstmal in die Materie ein. Wenn du bei einem Tutorial fragen hast, wird dir sicherlich auch besser geholfen - weil du dann deine Fragen besser formulieren kannst, weil du weißt, was du vor hast, und was du bis jetzt wie gemacht hast. Falls du gerade mit Delphi angefangen hast, ist das hier vermutlich eine Nummer zu groß. Ist alles nicht böse gemeint, nur ein gut gemeinter Ratschlag. Edit: Roter Kasten. Aber der Post hier muss raus. |
AW: Einloggen auf Website
wieso kommt bei diesen code:
Delphi-Quellcode:
Immer Leider ist der username oder das Passwort falsch??
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; mfg |
AW: Einloggen auf Website
Was steht denn in S drin?
|
AW: Einloggen auf Website
weis ich nicht wie lese ich das aus?
|
AW: Einloggen auf Website
Nachdenken :roll:
Wie wäre es mit der Prozedur, die mit "Show" anfängt, mit "Message" aufhört, einen String als Parameter erwartet, und die du in deinem Code bisher schon 2x benutzst? Richtig, ShowMessage. Soll ich dir jetzt noch sagen, an welche Stelle genau das hingehört? Und wie man es buchstabiert? Und was du als Parameter/Argument angeben musst? |
AW: Einloggen auf Website
Nein, du solltest einfach ein fertiges Programm posten, so dass der TE gar nichts mehr machen muss...
|
AW: Einloggen auf Website
Zitat:
Falsch! Sogar schon 3x! [/KLUGSCHEISS] |
AW: Einloggen auf Website
Wenn ich s mit einer Showmessage(s); auslese und ich mich dan einloggen will kommt Username oder Passwort Falsch und danach kommt zwar der showmessage dialog aber der ist leer.
lg |
AW: Einloggen auf Website
Was schließt du daraus?
Richtig, s ist ein leerer String. |
AW: Einloggen auf Website
Aber was dir hier
![]() |
AW: Einloggen auf Website
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 |
AW: Einloggen auf Website
Klar kann man das. Du musst dann eben das PHP-Skript entsprechend schreiben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz