Just nu i M3-nätverket
Gå till innehåll

If sats???


kjell3

Rekommendera Poster

Jag har gjort en E-post katalog i Asp där jag gjort så att den som vill lägga in sin mail i katalogen skapar först sitt eget login och password för att dom senare ska kunna redigera sina uppgifter. Värderna sparas i en Access databas. Problemet är att jag ställt Password som unik (inga dubletter)i Access.

Om nu någon råkar skriva samma password så blir det ett felmeddelande:

 

Microsoft OLE DB Provider for ODBC Drivers (0x80040E2F)

[Microsoft][Drivrutin för ODBC Microsoft Access]Fel i rad

/maillista/admin/nyreg2.asp, line 39

 

Finns det någon bra Ifsats att tilllämpa eller går det att på något annat sätt ge ett specifikt textmeddelande om vad som egentligen har inträffat t.ex skicka användaren till en annan sida?

 

Finns det någon som kan hjälpa mig med detta, för mig svåra problem?

Länk till kommentar
Dela på andra webbplatser

Varför har du satt 'password' som unikt överhuvudtaget??? Användarnamn är förståeligt, men lösenord måste man ju kunna välja helt oberoende av vad andra har valt.

 

Om du vill förhindra dubletter på användarnamnet skulle jag enklast göra en sökning i databasen efter det användarnamn som en person vill ha. Om den sökningen hittar en post returnerar du ett felmeddelande, annars sparar du det nya användarnamnet och övriga uppgifter.

Länk till kommentar
Dela på andra webbplatser

Jag förstår inte vad skillnaden är, password tycker jag är med naturligt. Men det var ju inte det min fråga baserade sig på. Utan det var hur jag skulle gå till väga för att komma undan IIS:ens felmeddelande. Det lät ju intressant om att söka efter om det finns en dublett, och du som kan det här väldigt bra kan säkert skriva och tala om hur den kompletta If satsen skulle kunna se ut!

 

Tack på förhand........

Länk till kommentar
Dela på andra webbplatser

Magnus Gladh

Japp...

 

du börja med att skriva

On Error Resume Next

högst upp på din sida...

 

sen när du gjort din databasfråga så kollar du om err.number är skillt från 0 om det är det så har ett fel inträffat och du skickar personen till en annan sida...

 

if err.number <> 0 then

response.redirect("fel.html")

end if

 

- Magnus

 

Länk till kommentar
Dela på andra webbplatser

Tack för att du försöker hjälpa en nybörjare. Tyvärr funkade det inte. Jag gjorde som du skrev (tror jag) det resulterade bara till att den öppnade den databasen som hade samma password och login, oavsett om jag skrev annan mail eller namn. Jag skickar med koden om det kan vara till någon hjälp.

 

<!--#include file="functions.inc"-->

 

<%

 

 

if Request.Form("Login") = "" then

Response.Write ("Du har ej fyllt i fältet Login, Var god backa!")

Response.End

end if

 

if Request.Form("Password") = "" then

Response.Write ("Du har ej fyllt i fältet Lösenord, Var god backa!")

Response.End

end if

 

if Request.Form("Namn") = "" then

Response.Write ("Du har ej fyllt i fältet Namn, Var god backa!")

Response.End

end if

 

if Request.Form("Epost") = "" then

Response.Write ("Du har ej fyllt i fältet Epost, Var god backa!")

Response.End

end if

 

 

Set MinCon = Server.CreateObject("ADODB.Connection")

Set rs = Server.CreateObject("ADODB.Recordset")

strAccessDB = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../data/mail.mdb")

MinCon.Open strAccessDB

 

SQL = "SELECT * From maillista WHERE 1=2"

rs.Open SQL, MinCon, 1, 2

 

 

rs.AddNew

rs("Namn") = Request.Form("Namn")

rs("Password") = Request.Form("Password")

rs("Login") = Request.Form("Login")

rs("Epost") = Request.Form("Epost")

rs.Update

rs.Close

set rs =nothing

MinCon.Close

set MinCon = nothing

 

%>

Länk till kommentar
Dela på andra webbplatser

Markus Johansson

Jag tror man kan göra så här.

När det är en ny person som ska registrera sig så söker man efter samma användarnamn/lösenord som den nyregistrerade personen skrev in.

SELECT lösenord/användare from tabell where lösenord/användare = Request.Form("lösenord/användare")

Om den inte hittar någonting likadant då är ju RS.EOF.

If rs.eof

then its OK!

Else Its not OK

 

fattar nån förstod var jag menade.. Jag sa samma sak som en annan kille sa innnan typ.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...