Foros del Web » Programando para Internet » ASP Clásico »

modificar campo

Estas en el tema de modificar campo en el foro de ASP Clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/07/2008, 10:20
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 5 meses
Puntos: 0
modificar campo

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
  #2 (permalink)  
Antiguo 21/07/2008, 10:22
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: modificar campo

ummmm

hola: xhisna

bueno seria detallaras el error que te da el código :) para que alguien pueda ayudarte

suerte

EDITO:

daniel00 te refirió postearas un nuevo pos
pero igual detalla el error y alguien tratara de ayudarte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 21/07/2008, 14:20
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: modificar campo

Bueno decir que el codigo no me da error ninguno solo que no actualiza los datos en la base de datos.
Incluso cuando doy a aceptar para que envie los datos me dice que:

Los datos se han enviado correctamente, pero es mentira ahhhhh!!!

Me dijeron kantes de la instruccion de actualizacion pusiese un Response.Write sql y un Response.End()

y bueno en mi trozo de codigo puse esto:

var sql= "UPDATE registro SET contrasenia='"+contrasenia+"', nombre='"+nombre+"', apellidos='"+apellidos+"', email='"+email+"', telefono='"+telefono+"' WHERE nick='"+nick+"'";


Response.Write(sql);
Response.End();


conexion.BeginTrans();
conexion.Execute(sql);
conexion.CommitTrans();




Y bueno el resultado es que me imprime los datos que he actualizado bien, pero no me los actualiza en la base de datos, pero el UPDATE recoje los nuevos valores asi que no se cual es el problema. Ayuda por fi.
  #4 (permalink)  
Antiguo 21/07/2008, 15:21
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: modificar campo

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

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 22/07/2008, 05:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: modificar campo

Bueno resuelto el problema,ya se modifican los datos muchas gracias a todos me habeis ayudado mucho
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:38.