Frage: Vom Login bis zum Chat.

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von BjöNi.

    Frage: Vom Login bis zum Chat.

    Nabend liebe Community,

    Ich habe mir ein eigenes Forum erstellt wo sich zahlreiche User registrieren können. Nun möchte ich gerne bei VB.Net ein LogIn verbauen der die User und Passwörter vom Forum
    von der Datenbank herausfiltert und ausliest. Bei falschen Angaben, soll denn eine MessageBox kommen mit z.B. folgenden Inhalt: "Benutzername/Passwort falsch!" / "Benutzername nicht registriert".
    Und bei richtigen Angaben soll sich dann die Form2 öffnen und sich automatisch mit einen Chat verbinden mit den registrierten Usernamen vom Forum. Kleinigkeiten was gerne gesehen ist, wenn auch
    eine Userlist dabei wäre. WÄRE DAS MÖGLICH? UND GEBE ES EIN TUTORIAL FÜR SOWAS? ODER WÜRDE EINER SICH DIE MÜHE GEBEN MIR SOWAS ZU ERSTELLEN? Ich habe leider viel zu wenig Ahnung von
    sowas. Und habe leider auch in der Art auch nichts hier im Forum gefunden. :/ Ich bedanke mich im vorraus! Und freue mich über positive Tipps von euch.

    Sollte mir einer ein Tutorial schreiben oder mir zeigen wie man sowas programmiert oder doch nen' Source Code geben. Für die mühe, gibt es auch eine Belohnung. :)
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur
    Da du ein Forum erstellt hast, gehe ich davon aus, dass du weißt, wie du Serverseitig die Benutzerdaten überprüfst (wahrscheinlich PHP und MySQL-Datenbank).
    Erstelle dir also einfach ein Script, dem zwei Parameter übergeben werden, User + Passwort, und das dann z.B. 0 oder 1 ausgibt.
    In deiner VB.NET-Anwendung rufst du beim Login dieses Script auf und überprüfst, was dieses Script ausgibt, also 0 oder 1 (sollte sinnvollerweise verschlüsselt übertragen werden, also SSL).

    VB.NET-Quellcode

    1. Dim client As New Net.WebClient()
    2. If client.DownloadString("https://meineseite.de/test.php?user=" & txtUser.Text & "&pass=" & txtPass.Text) = "1" Then
    3. MessageBox.Show("OK")
    4. Else
    5. MessageBox.Show("Nö")
    6. End If
    Es können natürlich auch weitere Daten wie PostCount oder sonst irgendwas übergeben werden.

    //EDIT: Den Part mit dem Chat hatte ich überlesen. Hierfür solltest du aber einen Server verwenden, der dafür geeignet ist, d.h. einer, zu dem du eine dauerhafte Verbindung herstellen kannst, um nicht dauernd Requests schicken zu müssen. Hierfür gibt es ein paar Tutorials zu TCP-Chats im Forum: Multiserver (TCP)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BjöNi“ ()

    + Registrierte User vom Forum (Login) - Form1
    loaditup.de/files/840835_tpnepvvaee.jpg

    + direkte Verbindung nach Login im Chat (Chat) - Form2
    loaditup.de/files/840834_dwx7chkbkf.jpg

    Wie muss ich es denn mit der Datenbank einbinden vom Forum? :)
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur
    Zurzeit bin ich bei einen Freehoster (bplaced.net). Um zu schauen ob es sich lohnt für mein Forum. Und dann
    demnächst umsteigen auf ne' .de-Domain. Die Datenbank läuft momentan über PhpMyAdmin wenn du das meinst?
    Ich hab wirklich kaum Ahnung davon. :/ Tut mir leid, dass ich damit nerve!
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur

    getsha schrieb:

    Tut mir leid, dass ich damit nerve!


    Dafür ist ein Forum da, da hat sich keiner von Anfragen genervt zu fühlen ^^

    Dein Forum liegt also bei bplaced.net, und hier hast du ja deinen Webspace auf dem die Scripts für dein Forum liegen. Sprich du benötigst eigentlich nur ein php Skript, welches dir die benötigten Daten gegen deine Datenbank validiert indem du die angefragte User-/Passwort-Kombi übergibst.
    Das skript gibt im Grunde einen Fehlercode oder eine Message oder was auch immer du magst zurück, was du, wie @BjöNi bereits gezeigt hat über einen Webclient auswertest.
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Also... für ein Forum und eine Validierung der Benutzerdaten ausreichend, kein Problem. Für einen Chat aber ungeeignet, da du nur via HTTP connecten kannst - und das heißt, dass nur der Client anfragen und der Server antworten kann. Der Server kann also nicht von sich aus dem Client sagen, dass eine neue Nachricht vorliegt, sondern der Client müsste im Takt von wenigen Sekunden beim Server anfragen, ob eine neue Nachricht vorliegt. Geht natürlich, performancemäßig aber Schwachsinn, daher: Hole dir am besten einen eigenen (Windows-)Server und halte dich an das oben verlinkte Beispiel.
    Das Forum kann auch woanders liegen, die Verifizierung der Benutzerdaten dann halt wie oben beschrieben.
    Vorgehendsweise:
    - Code entnommen von oben.
    - Eingefügt und angepasst. (bzw. Url eingefügt: k-underground.bplaced.net/index.php?members/ und mit k-underground.bplaced.net/index.php?login/ ausprobiert.)
    Trotzdem funktioniert es nicht bei mir. :/ oder hab ich es falsch verstanden? Bitte nochmal um hilfe.

    Wäre nett wenn einer per TeamViewer helfen könnte. :o
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur


    hast du das test.php script erstellt?
    Du machst im Grunde von der Logik her nichts anderes, als Benutzer und Passwort an ein PHP-Skript weiterzugeben. Das php script prüft ob deine User-PW-Kombi in deiner Datenbank vorhanden ist und gibt etwas zurück.

    bzw. aus deinem URL-Beispiel übergibst du das ganze an die index.php... würde ich nicht, die sollte wirklich nur zum navigieren und initialisieren deiner Web-Application dienen.

    Erstell dir die test.php auf deinem Webspace, lass dir die Übergabewerte ausgeben (php) und probier ein wenig rum, das ist nicht sonderlich schwer.
    Danach schaust du wie du in php mit deiner DB kommunizierst und das sollte es dann schon gewesen sein.


    VG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Woher bekomm ich denn so ein .php-Script. :o
    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „getsha“ ()

    das erstellst du selbst.

    test.php

    PHP-Quellcode

    1. <?php echo 'was ein tolles PHP Skript'; ?>


    das legst du auf deinen webspace (wo auch deine andere webapplication zu finden ist) und versuchst es mal aufzurufen. wenn du richtig bist, steht dann 'was ein tolles PHP Skript' in deinem Browser.

    Sobald du weißt, unter welcher URL dieses Skript zu erreichen ist, kannst du die Logik dahinter einbauen und sobald du true/false für den Login zurückgeben kannst, das ganze per WebClient in deiner ChatApplikation auswerten.

    VG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup: