/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Log in og verificering
Fra : Michael Borup


Dato : 08-12-05 13:42

Hej
I mit script (nedenfor) bliver brugeren verificeret på et
indtastet nummer. Hvis de findes i db kan de få lov til at
tilmelde sig en begivenhed. Checkbox´en 'Tilmeld' skriver et JA i
db.
Problemstilling: hvis brugerne prøver at tilmelde sig igen skal
scriptet læse i feltet 'Tilmeld' og hvis 'JA' får bliver brugeren
afvist med en besked. Hvordan gør man det?

<%
set conn = server.CreateObject("ADODB.connection")
conn.open "Driver={Microsoft Access Driver (*.mdb)};dbq=" &
Server.MapPath("falcon4711.mdb")

mode=request("mode")
%>
<table border="0" cellspacing="0" cellpadding="0" align="center"
width="747" height="90" class=BoxFrontPageHead >
<tr>
<td width="753" height="90">

<p>
<br>
<%
if mode="" then %>
</font>
<form method="post" action="tilmeld_web.asp?mode=check">
<table>
<tr><td>Studienummer :</td></tr>
<tr><td><input type="text" size="10" name="Studienr"></td>
<input type="submit" value="Log ind"></td></tr>
</table>
</form>

<% end if %>

<% if mode="check" then
if not request("Studienr")<>"" then
   response.write "Indtast dit studienummer!"
   response.end
end if

Studienr=replace(request("Studienr"), "'", "´")

sql="select * from webtilmeld where Studienr='" & Studienr & "' "
set check = conn.execute(sql)
if not check.eof then
   response.redirect "tilmeld_web.asp?mode=hent&id=" & check("Id")
   response.end
else
   response.write "Det indtastede studienummer eksisterer ikke!"
   response.end

end if
end if




if mode="hent" then
'Henter dataer fra databasen
sql="select * from webtilmeld where id=" & request("Id")
set jcvu = conn.execute(sql)


if not jcvu.eof then
%>
</font>
<form method="post" action="tilmeld_web.asp?mode=update">
<input type="hidden" name="id" value="<%=jcvu("ID")%>">
<table width="742" class="boxFrontPage">

<tr>
<td width="734"><input type="text" name="Studienr"
value="<%=jcvu("Studienr")%>" readonly size="6"> </td>
</tr>
<tr>
<td width="734">Navn</td>
</tr>
<tr>
<td width="734">
<input type="text" name="Navn" value="<%=jcvu("Navn")%>"
readonly size="39"> </font></td>
</tr>
<tr><td width="734">Indtast E mail</td></tr>
<tr><td width="734"> <input type="text" name="Email"
value="<%=jcvu("Email")%>" size="39"></td></tr><tr><td
width="734">
<tr><td width="734">Jeg tilmelder mig til festen den 24.12.05
   
   <input type="checkbox" name="Tilmeldt"
value="<%=jcvu("Tilmeldt")%>JA">&nbsp;</td></tr><tr><td
width="734">&nbsp; <input type="submit" value="Gem">&nbsp;<input
type="button" value="Afslut"
onclick="javascript:location.href='tilmeld_web.asp'"></font></td>
</tr>
</form>
<% end if
end if

if mode="update" then
'Opdatere dataerne
'
sql="update webtilmeld set Studienr='" & request("Studienr") &
"', Navn='" & request("Navn") &"', Email='" & request("Email") &
"', Tilmeldt='" & request("Tilmeldt") & "' where ID=" &
request("ID")
On error resume next
   conn.execute(sql)
On error goto 0

'Kontroller om der er fejl i SQL'en
IF conn.Errors.Count <> 0 then
   'Hvis der opdages fejl stopper scriptet
   response.write "Der er desværre opstået en fejl"
   response.end
Else
   'Sender brugen tilbage til den pågældende institution
   response.redirect "tak.asp?mode=hent&id=" & request("Id")
End If

end if
%>

På forhånd tak!
/Michael Borup


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Adam Ellesøe (09-12-2005)
Kommentar
Fra : Adam Ellesøe


Dato : 09-12-05 20:35

Kan du muligvis specificerer din kode... Altså ikke vise den hele, men kun
delen med problemet?
Jeg tror der er flere der ville hjælpe dig hvis ikke de skulle bruge så lang
tid på at sætte sig ind i problemet..
--
MVH
Adam G. Ellesøe



Michael Borup (12-12-2005)
Kommentar
Fra : Michael Borup


Dato : 12-12-05 08:46

> Kan du muligvis specificerer din kode... Altså ikke vise den hele, men kun
> delen med problemet?
> Jeg tror der er flere der ville hjælpe dig hvis ikke de skulle bruge så lang
> tid på at sætte sig ind i problemet..
> --
> MVH
> Adam G. Ellesøe

Hej Adam
Det drejer sig om flg.:

<%
if mode="" then %>
</font>
<form method="post" action="tilmeld_web.asp?mode=check">
<table>
<tr><td>Studienummer :</td></tr>
<tr><td><input type="text" size="10" name="Studienr"></td>
<input type="submit" value="Log ind"></td></tr>
</table>
</form>

<% end if %>

<% if mode="check" then
if not request("Studienr")<>"" then
response.write "Indtast dit studienummer!"
response.end
end if

Studienr=replace(request("Studienr"), "'", "´")

sql="select * from webtilmeld where Studienr='" & Studienr & "' "
set check = conn.execute(sql)
if not check.eof then
response.redirect "tilmeld_web.asp?mode=hent&id=" & check("Id")
response.end
else
response.write "Det indtastede studienummer eksisterer ikke!"
response.end

end if
end if

Jeg skal have løst flg.:
Når brugeren er logget på gennem ovenstående script, kan de tilmelde sig en
begivenhed. Når de er tilmeldt og prøver at logge på igen, skal scriptet læse
i 'tilmeld' feltet. Hvis JA kommer de ikke længere, men får beskeden 'Du er
allerede tilmeldt'.
Bedste hilsner
Michael


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Adam Ellesøe (12-12-2005)
Kommentar
Fra : Adam Ellesøe


Dato : 12-12-05 17:27

> <%
> if mode="" then %>
> </font>
> <form method="post" action="tilmeld_web.asp?mode=check">
> <table>
> <tr><td>Studienummer :</td></tr>
> <tr><td><input type="text" size="10" name="Studienr"></td>
> <input type="submit" value="Log ind"></td></tr>
> </table>
> </form>
>
> <% end if %>
>
> <% if mode="check" then
> if not request("Studienr")<>"" then
> response.write "Indtast dit studienummer!"
> response.end
> end if
>
> Studienr=replace(request("Studienr"), "'", "´")
>
> sql="select * from webtilmeld where Studienr='" & Studienr & "' "
> set check = conn.execute(sql)
> if not check.eof then
> response.redirect "tilmeld_web.asp?mode=hent&id=" & check("Id")
> response.end
> else
> response.write "Det indtastede studienummer eksisterer ikke!"
> response.end
>
> end if
> end if
>
> Jeg skal have løst flg.:
> Når brugeren er logget på gennem ovenstående script, kan de tilmelde sig
> en
> begivenhed. Når de er tilmeldt og prøver at logge på igen, skal scriptet
> læse
> i 'tilmeld' feltet. Hvis JA kommer de ikke længere, men får beskeden 'Du
> er
> allerede tilmeldt'.
> Bedste hilsner
> Michael
Jeg går udfra at alle studienumrene har en unik værdi i db, herudover kunne
værdierne for hvilke events den enkelte var tilmeldt også gemmes. Og så tror
jeg at jeg ville smide infoen over i et array... Der er mange andre måder at
gøre det på, måske også nogle der er smatere
Men i korte træk:

ID = 1, Studienr = 2201, Tilmeldte_events_ID: 3,1,8,6

arrEvents = Split(rs("Tilmeldte_events_ID"),",")

For t = LBound(arrEvents ) to UBound(arrEvents )
If arrEvents(t) = Værdi for tilmelding then
Response.write "du er meldt til"
end if
Next
Hvis du er god til sql, så kan du oprette 2 tabeller hvor du joiner dem via
ID'værdien... Dette vil være den bedste løsning hvis du vil lave søgninger,
ang hvem der er tilmeldt hvad, osv.... Se her
http://www.w3schools.com/sql/sql_join.asp
--
MVH
Adam G. Ellesøe



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408514
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste