Este archivo se llama modificar.asp y lo uso para coger el valor nuevo de los input de el archivo datosusuario.asp que pongo mas abajo:
<h1>Modificar Datos</h1>
<%
function compruebaemail(email){
var res=false;
var expr= new RegExp ("^(\\w)+([\.-]?(\\w)+)*@(\\w)+([\.-]?(\\w)+)*(\.(\\w){2,3})+$");
var p = expr.exec(email);
if (p)
{
res=true;
}
return (res);
}
function compruebatelefono(telefono){
var res = false;
var expr = new RegExp ("^[0-9]{2,3}-? ?[0-9]{6,7}$");
var p = expr.exec(telefono);
if (p)
{
res= true;
}
return (res);
}
//lo primero que hago es declarar variables para poder
//asignarles los datos que le corresponden
var nick = Session ("nick");
var errores = new Array ();
var res = true;
var nick = Request.Form("nick").Item;
var contrasenia = Request.Form("contrasenia").Item;
var nombre = Request.Form("nombre").Item;
var apellidos = Request.Form("apellidos").Item;
var email = Request.Form("email").Item;
var telefono = Request.Form("telefono").Item;
var mensaje;
//empiezo con el chequeo del formulario
if (contrasenia == "")
{
errores.push("El campo contraseña no puede estar vacio");
res = false;
}
if (nombre == ""){
errores.push("El campo nombre no puede estar vacio");
res = false;
}
if (apellidos == ""){
errores.push ("El campo apellidos no puede estar vacio");
res = false;
}
if(email == ""){
errores.push("El campo email no puede estar vacio");
res = false;
}
if(compruebaemail(email)==false & res){
errores.push("Debe introducir un email correcto");
res = false;
}
if(telefono == ""){
errores.push("El campo telefono no puede estar vacio");
res = false;
}
if(compruebatelefono(telefono)==false & res){
errores.push("Debe de introducir un telefono correcto");
res = false;
}
//aqui acaba el chequeo de los datos
if (errores.length>0) ///compruebo si hay algun error
{
res = false;
mensaje="SE HAN DETECTADO VARIOS ERRORES:</br>";
var i;
for (i=0; i<errores.length; i++)
{
mensaje += (i+1);
mensaje += ".- ";
mensaje += errores[i];
mensaje += "</br>";
}
}
if (res == true)
{
try{
var conexion= Server.CreateObject ("ADODB.Connection");
conexion.Open ("Provider=Microsoft.Jet.OLEDB.4.0;"+" Data Source = "+Server.MapPath ("basedatos/bd.mdb"));
}
catch (e){
Response.Write ("Error1:");
Response.Write ("<b>" + e.description + "</b>");
Response.End();
}
try{
<!-- instruccion sql para actualizar los datos del socio-->
var sql= "UPDATE registro SET contrasenia='"+contrasenia+"', nombre='"+nombre+"', apellidos='"+apellidos+"', email='"+email+"', telefono='"+telefono+"' WHERE nick='"+nick+"'";
conexion.BeginTrans();
conexion.Execute(sql);
conexion.CommitTrans();
%>
<br/>
<br/>
<center>
<h4 style="color:black">Sus datos se han modificado de forma correcta</h4>
</center>
<br/>
<%
conexion.Close();
}
catch (e)
{
Response.Write (" error 2 :");
Response.Write ("<b>" +e.description+ "</b>");
Response.Write( "<button onclick ='history.back()'>Volver</button>");
Response.End();
}
}
else {
Response.Write (mensaje);
}
%>
bueno eso era el archivo modificar.asp donde cojo los datos nuevos y aki muestro los datos antiguos de la base de datos para que el usuario modifique lo que desee pero al cambiarlo en realidad no cambia nada se quedan los antiguos:
datosusuario.asp
<%var cadenaConexion = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" +Server.MapPath("basedatos/bd.mdb");
var sql,result= Server.CreateObject("ADODB.Recordset");
try{
conexion= Server.CreateObject("ADODB.Connection");
conexion.open(cadenaConexion);
}
catch(e){//tratamiento de posible errores
Response.Write ("<h2>Error1:</h2>");
Response.Write ("<b>" + e.description + "</b>");
Response.End();
}
try{
var nick = Session("nick");
sql="SELECT * FROM registro WHERE nick= '"+nick+"'";
conexion.BeginTrans();
result.Open(sql, conexion);
if(result.eof)
{
//los datos no fueron encontrados en la BD, no debe de ocurrir nunca
Response.Write("Error al encontrar sus datos, por favor, intentelo de nuevo")
Response.Write("<h4 align=center ><button onclick='history.back()'>Volver</button></h4>");
Response.End();
}
else
{
var nombre=result("nombre");
var apellidos=result("apellidos");
var telefono=result("telefono");
var email=result("email");
var contrasenia = result("contrasenia");
var mascota = result("mascota");
var especie = result("especie");
}
}
catch(e){//posible fallo en la BD
Response.Write ("<h2 align=center >Error2:</h2>");
Response.Write ("<b>" +e.description+ "</b>");
Response.Write("<h4 align=center ><button onclick='history.back()'>Volver</button></h4>");
Response.End();
}
%>
<!-- codigo html -->
<div id ="tabla">
<fieldset>
<form name="modificar" id="modificar" method="post" action="modificar.asp" onSubmit="return modificacion()">
<h1 class = "titulo">Modificar Datos</h1>
<br/>
<center><label for = "explicacion" class="peque" style="color:black">A continuacion podrá modificar los datos que estime oportuno</label></center>
<br/>
<p>
<label for="nick"> Nick </label>
<input name="nick" type="text" id="nick_t" class="formuentrada" maxlength="20" size="20"value="<%Response.Write(nick)%>" disabled="disabled"/>
<br/>
<br/>
<label for="contrasenia">Contraseña</label>
<input name="contrasenia" type="password" id="contrasenia_t" class="formuentrada" maxlength="20" size="20"value="<%Response.Write(contrasenia)%>" />
<br/>
<label for="contrasenia" id="contrasenia_n" style="color:#99CC33;width:100%;display:none;">Deb es introducir una contraseña</label>
<br/>
<label for="nombre" id="nombre">Nombre</label>
<input name="nombre" type="text" id="nombre_t" class="formuentrada" maxlength="20" size="20" value="<%Response.Write(nombre)%>"/>
<br/>
<label for="nombre" id="nombre_n" style="color:#99CC33;width:100%;display:none;">Deb es introducir tu nombre</label>
<br/>
<label for="apellidos"id="apellido">Apellidos</label>
<input name="apellidos" type="text" id="apellidos_t" class="formuentrada" maxlength="40" size="40"value="<%Response.Write(apellidos)%>" />
<br/>
<label for="apellidos"id="apellido_n" style="color:#99CC33;width:100%;display:none;">Deb es introducir tus apellidos</label>
<br/>
<label for="email" id="email" style = "color:black;">Email</label>
<input name="email" type="text" id="email_t" class="formuentrada" maxlength="40" size="40"value="<%Response.Write(email)%>"/>
<br/>
<label for="email" id ="email_n"style="color:#99CC33;width:100%;display: none;">Debes introducir el E-mail</label>
<label for="email" id="email_n1"style="color:#99CC33;width:100%;displ ay:none;">El formato del e-mail no es correcto</label>
<br/>
<label for="telefono" id="telefono" style="color:black;">Teléfono</label>
<input name="telefono" type="text" id="telefono_t" maxlength="9" size="9" value="<%Response.Write(telefono)%>" />
<br/>
<label for= "telefono" id= "telefono_n1" style="color:#99CC33;width:100%;display:none;">Deb es introducir un teléfono de contacto</label>
<label for= "telefono" id ="telefono_n2" style="color:#99CC33;width:100%;display:none;">El formato del teléfono no es correcto</label>
<br/>
<label id="label_nmascota" for="mascota">Mascota:</label>
<input type="radio" name="mascota" value="1" checked="" />Si
<input type="radio" name="mascota" value="0" />No
<br/>
<br/>
<label id="label_especie" for="especie">Especie:</label>
<select name="especie" id="especie" class="formuentrada" maxlength="2" size="1" value="<%Response.Write(especie)%>"/>
<option value="9">Ninguno</option>
<option value="5">Perro</option>
<option value="2">Gato</option>
<option value="3">Pajaro</option>
<option value="1">Conejo</option>
<option value="4">Peces</option>
<option value="6">Roedores</option>
<option value="7">Tortugas</option>
<option value="8">Otros</option>
</select>
<br/>
<br/>
<input type="Submit" value="Aceptar" />
espero que me podais ayudar. Gracias
xhisna... la intencion era que al escribir en tu codigo, response.write SQL, nos facilitaras la linea que genero de insercion, para compararla contra tus datos de la tabla, si todos tus campos estan correctos, dgase correctos a que los campos de texto, van con comillas simples, y los numericos sin comilla simple

