Group: User Level: Neuling
Posts: 2 Joined: 4/4/2008 IP-Address: saved
| Hallo Leute, ich bin recht neu in ASP und habe deshalb einige Verständnisprobleme. Ich habe eine Site, auf der man in einem Textfeld eine ID und in einem anderen Textfeld ein Datum angibt. Auf dieser Seite gibt es auch eine Tabelle, die eine Spalte 'ID' hat. Der User soll eine ID angeben, die natürlich in der Tabelle steht und ein Datum. Mit einem klick auf einem Button wird das Datum auf Gültigkeit und die ID auf Vorhandensein in der Tabelle geprüft. Jetzt zu meinem Problem: Wenn ich eine falsche ID angebe und ein korrektes Datum, schreibt er das Datum in die DB (zu der angegebenen ID).Er mekkert NICHT!!! Wenn ich eine korrekte ID und ein falsches Datum angebe, mekkert er über das falsche Datum (soll er ja auch). Wenn ich jetzt aber eine falsche ID UND ein falsches Datum angebe, mekkert er über BEIDES (ist ja auch i.O.).
Er springt irgendwie nur dann in die Abfrage, wenn ein falsches Datum angegeben wurde??? Warum
Hier mein Codeauszug:
<% If Request.Form("BTsenden") = "Senden" Then
'hier wird die ID auf Gültigkeit geprüft Offene_Massnahmen.MoveFirst() Dim id_vorhanden id_vorhanden = 0 Dim id_Feld Do While (NOT Offene_Massnahmen.EOF) id_Feld = Offene_Massnahmen.Fields.Item("ID").Value if id_Feld = Cint(Request.Form("id_text")) then id_vorhanden = 1 end if Offene_Massnahmen.MoveNext() Loop if id_vorhanden = 0 then response.Write("<script type=""text/javascript"">id_prüfen();</script>") end if
'Datum formatieren - Punkt wird zum Bindestrich Dim vorher vorher = Request.Form("tf_datum") Dim arr arr = split(vorher,".") Dim nachher nachher = arr(2) & "-" & arr(1) & "-" & arr(0) If IsDate( nachher ) Then 'und nochmal formatieren: MMTTJJJJ mit /-Trennzeichen Dim dat dat = split(nachher,"-") Dim datum datum = dat(2) & "-" & dat (1) & "-" & dat(0) Session("id_erledigt") = Request.Form("id_text") Session("datum_erledigt") = datum Response.Redirect("Erledigt_melden.asp") Else response.Write("<script type=""text/javascript"">datum_prüfen();</script>") End if
End if %>
|
Group: Administrator Level: heavy Spammer
Posts: 3610 Joined: 3/11/2004 IP-Address: saved
| Hallo Torsten,
wie greifst du auf die Datenbank zu? Ich würde das so lösen:
'Die Datenbank-Verbindung mit ADODB-Connection öffnen (hier ist es zB für MySQL): Set conn = Server.CreateObject("ADODB.Connection") conn.Open = "DRIVER={MySQL ODBC 3.51 Driver}; Server=localhost; Database=testdb; User Id=root; Password=123;"
' wenn eine Eingabe erfolgte: If Request.Form("BTsenden") = "Senden" Then Set RS = conn.execute("SELECT * FROM Offene_Massnahmen WHERE id = '"& int(request.form("id")) &"'") ' wenn id nicht in der Datenbank vorhanden ist: If RS.eof Then response.write "ID nicht vorhanden!" ' wenn Datum falsch: Elseif NOT IsDate(nachher) Then response.write "falsches Datum!" Else response.write "Eingabe OK!" End If ' wenn noch keine Eingabe erfolgte, Formular anzeigen Else ... End If
lg
|