הדרך שביצעת ממש לא יעילה, מאוד איטית, ומאוד מאוד לא מומלצת.
את כל מה שכתבת כאן, אפשר לכתוב ב-4 משפטים פשוטים בלי לולאות ובלי סיבוך.
סה"כ:
PHP קוד:
Dim ex: ex=1:
sqlstring="insert into Name values ('"&fname&"','"&lname&"','"&password&"','"&username&"','"&email&"','"&byear&"','"&gender&"','"&isadmin&"')":
sql="select name.fname from name where name.email='"&email&"'":
set rs=Server.CreateObject("ADODB.Recordset"):
rs.open sql,oConn,3,1:
if(not rs.eof)then
response.write "כתובת המייל אשר בחרת תפוסה, לחץ ":
response.write "<a href='register.asp'>כאן</a>":
response.write " כדי לחזור להרשמה ובחר כתובת אחרת.":
ex=0:
end if:
rs.close
sql="select name.fname from name where name.username='"&username&"'":
rs.open sql,oConn,3,1:
if(not rs.eof)then
response.write "שם המשתמש אשר בחרת תפוס, לחץ "
response.write "<a href='register.asp'>כאן</a>"
response.write " כדי לחזור להרשמה ובחר שם משתמש אחר."
ex=0
end if:
rs.close:
set rs=nothing:
if(ex=1)then
oConn.execute (sqlstring) :
end if:
מה שעשיתי, זה להזין את הEMAIL ולחפש אותו בטבלה, ואז לבדוק אם יש שורה שיש בה את האימייל אז לכתוב שהוא תפוס.
אותו הדבר בשם המשתמש.
בלי לולאות ובלי כלום.
פחות או יותר 4 שורות(SQL, RS, OPEN) שזה שורה אחת, IF, ואז הגדרת SQL לשם המשתמש, ו-IF נוסף.
זהו.
עכשין אין סיבה שזה לא יעבוד.
ודרך אגב, בגלל שאתה עובד עם אקסס, אתה יכול לעשות משהו הרבה יותר קצר, ויותר יעיל.
באקסס בהגדרות יש לא לאפשר כפלויות, ואז אתה בודק אם חוזרת שגיאה מספר(לא זוכר.. תבדוק בתיעוד של אקסס) ואם אותה שגיאה חזרה זאת אומרת שקיים אותו אימייל/שם משתמש.