Salve a tutti. Sto cercando di scrivere un procedura per un cambio di password. Vi allego il codice.

<font size="5">
<form method="post" action="cambiopass2.asp">
Vecchia Password

<td><input type="password" name="vecchia" maxlength="15">



Nuova Password

<input type="password" name="nuova" maxlength="15">



Conferma Password

<input type="password" name="conferma">



<input type="submit" name="cambia" value="Conferma">

</form>

<%

cambia = Server.HTMLEncode(Request.Form("cambia"));
vecchia = Request.Form("vecchia");
nuova = Request.Form("nuova");
conferma = Request.Form("conferma");

if (cambia = "Conferma"){
strConn = "";
strConn += "driver={Microsoft Access Driver (*.mdb)};";
strConn += "dbq=" + Server.MapPath("utenze.mdb") + ";";
ADOConn = new ActiveXObject("ADODB.Connection");
ADORecd = new ActiveXObject("ADODB.Recordset");
ADOConn.Open(strConn);
sql = "SELECT password FROM utenti WHERE username = '" + Session("username") + "'";
ADORecd.Open(sql,ADOConn,1);
if (vecchia = "" || nuova=""){
Response.Write("Specificare dei valori");}
else if (nuova != conferma){
Response.Write("La conferma della nuova password è errata");}
else if (vecchia = nuova){
Response.Write("La vecchia e la nuova password coincidono");}
else {
sql = "UPDATE utenti SET password = '" + nuova + "' WHERE username = '" + Session("username") + "'";
ADOConn.Execute(sql);
Response.Write("Password modificata con successo.");
}
ADORecd.Close();
ADOConn.Close();
}
%>

Praticamente dovrebbe eseguire la condizione if solo quando clicco sul tasto conferma mentre appena apre la pagina lo esegue subito come mai? altra cosa nell'istruzione if (vecchia = "" || nuova="") se io metto l'or mi da un errore. Quale potrebbe essere il problema? Grazie per le eventuali risposte.