Odavno nisam radio sa ASPom, ali malo to cudno izgleda.
Kao prvo, sta ce ti tu definicija f-je daliPostoji()?
Ubaci je na pocetak/kraj fajla ili u novi fajl pa taj novi fajl include-uj u ovaj, a na tom mestu samo napravi poziv te f-je.
Ne treba ti u sql-u da bude count(*). Dovoljno da stavis * ili npr. samo jedan atribut, da se ne muci baza, a posle samo pitas if recordSet.eof then.
Escape-uj text koji ti dolazi iz textboxa (kada upisujes u bazu) da baza ne bi bila podlozna sql injection napadima - zameni ' (apostrof) sa '' (dva apostrofa) kao nekiString.Replace("'", "''").
if dbupit.BOF And dbupit.EOF then
Ovde nema potrebe da stoji i BOF i EOF.
Dovoljno samo -> if dbupit.eof then '// nema korisnika
U f-ji daliPostoji bi bilo dovoljno samo ovo:
if dbupit.EOF then
response.write "Ne postoji!"
'// ovde postavis sql za insert, DB.Execute kveri i redirect
else
%>
<script language="javascript">
alert("Morate izabrati drugo korisnicko ime, to je zauzeto!");
</script>
<%
End if
%>
A ovo -> daliPostoji=false ne moze tako.
Ne mozes f-ji da dodeljujes vrednost kao varijabli.
Nadam se da nisam nista propustio.
Dopuna: 14 Jan 2008 1:57
Ispravka...
A ovo -> daliPostoji=false ne moze tako.
Ne mozes f-ji da dodeljujes vrednost kao varijabli.
Ovo sto sam napisao nije u potpunosti tacno .
Na ovaj nacin vbscript vraca rezultat f-je.
Dosta vremena proslo, zaboravi se .
Tako da sadrzaj f-je moze da bude sledeci:
function daliPostoji()
upit2 = "Select * from korisnik where name='" & username.Replace("'", "'") & "'"
set dbupit = Server.CreateObject("ADODB.RecordSet")
dbupit.Open upit2, DB
if dbupit.EOF then
response.write "Ne postoji!"
daliPostoji=false
else
response.write "Postoji!"
daliPostoji = true
End if
end function
I onda kasnije:
<%
if daliPostoji then
%>
<script language="javascript">
alert("Morate izabrati drugo korisnicko ime, to je zauzeto!");
</script>
<%
else
kveri = "Insert into korisnik(username,lozinka,email,imeprezime,drzava,opis) values('"&username&"','"&lozinka&"','"&imeprezime&"','"&drzava&"','"&opis&"')"
response.write kveri
DB.Execute kveri
response.redirect("registracijauspesna.asp")
%>
|