If Abfrage - Remoteserver nicht erreichbar

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von FriendSpeaks.

    If Abfrage - Remoteserver nicht erreichbar

    Hey vb paradise,

    ich möchte gerne eine If Abfrage machen, die dann so aussehen soll:

    VB.NET-Quellcode

    1. Dim result() As Byte = wc.UploadValues("http://localhost/login_fs.php?", "POST", nv)
    2. Dim resultstring As String = System.Text.Encoding.ASCII.GetString(result)
    3. If //Remote Server nicht verfügbar Then
    4. MsgBox("Du bist nicht mit dem Internet verbunden, oder der Server ist momentan nicht erreichbar, vbExclamation + vbOKOnly, "Fehler beim Verbinden mit dem Server")
    5. Else
    6. 'Nichts...
    7. End If


    Wenn ich auf Debug drücke dann erscheint mein Fenster und wenn ich mich einlogge und mein Server momentan offline ist, schließt sich das Programm und im Quellcode erscheint ein Fehler: Der Remoteserver ist nicht erreichbar.

    Wie mache ich denn eine If-Abfrage: Wenn der Server nicht erreichbar ist, Dann MsgBox("..")?

    Ich hoffe auf schnelle Hilfe!
    Danke!
    versuchs doch mit einer try.. Abfrage. Diese fängt Fehler ab und leitet dich auf das Catch um.

    VB.NET-Quellcode

    1. Try
    2. Dim result() As Byte = wc.UploadValues("http://localhost/login_fs.php?", "POST", nv)
    3. Dim resultstring As String = System.Text.Encoding.ASCII.GetString(result)
    4. Catch ex As Exception
    5. MsgBox("Server nicht erreichbar!")
    6. End Try


    MFG Andi2572
    Cool hat mir geholfen! Danke!

    Aber ich habe noch ein Problem:

    VB.NET-Quellcode

    1. Try
    2. Dim result() As Byte = wc.UploadValues("http://localhost/login_fs.php?", "POST", nv)
    3. Dim resultstring As String = System.Text.Encoding.ASCII.GetString(result)
    4. Catch ex As Exception
    5. MsgBox("Du bist nicht mit dem Internet verbunden, oder der Server ist momentan nicht erreichbar", vbExclamation + vbOKOnly, "Fehler beim Verbinden mit dem Server")
    6. Exit Try
    7. Finally
    8. Dim result() As Byte = wc.UploadValues("http://localhost/login_fs.php?", "POST", nv)
    9. Dim resultstring As String = System.Text.Encoding.ASCII.GetString(result)
    10. MessageBox.Show(resultstring)
    11. Me.Cursor = Cursors.Default
    12. Form2.Show()
    13. End Try


    Nach der Message Box schließt das Programm wieder und es kommt die gleiche Fehlermeldung wie oben.
    Nur diesmal geht es um die Verbindung im Finally. Also hat das mit dem Try geklappt, jedoch dachte ich, dass durch das Exit Try die Finally Anweisung übersprungen wird und er nach dem Try weiter macht.
    Ich habe das jetzt so gemacht, aber er sagt immer das es erfolgreich

    VB.NET-Quellcode

    1. er = 0
    2. Try
    3. Dim test() As Byte = wc.UploadValues("http://localhost/login_fs.php?", "POST", nv)
    4. Catch ex As Exception
    5. MsgBox("Du bist nicht mit dem Internet verbunden, oder der Server ist momentan nicht erreichbar", vbExclamation + vbOKOnly, "Fehler beim Verbinden mit dem Server")
    6. er += 1
    7. Exit Try
    8. End Try
    9. If er = 0 Then
    10. Dim result() As Byte = wc.UploadValues("http://localhost/login_fs.php?", "POST", nv)
    11. Dim resultstring As String = System.Text.Encoding.ASCII.GetString(result)
    12. If resultstring = "error" Then
    13. Me.Cursor = Cursors.Default
    14. MsgBox("Du konntest nicht eingeloggt werden. Benutzernam oder Passwort falsch.", vbExclamation + vbOKOnly, "Fehler")
    15. Else
    16. Me.Cursor = Cursors.Default
    17. MsgBox("Du hast dich erfolgreich angemeldet.", vbInformation + vbOKOnly, "Du wurdest erfolgreich eingeloggt...")
    18. Form2.Show()
    19. End If
    20. End If


    Ich habe das jetzt so gemacht, aber er sagt immer das ich mich erfolgreich angemeldet habe, obwohl die Daten gar nicht in meiner Datenbank existieren.

    Mein Anmelde PHP Code:

    PHP-Quellcode

    1. ....
    2. ......
    3. ......
    4. if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
    5. // Falls der Nickname und das Passwort ubereinstimmen..
    6. $sql = "SELECT
    7. ID
    8. FROM
    9. friendspeaks
    10. WHERE
    11. Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' AND
    12. Passwort = '".md5(trim($_POST['Passwort']))."'
    13. ";
    14. $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
    15. // wird die ID des Users geholt und der User damit eingeloggt
    16. $row = mysql_fetch_assoc($result);
    17. // Pruft, ob wirklich genau ein Datensatz gefunden wurde
    18. if (mysql_num_rows($result)==1){
    19. doLogin($row['ID'], isset($_POST['Autologin']));
    20. echo "yes\n";
    21. }
    22. else{
    23. echo "error\n";
    24. }
    25. }


    Und der funktioniert auf meiner Homepage!
    Die Frage ist nur was steht im resultstring wenn dieser error\n als Antwort bekommen hat.

    error\n hab ich auch schon versucht ;D