- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- [ASP]come creare un login e registrazione utenti
-
@gelova said:
Ho provato a lasciare vuoti i campi e cliccare sul tasto registrami e mi appare un schermata bianca con un errore cosa dovrei inserire per obbligare l'utente a riempire tutti i campi ?
Grazie !!!!!
Ricerca validazione form su google.
Ad ogni modo ti consiglio di validare il form sia via javascript che, successivamente, via asp. Via asp devi controllare che i valori immessi dall'utente siano validi, ad esempio qualcosa del genere:
nome = Request("nome") dataNascita = Request("dataNascita") If nome = "" then errore = "Nome é vuoto<br>" If dataNascita = "" or not IsDate(dataNascita) then errore = errore & "Data di nascita non valida<br>" ... If errore <> "" then Response.Write(errore) Response.End Else ... End if
-
Mi da questo errore > Microsoft VBScript compilation error '800a03f6'
Expected 'End'Il codice è questo
<%
theSchema="http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig=server.CreateObject("CDO.Configuration")
cdoConfig.Fields.Item(theSchema & "sendusing")=2
cdoConfig.Fields.Item(theSchema & "smtpserver")="smtp.soluzionepc.it"
cdoConfig.Fields.Updateset cdoMessage=Server.CreateObject("CDO.Message")
cdoMessage.Configuration=cdoConfigcdoMessage.From=Request.Form("email")
cdoMessage.To="[email protected]"
cdoMessage.Subject=Request.Form("subject")
cdomessage.HtmlBody="Nome:" & request.form("nome") & "<br/>Cognome:" & Request.form("cognome") & "<br/>Citta:" & request.form("citta") & "<br/>Email:" & request.Form("email") & "<br/>Commenti:" & request.Form("commenti")
cdoMessage.SendSet cdoMessage=Nothing
Set cdoConfig=Nothingnome = Request("nome")
cognome = Request("cognome")
citta = Request(citta)
email = Request(email)
commenti = Request(commenti)If nome = "" then errore = "Nome é vuoto<br>"
If cognome = "" then errore = "cognome é vuoto<br>"
If citta = "" then errore = "citta é vuoto<br>"
If email = "" then errore = "email é vuoto<br>"
If cognome = "" then errore = "commenti é vuoto<br>"
If errore <> "" then
Response.Write(errore)
Response.Endx:x
-
-
L'errore è cambiato > CDO.Message.1 error '8004020d'
At least one of the From or Sender fields is required, and neither was found.
/inviomail.asp, line 15il file inviomail.asp è questo
<%
theSchema="http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig=server.CreateObject("CDO.Configuration")
cdoConfig.Fields.Item(theSchema & "sendusing")=2
cdoConfig.Fields.Item(theSchema & "smtpserver")="smtp.soluzionepc.it"
cdoConfig.Fields.Updateset cdoMessage=Server.CreateObject("CDO.Message")
cdoMessage.Configuration=cdoConfigcdoMessage.From=Request.Form("email")
cdoMessage.To="[email protected]"
cdoMessage.Subject=Request.Form("subject")
cdomessage.HtmlBody="Nome:" & request.form("nome") & "<br/>Cognome:" & Request.form("cognome") & "<br/>Citta:" & request.form("citta") & "<br/>Email:" & request.Form("email") & "<br/>Commenti:" & request.Form("commenti")
cdoMessage.Send <--------------line 15Set cdoMessage=Nothing
Set cdoConfig=Nothingnome = Request("nome")
cognome = Request("cognome")
citta = Request(citta)
email = Request(email)
commenti = Request(commenti)If nome = "" then errore = "Nome é vuoto<br>"
If cognome = "" then errore = "cognome é vuoto<br>"
If citta = "" then errore = "citta é vuoto<br>"
If email = "" then errore = "email é vuoto<br>"
If cognome = "" then errore = "commenti é vuoto<br>"
If errore <> "" then
Response.Write(errore)
End if
x:x
-
@gelova said:
L'errore è cambiato
il file inviomail.asp è questo
x:xAt least one of the From or Sender fields is required, and neither was found
Cerchiamo di capirli i messaggi di errore.
Almeno un mittente è necessario.
Quindi cdoMessage.From=Request.Form("email") non contiene l'email
-
Allora sono due le cose o il form è costruito male o sono io che non ho capito un tubo......
credo che l'unica cosa necessaria sia l'email del destinatario non quella del mittente,come faccio a sapere l'email del mittente (il mittente è colui che riempie il form) .
Considera che il form ha questi campi Nome,Cognome,Città,email,Commenti (come si evince dal codice) :bho:
-
@gelova said:
Allora sono due le cose o il form è costruito male o sono io che non ho capito un tubo......
credo che l'unica cosa necessaria sia l'email del destinatario non quella del mittente,come faccio a sapere l'email del mittente (il mittente è colui che riempie il form) .
Considera che il form ha questi campi Nome,Cognome,Città,email,Commenti (come si evince dal codice) :bho:L'email mittente è quella inserita dall'utente (Request("email")) quindi sta bene così ma andrà in errore se lasci quel campo vuoto. Deve essere un campo obbligatorio.
-
Madai scusami ma questo codice che mi hai dato tu non dovrebbe servire appunto a validare i campi ?
If nome = "" then errore = "Nome é vuoto<br>"
If cognome = "" then errore = "cognome é vuoto<br>"
If citta = "" then errore = "citta é vuoto<br>"
If email = "" then errore = "email é vuoto<br>"
If cognome = "" then errore = "commenti é vuoto<br>"
If errore <> "" then
Response.Write(errore)
End if
Ma allora perchè se lascio il campo email vuoto mi dà la classica pag.bianca ?:bho:
-
Perchè è sbagliato qui (occhio agli apici):
nome = Request("nome") cognome = Request("cognome") citta = Request("citta") email = Request("email") commenti = Request("commenti")
inoltre modifica il codice che ti ho dato come segue:
If nome = "" then errore = "Nome é vuoto<br>" If cognome = "" then errore = errore & "cognome é vuoto<br>" If citta = "" then errore = errore & "citta é vuoto<br>" If email = "" then errore = errore & "email é vuoto<br>" If cognome = "" then errore = errore & "commenti é vuoto<br>" If errore <> "" then Response.Write(errore) End if
-
Grazie dei suggerimenti madai, ho fatto le modifiche come da te suggerite
però se non viene riempito il campo email, mi esce sempre il messaggioCDO.Message.1 error '8004020d'
At least one of the From or Sender fields is required, and neither was found.
/inviomail.asp, line 15Se viene riempito il campo email e si lasciano vuoti gli altri funziona !:bho:
-
Il controllo per la validazione dei campi va **ovviamente **messo in cima alla pagina non alla fine. **Prima **avviene il controllo, **dopo **se il controllo è positivo si prosegue con l'invio dell'email altrimenti si blocca stampando a video l'errore.
PS: aggiungi Response.End in caso di errore, così:
If nome = "" then errore = "Nome é vuoto<br>" If cognome = "" then errore = errore & "cognome é vuoto<br>" If citta = "" then errore = errore & "citta é vuoto<br>" If email = "" then errore = errore & "email é vuoto<br>" If cognome = "" then errore = errore & "commenti é vuoto<br>" If errore <> "" then Response.Write(errore) **Response.End** End if
-
Funziona yahoooooo !!!!! Madai sei un grande.....un'ultima cosa.....so che ti ho stressato abbastanza....l'ultimo sforzo,il prog. funziona perfettamente con IE 6 mentre ho provato con Firefox e nella pagina che contiene il form (contatti.html) in cima prima dei campi la scritta
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
perchè ?????
-
-
@gelova said:
Funziona yahoooooo !!!!! Madai sei un grande.....un'ultima cosa.....so che ti ho stressato abbastanza....l'ultimo sforzo,il prog. funziona perfettamente con IE 6 mentre ho provato con Firefox e nella pagina che contiene il form (contatti.html) in cima prima dei campi la scritta
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
perchè ?????
Se e' una pagina html non devi mettere l'intestazione <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>. Eliminala.
-
x:x ........Questa cache.....di firefox certe volte fa i capricci...
Ok ! Risolto, grazie ancora !!!!
-
anch'io ho un sito ... index.htm va bene ma gli altri noo!!!!!!!!
appare il codice sorgente invece ke la pagina.
:?:x
-
@Dogeland said:
anch'io ho un sito ... index.htm va bene ma gli altri noo!!!!!!!!
appare il codice sorgente invece ke la pagina.
:?:x
Evidentemente è un hosting free senza alcun supporto a codice lato server.Per gli altri: Sinceramente avrei fatto la pagina del form e dell'invio e l'avrei allegata al post uhauhauhauhauh
In certi casi diventa veramente complesso gestire degli errori insignificanti
-
è un sito altervista ma ho visto altri utenti farlo!!chedici::slider_furious:
-
se non ricordo male altervista permette si l'uso di codice latoclient però permette php
Ciao
-
scusa la mia curiosità, però visto che usi asp.net perchè non ti scarichi dal sito della microsoft visual web developer express edition? è molto comodo per usare asp.net e sopratutto puoi mettere il codice in vb.net ( qll ke tu chiami script ) in una pagina separata e viene fuori un lavoro molto pulito ed ordinato
comunque il codice usando vwd è:imports system.data.oledb
public class form1
dim con as oledbconnection
dim comm as oledbcommand
dim strsql as string
dim strcon as string
public sub button1_click(.....)'questa e la sub del botton (sempre con wvd)
dim nome as string=textbox1.text
dim cognome as string = textbox2.text
dim username as string=textbox3.text
dim psw as string=textbox4.text
strcon="Provider=Microsoft.Jet.OleDb.4.0.0 Data Source=indirizzo del db"
con=new oledbconnection(strcon)
strsql="INSERT INTO (nome,[cognome],[username],[password]) VALUES (' " & nome & " ',' " & cognome & " ',' " & username & " ',' " & psw & " ');"
com=new oledbcommand(strsql,con)
con.open
com.executenonquery
con.close
end sub
end classquesto è funzionante ed è senza controlli quelli poi fai in un attimo a metterli basta che nella strsql gli cambi la query.
Comunque qualcuno sa come si fa il login e come si usa la session per farlo??? GRazie in anticipo