- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- [ASP]come creare un login e registrazione utenti
-
posta la pagina dove inserisci gli utenti nel db e vediamo che si può fare
Ciao
-
Sapevo di poter contare su di voi
il file si chiama registrami.asp, il contenuto è questo:
<%
dim nome
dim user
dim pwd
nome=request.form("form_nome")
user=request.form("form_user")
pwd=request.form("form_password")
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("mdb-database/pass.mdb")
sql = "SELECT * FROM pass"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
RS.AddNew
rs.Fields("nome")=nome
rs.Fields("user")=user
rs.Fields("pwd")=pwd
rs.update
RS.Close
Set RS=Nothing
conn.Close
Set conn=Nothing
response.redirect("reg_ok.htm")
%>
-
esiste poi un'altro file che si chiama validate.asp che ha il compito di verificare i dati inseriti nel database, il contenuto è questo:
<%
dim url
url=request.querystring("url")
%>
<form method="POST" action="check.asp">
<p align="center">Username<br>
<input type="text" name="form_user" size="20"></p>
<p align="center">Password<br>
<input type="password" name="form_password" size="20"></p>
<p align="center"><input type="submit" value="Invia" name="B1"><input type="reset" value="Reimposta" name="B2"></p>
<input type="hidden" name="form_url" value="<% = url %>">
-
Non mi abbandonate
-
Prova così, facci sapere, ciao:
<% dim nome dim user dim pwd 'evitiamo l'SQL Injection replicando gli apici nome=**Replace(**request.form("form_nome")**,"'","''")** user=**Replace(**request.form("form_user")**,"'","''")** password=**Replace(**request.form("form_password")**,"'","''")** Dim conn Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("mdb-database/pass.mdb") sql = "SELECT * FROM pass** WHERE user = '" & user & "'**" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn, 3, 3 **If rs.EOF then** RS.AddNew rs.Fields("nome")=nome rs.Fields("user")=user rs.Fields("pwd")=pwd rs.update RS.Close Set RS=Nothing conn.Close Set conn=Nothing response.redirect("reg_ok.htm") **Else Response.Write("User giá esistente") Response.End RS.Close Set RS=Nothing conn.Close Set conn=Nothing End if** %>
-
Funziona siete sempre i migliori grazie 1000 !
Se avete anche sotto mano uno script con l'aggiunta dell'opzione dell'invio dei dati tramite email sarebbe il massimo !!!
Grazieeeeeee !!!!
-
Ciao, scusa se non ti ho risposto prima ma ho la linead che da agosto non funziona e aspetto il tecnico...
Comuqnue per inviare una mail (ipotizzando che usi cdosys) basta fare così:
Dim objMail, objConfig Set objMail = Server.createObject("CDO.Message") Set objConfig = Server.createObject ("CDO.Configuration") With objConfig .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "il tuo smtp" .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Fields.update End With Set objMail.Configuration = objConfig objMail.From = "[email protected]" ' Mittente objMail.To = "qui ci metti la mail del destinatario" ' Destinatario objMail.Subject = "Oggetto mail" objMail.HTMLBody = "Ciao la tua user è: " & user & " e la tua password è:" & password objMail.Send() Set objMail = Nothing
Ciao
-
Legolas questo va copiato sempre su "registrami.asp" ?
-
@gelova said:
Legolas questo va copiato sempre su "registrami.asp" ?
Si.
Magari però prima di fare copia incolla leggiti lo script perchè alcune voci le devi editere teCiao
-
@Legolas said:
objMail.From = "[email protected]" ' Mittente objMail.To = "qui ci metti la mail del destinatario" ' Destinatario
Infatti non ho ben capito questi passaggi.....se "[email protected]" si iscrive
il proprietario del sito ad esempio "[email protected]" dovrebbe ricevere un'email da "[email protected]".....come faccio ad inserire l'email del mittente se non so chi si iscrive ? :bho:
-
Dunque mi sono per un attimo, la mail la deve ricevere l'utente ho il proprietario del sito?
-
Il proprietario del sito deve ricevere nella sua casella di posta l'avvenuta registrazione dell'utente (naturalmente se è possibile con tutti i dati che l'utente ha inserito nel form)
-
Il proprietario del sito deve ricevere nella sua casella di posta l'avvenuta registrazione dell'utente (naturalmente se è possibile con tutti i dati che l'utente ha inserito nel form)
Allora è ancora più semplice;objMail.From = "[email protected]" ' Ci puoi scrivere anche la mail del destinatario objMail.To = "[email protected]" 'Mail del destinatario
Quindi ipotiziamo che il destinatario si [EMAIL="[email protected]"][email protected][/EMAIL]
objMail.From = "[email protected]" objMail.To = "[email protected]"
Per i dati inseriti nel forum direi che puoi aggiustare ciò che ti avevo postato prima
Ciao
-
@Legolas said:
objMail.From = "[email protected]" ' Ci puoi scrivere anche la mail del destinatario
objMail.To = "[email protected]" 'Mail del destinatario
Quindi ipotiziamo che il destinatario si [EMAIL="[email protected]"][email protected][/EMAIL]
objMail.From = "[email protected]"
objMail.To = "[email protected]"
Per i dati inseriti nel forum direi che puoi aggiustare ciò che ti avevo postato prima
Ciao
Non ho capito un tubo !!!!
Come fa ad esempio "tizio" (proprietario del sito e quindi colui che riceve l'email dopo che un utente si è iscritto) a inserire in
"objMail.To = [email][email protected][/email]" se non sà chi si iscrive ?
Ripongo la questione:
Esiste una pag. web di proprietà di "tizio", ma per visionarla occorre registrarsi (e sino a qui ci siamo) .
"Caio" vuole visionare la pag. di "tizio" e decide di iscriversi quindi metterà i dati User,Password ecc... , quando l'accesso è avvenuto
(e quindi la registrazione è andata a buon fine)
Tizio riceverà nella sua casella email l'avvenuta registrazione di Caio, ma solo allora Tizio può sapere l'email di Caio, perchè Caio l'avrà inserita nel form !
Spero di essere stato chiaro !!!!
-
ah, te vuoi anche sapere l'email di chi si iscrive:
bhe nel form ci metti un campo mail
<input type="text" name="mail" id="mail"/>
poi
nel campo from:objMail.From = request.form("mail")
Ovviamente si può migliorare aggiungendo un controllo per la validità della mail, ma comuqnue questo è il codice base
Ciao
-
Quindi tirando le somme il codice dovrebbe essere questo:
Ma non capisco quale dei due devo utilizzare "objMail.From"
guarda in fondo alla pagina. :bho:<%
dim nome
dim user
dim pwd
'evitiamo l'SQL Injection replicando gli apici
nome=Replace(request.form("form_nome"),"'","''")
user=Replace(request.form("form_user"),"'","''")
password=Replace(request.form("form_password"),"'","''")
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("mdb-database/pass.mdb")
sql = "SELECT * FROM pass WHERE user = '" & user & "'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3If rs.EOF then
RS.AddNew
rs.Fields("nome")=nome
rs.Fields("user")=user
rs.Fields("pwd")=pwd
rs.update
RS.Close
Set RS=Nothing
conn.Close
Set conn=Nothing
response.redirect("reg_ok.htm")Else
Response.Write("User giá esistente")
Response.End
RS.Close
Set RS=Nothing
conn.Close
Set conn=NothingEnd if
%>Dim objMail, objConfig
Set objMail = Server.createObject("CDO.Message")
Set objConfig = Server.createObject ("CDO.Configuration")With objConfig
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "il tuo smtp"
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.update
End WithSet objMail.Configuration = objConfig objMail.From = "[email protected]" 'Mail del destinatario <----- QUESTO objMail.From = request.form("mail") <---- O QUESTO objMail.To = "[email protected]" 'Mail del destinatario objMail.Subject = "Oggetto mail" objMail.HTMLBody = "Ciao la tua user è: " & user & " e la tua password è:" & password objMail.Send() Set objMail = Nothing
-
Devi usare l'ultimo che ti ho dato.
La prossima volta che posti il codice per favore racchiudilo tra i tag appropriati. [ CODE ] [/ CODE ]
Ciao
-
Scusami hai ragione, ok lo provo e ti faccio sapere !;)
-
@Legolas said:
<%
Dim objMail, objConfig
Set objMail = Server.createObject("CDO.Message")
Set objConfig = Server.createObject ("CDO.Configuration")With objConfig
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "il tuo smtp"
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.update
End WithSet objMail.Configuration = objConfig objMail.From = request.form("mail") objMail.To = "qui ci metti la mail del destinatario" ' Destinatario objMail.Subject = "Oggetto mail" objMail.HTMLBody = "Ciao la tua user è: " & user & " e la tua password è:" & password objMail.Send() Set objMail = Nothing
%>
Scusami Legolas se solo ho provato il codice da te inviatomi, (ho avuto qualche problema di troppo) ma prima di provarlo ho nuovamente controllato e secondo me vi è qualcosa che non và !
@Legolas said:objMail.To = "qui ci metti la mail del destinatario" ' Destinatario
Lo scopo del form con registrazione (oltre naturalmente alla registrazione stessa) è anche quella di sapere chi si è registrato, e questo desidererei saperlo tramite un'email che mi arriva non appena l'utente si è appena registrato !
-
objMail.To = "qui ci metti la mail del destinatario" ' Destinatario
La mail deve arrivare a te giusto?
Quindi ci metti la tua email
Ciao