Uwe: Meldung wenn kein Eintrag gefunden wurde

Ich habe eine Login-Seite mit einem Formular gestaltet. Nach Eingabe eines Passwortes erhält der Benutzer Zugang zum entsprechenden Menü. Ist der Name oder das Passwort falsch oder nicht in der DB enthalten wird automatisch die Login-startseite geladen. Das mach ich mit folgendem Befehl.

<%
 If login.Bof and login.eof then
  Response.Redirect "stellen_login.asp"
  Else
  status="ok"
 end if
%>

Was ich jetzt erreichen möchte ist, dass wenn nichts in der DB enthalten ist eine Meldung kommt. Wie ist das zu gestalten?

Besten Dank im voraus.

  1. Wie wäre es mit:
    Response.Redirect "stellen_login.asp?Fehler=1"

    Den QueryString kannst Du dann abfangen, und eine entsprechende Meldung ausgeben:

    <% IF Request.QueryString("Fehler") = 1 THEN
    Response.Write " Den Typen gibt es hier nicht"
    END IF
    %>

    1. Wie wäre es mit:

      Response.Redirect "stellen_login.asp?Fehler=1"

      Den QueryString kannst Du dann abfangen, und eine entsprechende Meldung ausgeben:

      Wo muss ich diesen Code einbinden? Im Formular in dem Login und Passwort eingegeben wird oder im nächsten formular, in dem

      Response.Redirect "stellen_login.asp?Fehler=1"

      eingetragen ist.

      <% IF Request.QueryString("Fehler") = 1 THEN
      Response.Write " Den Typen gibt es hier nicht"
      END IF
      %>

      1. Hi, hallo

        Den QueryString kannst Du dann abfangen, und eine entsprechende Meldung ausgeben:

        Wo muss ich diesen Code einbinden? Im Formular in dem Login und Passwort eingegeben wird oder im nächsten formular, in dem
        Response.Redirect "stellen_login.asp?Fehler=1"
        eingetragen ist.

        Äh, bitte beschäftige dich mit der Methode Redirect genauer oder eher mit den Request/Response Objekten unter ASP. Denn du scheinst nicht zu wissen, wie die Basics von ASP funktionieren.

        http://www.aspfaq.de
        http://www.aspheute.com

        sehr empfehlenswert auch Bücher von der MS Press zum Thema Dynamische Webprogrammierung ... besonders für Einsteiger

        Ich habe dir einige Infos in meinem anderen (aussagekräftigeren) Posting gegeben.

        Tschau, tschüß,
        Frank

      2. Hi Namensvetter

        Kannst du bitte bei der Großschreibung von "Uwe" bleiben? Ich poste hier seit Jahren als "uwe" und moechte einfach Verwechslungen vermeiden. Danke!

        uwe

  2. IF (nix in der DB) print "nix in der db".

    Tschanno

    1. IF (nix in der DB) print "nix in der db".

      wahnsinn!!

      Frank

  3. Hi, hallo

    mal nachgefragt, was ist, wenn die Leute direkt stellen_login.asp aufrufen ??

    was du zur wirklich sinnigen Lösung brauchen würdest wären u. U. Session-Variablen, die den Zustand loggedin=true|false speichern und bei =false die Loginseite aufrufen, wo der User Passwort und Namen eingeben muß

    diese abfrage auf Session("loggedin") läßt du als SSI in all deine Seiten im Kopf einfließen, dort solltest du auch Response.Redirect verwenden.

    Die Loginroutine ist schon annähernd richtig, du solltest abfragen, ob es die User/PW Kombi in der Datenbank gibt.

    Mach dies bitte mit Stored Procedures (soweit bei deiner DB möglich) um SQL Injection zu verhindern.

    wenn login dein Recordset ist, reicht in 99% der Fälle: IF login.eof then ...

    außerdem dürftest du nicht mit "and" verknüpfen, sondern müsstest mit "or" verknüpfen

    Aber zu deiner eigentlichen Frage ...

    wenn du auf eine andere Seite forwarden möchtest mit dem Response.Redirect kannst du auf der eigentlich ausgeführten Seite, die deine Login-Prozedur enthält, keine Ausgaben machen.

    Variante 1, wie von Reinhold beschrieben, gib dem Response.Redirect noch einen GET Parameter mit ?fehlergrund=1

    Variante 2: du benutzt, wenn IIS 5++ vorhanden die Server-Methoden:

    Server.Execute "seite.asp"   zum direkten Ausführen einer anderen Seite

    Server.Transfer "seite.asp"  zum weiterreichen deiner Umgebungsvariablen (aus Request) an "seite.asp"

    dann kannst davor auch Ausgaben bringen à la "dein Passwort ist falsch" etc.

    Hope that helps (HTH)

    Tschau, tschüß,
    Frank