[ASP]Checken op lege Query

Pagina: 1
Acties:

  • BlackBurn
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:35

BlackBurn

One Ring To Rule Them All

Topicstarter
Als er een gebruiker zich wil aanmelden, moet hij/zij een identieke gebruikersnaam hebben, nu krijg ik het maar niet voor elkaar om het goed op te vangen als de query leeg is en er dus nog niemand is met dezelfde gebruikersnaam.
code:
1
2
3
4
5
6
7
8
9
10
11
Function Bestaat(strUserName)
Dim rsUserName
Set rsUserName= cnDB.Execute("SELECT gebruikersnaam FROM tblGebruikers WHERE gebruikersnaam='"&UCase(strUserName)&"'")

If (IsEmpty(rsUserName(0))=True) or (strUserName="") Then
  Bestaat= True
Else
  Bestaat= False
End If  
rsUserName.Close
End Function

Ik heb het echt al op tig manieren geprobeerd, maar niks krijg ik werkend ;(

P.S. Ik gebruik acces, deze is niet hoofdlettergevoelig, zie mijn vorige post hier. :)

If it is broken, fix it. If it ain't broken, make it better!


Verwijderd

Je moet dit even proberen.

If rsUserName.EOF Or rsUserName.BOF Then
response.write "geen records gevonden"
End If


EOF = End Of File
BOF = Beginning Of File

:)

  • Wally-S
  • Registratie: September 2001
  • Laatst online: 17-09 18:55

Wally-S

-Snowboarding is art-

Op dinsdag 16 oktober 2001 18:12 schreef BlackBurn het volgende:

Set rsUserName= cnDB.Execute("SELECT gebruikersnaam FROM tblGebruikers WHERE gebruikersnaam='"&UCase(strUserName)&"'")
)
Ik gebruik een makkelijke (misschien niet zo mooie) methode:

Ik selecteer gewoon alle gebruikersnamen uit de database en vergelijk die elke keer met de gebruikte.
Als die waar is geef je hem gewoon een waarde mee.

Snow is only frozen water


  • BlackBurn
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:35

BlackBurn

One Ring To Rule Them All

Topicstarter
Thank You, het werkt dus ;)

Edit: heb het al gefixt met EOF en BOF :)
Is die tweede manier niet traag?¿

If it is broken, fix it. If it ain't broken, make it better!


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 17-09 08:12

Crazy D

I think we should take a look.

Op dinsdag 16 oktober 2001 18:38 schreef BlackBurn het volgende:
Edit: heb het al gefixt met EOF en BOF :)
Is die tweede manier niet traag?¿
Alleen EOF checken is genoeg hoor :)

Hmm 2e manier? Je bedoelt, alles doorlopen en dan controlleren? Ja da's takketraag, vooral als je nogal een grote db hebt :)

PS vergeet niet om in de query in de usernaam alle ' (enkele quote) te vervangen door '' (2 keer een enkele quote) anders gaat je query niet werken ;)

Exact expert nodig?


Verwijderd

Als je wilt checken of iets is ingevult:

If Not IsNull(rsBlaat("fld_Blaatje")) Then
%> Ingevult<%
Else
%> NIET ingevult<%
End If

  • PegOpDeWeg
  • Registratie: Oktober 2001
  • Laatst online: 04-08 13:25

PegOpDeWeg

eej wasup?

oki mijn manier, beetje omslachtig maar werkt wel:

page1: gebruiker moet inloggen met username en pasword

dan wordt het form naar een validatie page gestuurd
<form action="validatie.asp" methode="POST">

Gebruik POST omdat deze de string niet in de url zet
dit doet GET namelijk wel.

page2: validatie.asp

<%
response.buffer=true

'---Check of string leeg is
if request.form("username")="" then
response.redirect "loginfout.asp"
End if

'---check of password string leeg is
if request.form("userpass")="" then
response.redirect "loginfout.asp"

'---- maak verbinding met database
Dim Conn, dbPath
dbPath = "c:\inetpub\database\database.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath

'---selecteer members tabel
Set rs= Server.CreateObject("ADODB.RecordSet")
'---------------Hier wordt het user en pass vergeleken met de database
loginvalidate="SELECT naam, password FROM memberstabel where naam='"&request.form("username")&"' and password='&"request.form("userpass")"' "

rs.open loginvalidate, conn

'--- check of user al in gebruik is
kijkuser=0
rsleeg="leeg"
do while Not(rs.EOF)
kijkuser=kijkuser+1
rsleeg="vol"
rs.MOVENEXT
LOOP
'-----------------Meer dan 1x logon (dubbel dus) dan baaibaaizwaaizwaai :)
if (kijkuser > 1) then
rs.close
response.redirect "loginfout.asp"
end if

'---------------Als leeg is (bodemloze put) en komt niet in database voor dan baaibaaizwaaizwaai :)
if (rsleeg="leeg") then
rs.close
response.redirect "loginfout.asp"
end if
rs.MOVEFIRST

'--als alles klopt maak dan een sessie aan.
session("checker")=1

set rs=nothing
conn.close

'---- dan naar members page
response.redirect "memberspage.asp"
%>

page3: memberspage.asp

bovenaan de page:
<%
IF session("checker")="1" THEN
%>
<-----inhoud van pagina--->
<html><body>
blablabla
</body></html>

<%
'--- geen login rechten dan
ELSE
%>
<html><body>
Je hebt geen rechten om deze pagina te bekijken.
login op de login page blablabla
</body></html>
<%
END IF
%>

thats it..

typos/fouten onder voorbehoud *D

"It's better to burn out, than fade away"


  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

[b]Op dinsdag 16 oktober 2001 19:41 schreef obiwanos
bla bla
tering zeg, maar als je inlogt dan delete je toch gewoon de ouwe inlog, en dan mar je rustig inloggen.

of je gebruikt kcoocies en je logt in op t ip en dan kun je nie nog een keer inloggen.......

maar verder als je de code ontleed kun je wel genoeg gebruiken natuurlijk :P

disjfa - disj·fa (meneer)
disjfa.nl


  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 16-09 08:48
Op dinsdag 16 oktober 2001 18:37 schreef Wally-S het volgende:
Ik gebruik een makkelijke (misschien niet zo mooie) methode:

Ik selecteer gewoon alle gebruikersnamen uit de database en vergelijk die elke keer met de gebruikte.
Als die waar is geef je hem gewoon een waarde mee.
Eh? En doe je dat ook nog alles met een SELECT * FROM? :o

  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

Op woensdag 17 oktober 2001 09:30 schreef Banpei het volgende:

[..]

Eh? En doe je dat ook nog alles met een SELECT * FROM? :o
das om t snel te maken, begrijp je dat dan niet }:o

disjfa - disj·fa (meneer)
disjfa.nl


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:33

BierPul

2 koffie graag

Loop andes hier ff doorheen

http://www.w3schools.com/sql/default.asp

Kost en uurtje tijd maar dan denk ik dat je wel een efficientere query neer gaat zetten.

Succes :)

Ja man


  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 16-09 08:48
Op woensdag 17 oktober 2001 09:42 schreef disjfa het volgende:

[..]

das om t snel te maken, begrijp je dat dan niet }:o
:o Doe ik het kennelijk toch al jaren voud... ;)
Pagina: 1