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

Un formulario sencillo

Estas en el tema de Un formulario sencillo en el foro de ASP Clásico en Foros del Web. Hola amigos: Con mis pocos conocimientos de asp estoy programando un página donde tiene un sencillo formulario, pero no consigo hacerlo bien. Os explico por ...
  #1 (permalink)  
Antiguo 02/03/2008, 05:10
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Sonrisa Un formulario sencillo

Hola amigos:
Con mis pocos conocimientos de asp estoy programando un página donde tiene un sencillo formulario, pero no consigo hacerlo bien. Os explico por si alguién quiere ayudarme.

En el campo llamado "clave" de la tabla Datos de una base de datos tengo una palabra clave.
La idea es que si la insertan correctamente en la casilla del cuadro de texto del formulario, vayan a otra página.

Tengo ya algo de código.

En la página del formulario, llamada insercion.asp tengo:


Las primeras líneas del código son las típicas para crear conexión a la base y demás...

Después:
.......
set rsDatos = Server.CreateObject("ADODB.Recordset")
SQLDatos = "SELECT * FROM Datos"
rsDatos.Open SQLDatos,DB_CONNECTIONSTRING
%>

<html>
<head>
</head>
<body>

<form name="form2" method="post" action="">
<input type="text" name="textfield">
</form>
<form name="form1" method="post" action="">
<input type="submit" name="Submit" value="Enviar">
</form>

Esto de arriba es el formulario sencillo. Hay que programar que:
Si la palabra que se inserta en la casilla de texto es igual al campo de modo texto llamado clave, entonces ir a la página www.midominio.com/secreto.asp
Si no, ir a www.midominio.com/error.asp

</body>

</html>

MUCHAS GRACIAS.
  #2 (permalink)  
Antiguo 02/03/2008, 08:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Re: Un formulario sencillo

Hola prueba así

<%
Dim dato_clave
dato_clave = request.form("textfield")

if IsEmpty(dato_clave) then
%>

<form name="form2" method="post" action="insercion.asp">
<input type="text" name="textfield" />
<br />
<input type="submit" name="Submit" value="Enviar" />
</form>

<%
else

set rsDatos = Server.CreateObject("ADODB.Recordset")
SQLDatos = "SELECT clave FROM Datos where clave like '%"dato_clave"%'"
rsDatos.Open SQLDatos,DB_CONNECTIONSTRING
if not rsDatos.eof = true then
response.redirect("secreto.asp")
else
response.redirect("error.asp")
end if
%>


Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 02/03/2008, 14:19
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Un formulario sencillo

Vaya lío que me estoy haciendo.
Me da error la línea
SQLDatos = "SELECT clave FROM Datos where clave like '%"dato_clave"%'"

Pero mi duda es:
¿en la misma página insercion.asp tengo que poner el formulario y encima valida tambien si el campo clave?

Gracias.
  #4 (permalink)  
Antiguo 03/03/2008, 05:20
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Re: Un formulario sencillo

Hola

La consulta no tiene ningún error de sintaxis, así que mis preguntas son ¿Has creado la cadena de conexión?. De ser así ¿Qué error te marca?

Con respecto a tu pregunta, sí, lo haces todo en insercion.asp

recoges el valor de textfield
dato_clave = request.form("textfield")

si el valor está vacío if IsEmpty(dato_clave) then
imprimes el formulario, de lo contrario ejecutas la consulta y redireccionas

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 03/03/2008, 12:22
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
Re: Un formulario sencillo


esto esta..... ¿¿¿bien???
Cita:
SQLDatos = "SELECT clave FROM Datos where clave like '%"dato_clave"%'"
no deberia ser de esta manera
Cita:
SQLDatos = "SELECT clave FROM Datos where clave like '%" & dato_clave & "%'"
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 03/03/2008, 14:21
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Re: Un formulario sencillo

Ni darme cuenta
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 03/03/2008, 14:33
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Re: Un formulario sencillo

pregunta:

si usamos
Cita:
SQLDatos = "SELECT clave FROM Datos where clave like '%" & dato_clave & "%'
si tenemos las siguientes palabras claves
a
ahora
antes
noticias

y yo pongo solo la letra a
no me validaria aunque a este sola

digo por usar el like en lugar de el =

no seria mejor dejarlo
Cita:
SQLDatos = "SELECT clave FROM Datos where clave = '" & dato_clave & "'
__________________
JuanRa Pérez
San Salvador, El Salvador
  #8 (permalink)  
Antiguo 08/03/2008, 03:25
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Un formulario sencillo

Gracias a todos. Debo estar cerca. El error que me sale es:
Microsoft VBScript compilation error '800a03f6'
Expected 'End'


Abro la conexión. Funciona porque la he probado para ver un campo de una tabla.

El código de insercion.asp es:
<%
Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("base.mdb") & ";"
db.Open DB_CONNECTIONSTRING
%>

<html>

<head>

</head>

<body>

<%
Dim dato_clave
dato_clave = request.form("textfield")

if IsEmpty(dato_clave) then
%>

<form name="form2" method="post" action="insercion.asp">
<input type="text" name="textfield" />
<br />
<input type="submit" name="Submit" value="Enviar" />
</form>

<%
else

set rsDatos = Server.CreateObject("ADODB.Recordset")
SQLDatos = "SELECT clave FROM Datos where clave like '%" & dato_clave & "%'"
rsDatos.Open SQLDatos,DB_CONNECTIONSTRING
if not rsDatos.eof = true then
response.redirect("secreto.asp")
else
response.redirect("error.asp")
end if
%>

</body>

</html>
  #9 (permalink)  
Antiguo 08/03/2008, 05:21
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Re: Un formulario sencillo

Añade esto

else
response.redirect("error.asp")
end if
end if
%>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #10 (permalink)  
Antiguo 09/03/2008, 03:26
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Un formulario sencillo

Gracias campeón. Ya funciona.

Saludos.
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 15:04.