creare area protetta su sito

  • Creatore Discussione Creatore Discussione alez65
  • Data di inizio Data di inizio

alez65

Nuovo Utente
16 Mag 2008
3
0
0
Ciao a tutti!! Allora ho alcune lacune da chiarire;
ho scaricato degli script già pronti e adattati alle mie esigenze per creare delle pag. con accesso solo agli utenti registrati, volevo sapere:
- ho creato il file admin.asp per vedere a video gli utenti registrati ma come faccio a sapere se sono autorizzati o no? sulla stampa a video c'è solo l'utente registrato e la possibilità di attivarlo o disattivarlo ma non so la condizione in cui si trova;
admin.asp:
<%
'Imposto una password per accedere al file...
'ricordatevi di cambiarla :-)
Dim AdminPass
AdminPass = "123456"

'Recupero il valore della querystring pass...
Dim MyPass
MyPass = request.querystring("pass")

'Verifico che MyPass sia uguale ad AdminPass
'In caso contrario stampo un errore...
if NOT MyPass = AdminPass then
response.write "Accesso NON autorizzato"
response.end
end if

'Se l'accesso è autorizzato proseguo...
'Apro la connessione al DB
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
Server.MapPath("/mdb-database/utenti_sito.mdb")

'Creo la variabile Action
Dim Action
Action = request.querystring("act")

if Action = "" then

'Imposto la query ed apro il recordset
Dim Query, Rs
Query = "select * from UTENTI order by ID desc"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open Query, Conn, 3, 3

'Se il recordset NON è vuoto...
if NOT rs.EOF Then
response.write "<table border=""1"">"

'Imposto un ciclo do While per scorrere il recordset
Do While NOT Rs.EOF
response.write "<tr><td>" & Rs("user") & "</td>"
response.write "<td><a href=""admin.asp?pass=" & MyPass & "&act=attiva&id=" & Rs("id") & """>Attiva</a> - "
response.write "<a href=""admin.asp?pass=" & MyPass & "&act=disattiva&id=" & Rs("id") & """>Disattiva</a></td></tr>"
Rs.MoveNext
Loop

response.write "</table>"

'Se il recordset è vuoto stampo un mesaggio
else

response.write "Nessun utente iscritto"
response.end

end if

'chiudo il recordset
Rs.Close
set Rs = Nothing

'Se action è su attiva...
elseif Action = "attiva" then
Conn.Execute "update UTENTI set stato = True where id = " & request("id")

'Se invece è su disattiva
elseif Action = "disattiva" then
Conn.Execute "update UTENTI set stato = False where id = " & request("id")

end if

'Chiudo la connessione al DB
Conn.Close
Set Conn= Nothing
%>


- ho creato il file protect.asp ed ho incluso all'inizio di una pag. html il codice di controllo:
<!-- #Include File="protect.asp" -->ma la pag si apre senza effettuare il controllo
dove è l'errore? grazie della collaborazione
 
Scusate ma si verifica un'altro problema se clicco sul pulsante iscriviti
senza riempire i campi avviene comunque la registrazione sul db senza il nome di nessun utente:
il file registrati.asp ha il seguente script:

<%
'Creo la variabile Action
Dim Action
Action = request.form("act")

'Se Action è vuoto stampo il modulo
if Action = "" then
%>

<form method="POST">
<input type="hidden" name="act" value="salva">
<table border="0">
<tr><td>Tua Email</td><td><input type="text" name="email" size="30"></td></tr>
<tr><td>Username</td><td><input type="text" name="user" size="30"></td></tr>
<tr><td>Password</td><td><input type="password" name="pass" size="30"></td></tr>
<tr><td colspan="2"><input type="submit" value="ISCRIVITI"></td></tr>
</table>
</form>

<%
'Se Action ha come valore "salva"...
'Inserisco i valori del modulo nel DB
elseif Action = "salva" then

'Apro la connessione al DB
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
Server.MapPath("/mdb-database/utenti_sito.mdb")

'Aggiungo un nuovo record al DB
Dim Rs
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open "UTENTI", conn, 1, 3
Rs.AddNew()
Rs("email") = request.form("email")
Rs("user") = request.form("user")
Rs("pass") = request.form("pass")
Rs("stato") = False
Rs.Update

'chiudo recordset e connessione
Rs.Close
set Rs = Nothing
Conn.Close
set Conn = Nothing

'Messaggio a video di conferma
response.write "Registrazione avvenuta con successo"
response.end

end if
%>
 
Il ciclo potresti impostarlo in questo modo:

Do While NOT Rs.EOF
response.write "<tr><td>" & Rs("user") & " " & Rs("stato") & "</td>"
response.write "<td><a href=""admin.asp?pass=" & MyPass & "&act=attiva&id=" & Rs("id") & """>Attiva</a> - "
response.write "<a href=""admin.asp?pass=" & MyPass & "&act=disattiva&id=" & Rs("id") & """>Disattiva</a></td></tr>"
Rs.MoveNext
Loop

In maniera che ti visualizzi anche lo stato dell'utente.
 

Discussioni simili