Ecco il codice con i tag:
codice:
<!-- #include virtual="/header.asp"-->
<title>CCI - AREA SOCI</title>
<meta name="description" content="CorsaClub.it - Accesso Area Soci" />
</head>
<!-- #include virtual="/menu.asp"-->
<div id="centrale" >
<% if sessionemail <> "" then
response.redirect("/soci/")
end if
IF request.form("submit")="accedi" then
'login
emailn = request.form("email")
pass = request.form("password")
strsql="SELECT count(*) AS verifica FROM soci WHERE email = '" & emailn & "' AND pwd = '" & pass & "'"
response.write "<hr>"&strsql&"<hr>":response.flush
Set res=connessione.Execute(strsql)
con1=res.Fields("verifica")
res.close
'ban
strsql="SELECT COUNT(*) AS VERIFICA FROM soci WHERE email LIKE '" & emailn & "' AND BAN = true"
Set BAN2=connessione.Execute(strsql)
if ban2("verifica") > 0 then
response.redirect("?msg=Il tuo account è stato disabilitato, per chiarimenti contatta i webmaster")
end if
'invisibile
strsql="SELECT COUNT(*) AS VERIFICA FROM soci WHERE email LIKE '" & emailn & "' AND invisibile = true"
Set BAN2=connessione.Execute(strsql)
if ban2("verifica") > 0 then
response.redirect("?msg=La tua richiesta d'iscrizione è stata inibita, contatta il webmaster per spiegazioni")
end if
'exsocio
strsql="SELECT COUNT(*) AS VERIFICA FROM soci WHERE email LIKE '" & emailn & "' and pwd= '" & pass & "' and exsocio = true"
Set BAN2=connessione.Execute(strsql)
if ban2("verifica") > 0 then
session("nuovo") = emailn
strsql="SELECT * FROM dati_soci WHERE email LIKE '" & emailn & "' AND exsocio = true"
Set nuovo=connessione.Execute(strsql)
session("id_nuovo") = nuovo("id")
if nuovo("controllo_dati") = true then
response.redirect("/soci/dati_mancanti.asp")
end if
response.redirect("/nonsoci/exsocio.asp?msg=Sei un Ex-Socio, ti invitiamo a contattare il Direttivo per riattivarti come Socio.")
'response.redirect("?msg=Sei un exsocio, per essere riabitato contatta il webmaster")
end if
'NUOVO UTENTE
strsql="SELECT COUNT(*) AS VERIFICA FROM dati_soci WHERE email LIKE '" & emailn & "' and pwd= '" & pass & "' and nuovo_iscritto = true"
Set nuovo=connessione.Execute(strsql)
if nuovo("verifica") > 0 then
strsql="SELECT * FROM dati_soci WHERE email LIKE '" & emailn & "' and nuovo_iscritto = true"
Set nuovo=connessione.Execute(strsql)
session("nuovo") = emailn
session("id_nuovo") = nuovo("id")
if nuovo("controllo_dati") = true then
response.redirect("/soci/dati_mancanti.asp")
end if
response.redirect("/nonsoci/index.asp")
end if
if con1 = 1 then
session("email") = emailn
session("password") = pass
session("socio") = "si"
Session.Timeout = 90
if request.form("cookie") <> "" then
cookie = "?cookie="& request.form("cookie")
end if
response.redirect("/soci/" & cookie)
else
response.redirect("?msg=Nick/password Errati")
end if
end if %>
<h1>Effettuare il login<br /> </h1>
<form method="post" action="">
<div>
<p><b>Nickname</b> <input type="text" name="email" /></p>
<p><b>Password </b> <input type="password" name="password" /></p>
<h2><input type="submit" value="accedi" name="submit" /></h2>
<h2> </h2>
<p>Login automatico ad ogni visita: <input type="checkbox" name="cookie" value="si" /></p>
</div>
</form>
<h1> </h1>
<p><b><a href="/recupera_password.asp">Recupera Password</a></b></p>
</div>
<!--#include virtual="/footer.asp"-->
---------------
@br1: se inserisco la riga che dici tu mi esce:
SELECT count(*) AS verifica FROM soci WHERE email = 'pippo@gmail.com' AND pwd = 'pipe'
Response object error 'ASP 0156 : 80004005'
Header Error
/login.asp, line 104
The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.
---------------
@optime: ho messo = al posto di LIKE ma il problema persiste.
---------------
Ho giocato con il database Access e ho riscontrato che: se copio il vecchio database, il login tramite email funziona alla perfezione. Se dalla tabella dove ci sono i dati degli utenti, elimino due caselle che richiedono i colori degli adesivi, ho questo errore. Già provato a compattare il database dopo la modifica ma con esito negativo.
Quello che non capisco è: se io nel database non tocco i campi mail, nick e password, perché con la ricerca tramite nickname non ho mail problemi, mentre con la ricerca tramite email mi va in errore?