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

comprovar que me envia un formulario

Estas en el tema de comprovar que me envia un formulario en el foro de ASP Clásico en Foros del Web. hola tengo este script que lo que hace es comprovar lo que envia el formulario Código PHP: <%for  each v_entrada in request . form for  indice = 1 to request ...
  #1 (permalink)  
Antiguo 12/05/2008, 03:47
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
comprovar que me envia un formulario

hola tengo este script que lo que hace es comprovar lo que envia el formulario

Código PHP:
<%for each v_entrada in request.form
for indice=1 to request.form(v_entrada).count
response
.write v_entrada&"="&request.form(v_entrada)(indice)&"<br>"

next
next
%> 
pero lo que me pasa es que tambien me muestr el valor del boton submit y no se como hacerlo para que no me lo muestre


alguien me puede hechar una mano?


gracias
  #2 (permalink)  
Antiguo 12/05/2008, 04:23
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

ya lo solucione

Código PHP:
<%for each v_entrada in request.form
for indice=1 to request.form(v_entrada).count
if v_entrada "Submit" then
else
valor_seleccionat "id="&request.form(v_entrada)(indice)&" and "
end if
response.Write(valor_seleccionat)
next

next 
pero ahora no se como saber cuando es el ultimo valor para sacarle el " and " ultimo
  #3 (permalink)  
Antiguo 12/05/2008, 04:28
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

lo tengo medio solucionado

por que ahora me sale

id=6 and id=7 and id=8 and id=9 and id=9 and

me repite el ultimo valor pasado des del form

lo que no se como hacer es que me saque "and id=9 and" osea que si es el ultimo registro no me pinte el and
  #4 (permalink)  
Antiguo 12/05/2008, 05:06
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

ya casi lo tengo pero no se como detectar el ultimo campo que me pasa el form

Código PHP:
<%for each v_entrada2 in request.form
for indice=1 to request.form(v_entrada2).count
if v_entrada2 <> "Submit" then
 
  response
.write "id="&request.form(v_entrada2)(indice)&" and "
  
  
else
 
  
end if
 
next
next
%> 
me pinta

id=6 and id=7 and id=8 and id=9 and id=10 and

y no se como hacer que si es el ultimo campo el " and " final no me lo pinte
  #5 (permalink)  
Antiguo 12/05/2008, 05:37
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Re: comprovar que me envia un formulario

Hola, ya casi que lo tienes hecho

Cita:
Iniciado por ^engonga^ Ver Mensaje
<%for each v_entrada2 in request.form
for indice=1 to request.form(v_entrada2).count

if indice <> 1 then
response.write " and"

if v_entrada2 <> "Submit" then

response.write "id="&request.form(v_entrada2)(indice)&

else

end if

end if

next
next%>
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;" />
  #6 (permalink)  
Antiguo 12/05/2008, 05:47
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

Adler

no me funciona no me saca los datos que quiero

Código PHP:
<%for each v_entrada2 in request.form
for indice=1 to request.form(v_entrada2).count
if indice <> 1 then
response
.write " ,"
if v_entrada2 <> "Submit" then
response
.write (request.form(v_entrada2)(indice))
else
end if
end if
next
next
%> 
me pone la coma delante

yo le paso el valor 6 7 8 9 10 des de un formulario ok

y me pinta ,7,8,9,10 no me pinta el 6 osea el primer valor
  #7 (permalink)  
Antiguo 12/05/2008, 05:54
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Re: comprovar que me envia un formulario

Vale, el problema está en el orden. Prueba ahora

<%for each v_entrada2 in request.form
for indice=1 to request.form(v_entrada2).count

if v_entrada2 <> "Submit" then

if indice <> 1 then
response.write " ,"

end if

response.write "id="&request.form(v_entrada2)(indice)&

else
end if

next
next%>

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;" />
  #8 (permalink)  
Antiguo 12/05/2008, 06:08
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

adler
ahora el problema es que no me funciona esto

Código PHP:
<%  connexio a la base de dades
sub crea_sel
()
for 
each v_entrada2 in request.form
for indice=1 to request.form(v_entrada2).count
if v_entrada2 <> "Submit" then
if indice <> 1 then
response
.write " ,"
end if
response.write (request.form(v_entrada2)(indice))
else
end if
next
next
end sub

dim rs_ofertes
Set rs_ofertes 
Server.CreateObject("ADODB.Recordset")
rs_ofertes.ActiveConnection conn_sumer
rs_ofertes
.Source "SELECT * FROM ofertes where oferta_id IN ("&crea_sel&") ORDER BY oferta_id"
rs_ofertes.CursorType 0
rs_ofertes
.CursorLocation 2
rs_ofertes
.LockType 1
rs_ofertes
.Open() 
lo que hago es pintar los valores en la select
  #9 (permalink)  
Antiguo 12/05/2008, 06:32
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Re: comprovar que me envia un formulario

Haz una prueba de escritorio con esto

Código PHP:
<% 
dim rs_ofertesvalorId
valorId 
request.form(v_entrada2)

Set rs_ofertes Server.CreateObject("ADODB.Recordset")
rs_ofertes.ActiveConnection conn_sumer
rs_ofertes
.Source "SELECT * FROM ofertes where oferta_id IN ("

for each v_entrada2 in request.form
for indice=1 to valorId.count
if v_entrada2 <> "Submit" then
if indice <> 1 then
response
.write " ,"
end if
rs_ofertes.Source rs_ofertes.Source "&valorId(indice)&"
else
end if
next
next

rs_ofertes
.Source rs_ofertes.Source ") ORDER BY oferta_id"
rs_ofertes.CursorType 0
rs_ofertes
.CursorLocation 2
rs_ofertes
.LockType 1
rs_ofertes
.Open()  
%> 
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 12/05/2008, 06:36
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

me da el error

Objeto Request, ASP 0102 (0x80004005)
La función espera una cadena como entrada.
/sumer_web/admin/crea_taula_ofertes_act.asp, línea 30

en la linea 30 tengo
valorId = request.form(v_entrada2)
  #11 (permalink)  
Antiguo 12/05/2008, 06:47
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Re: comprovar que me envia un formulario

¿Será esta la buena?

Código PHP:
<% 
dim rs_ofertesvalorId
valorId 
request.form("v_entrada2")

Set rs_ofertes Server.CreateObject("ADODB.Recordset")
rs_ofertes.ActiveConnection conn_sumer
rs_ofertes
.Source "SELECT * FROM ofertes where oferta_id IN ("

for each v_entrada2 in request.form
for indice=1 to valorId.count
if v_entrada2 <> "Submit" then
if indice <> 1 then
response
.write " ,"
end if
rs_ofertes.Source rs_ofertes.Source valorId(indice)
else
end if
next
next

rs_ofertes
.Source rs_ofertes.Source ") ORDER BY oferta_id"
rs_ofertes.CursorType 0
rs_ofertes
.CursorLocation 2
rs_ofertes
.LockType 1
rs_ofertes
.Open()  
%> 
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;" />
  #12 (permalink)  
Antiguo 12/05/2008, 06:54
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

adler

lo he modificado asi i funciona

Código PHP:
<% 
dim rs_ofertesvalorId
valorId 
request.form("v_entrada2")
Set rs_ofertes Server.CreateObject("ADODB.Recordset")
rs_ofertes.ActiveConnection conn_sumer
rs_ofertes
.Source "SELECT * FROM ofertes where oferta_id IN ("
for each v_entrada2 in request.form
for indice=1 to request.form(v_entrada2).count
if v_entrada2 <> "Submit" then
if indice <> 1 then
response
.write " ,"
end if
rs_ofertes.Source rs_ofertes.Source request.form(v_entrada2)(indice)
else
end if
next
next
rs_ofertes
.Source rs_ofertes.Source ") ORDER BY oferta_id"
rs_ofertes.CursorType 0
rs_ofertes
.CursorLocation 2
rs_ofertes
.LockType 1
rs_ofertes
.Open() 

pero lo que pasa es que si le paso los valores 7 8 9 me mone el select

789 y no 7,8,9
  #13 (permalink)  
Antiguo 12/05/2008, 07:00
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Re: comprovar que me envia un formulario

Tu tienes escrito esto
request.form(v_entrada2)

cuando ha de ser
request.form("v_entrada2")

de ahí que te lo sacará a una variable, sobre todo por comodidad

Código PHP:
<% 
dim rs_ofertesvalorId
valorId 
request.form("v_entrada2")
Set rs_ofertes Server.CreateObject("ADODB.Recordset")
rs_ofertes.ActiveConnection conn_sumer
rs_ofertes
.Source "SELECT * FROM ofertes where oferta_id IN ("
for each v_entrada2 in request.form
for indice=1 to request.form("v_entrada2").count
if v_entrada2 <> "Submit" then
if indice <> 1 then
response
.write " ,"
end if
rs_ofertes.Source rs_ofertes.Source request.form("v_entrada2")(indice)
else
end if
next
next
rs_ofertes
.Source rs_ofertes.Source ") ORDER BY oferta_id"
rs_ofertes.CursorType 0
rs_ofertes
.CursorLocation 2
rs_ofertes
.LockType 1
rs_ofertes
.Open() 
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;" />
  #14 (permalink)  
Antiguo 12/05/2008, 07:05
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

si lo pongo como me dices

Código PHP:
dim rs_ofertesvalorId
valorId 
request.form("v_entrada2")
Set rs_ofertes Server.CreateObject("ADODB.Recordset")
rs_ofertes.ActiveConnection conn_sumer
rs_ofertes
.Source "SELECT * FROM ofertes where oferta_id IN ("
for each v_entrada2 in request.form
for indice=1 to request.form("v_entrada2").count
if v_entrada2 <> "Submit" then
if indice <> 1 then
response
.write " ,"
end if
rs_ofertes.Source rs_ofertes.Source request.form("v_entrada2")(indice)
else
end if
next
next
rs_ofertes
.Source rs_ofertes.Source ") ORDER BY oferta_id"
rs_ofertes.CursorType 0
rs_ofertes
.CursorLocation 2
rs_ofertes
.LockType 1
rs_ofertes
.Open() 

ME SALE ESTE ERROR

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta operador) en la expresión de consulta 'oferta_id IN ()'.
/sumer_web/admin/crea_taula_ofertes_act.asp, línea 49

osea no pinta nada
  #15 (permalink)  
Antiguo 12/05/2008, 07:26
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Re: comprovar que me envia un formulario

Es lunes y además tengo hambre

Código PHP:
<% 
dim rs_ofertesvalorId
valorId 
request.form("v_entrada2")
Set rs_ofertes Server.CreateObject("ADODB.Recordset")
rs_ofertes.ActiveConnection conn_sumer
rs_ofertes
.Source "SELECT * FROM ofertes where oferta_id IN ("
for each v_entrada2 in request.form
for indice=1 to request.form(v_entrada2).count
if v_entrada2 <> "Submit" then
if indice <> 1 then
rs_ofertes
.Source rs_ofertes.Source " ,"
end if
rs_ofertes.Source rs_ofertes.Source request.form(v_entrada2)(indice)
else
end if
next
next
rs_ofertes
.Source rs_ofertes.Source ") ORDER BY oferta_id"
rs_ofertes.CursorType 0
rs_ofertes
.CursorLocation 2
rs_ofertes
.LockType 1
rs_ofertes
.Open() 
TACHAANNN !!!!

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;" />
  #16 (permalink)  
Antiguo 12/05/2008, 07:40
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

muchas gracias
  #17 (permalink)  
Antiguo 12/05/2008, 10:03
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

ahora por rizar mas el rizo...

y si no envia ninvún valor des del form me sale error que el wehere esta vacio

como se podria hacer para que no sliera dicho error? y me redireccionara a un apagina?
  #18 (permalink)  
Antiguo 12/05/2008, 10:19
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Re: comprovar que me envia un formulario

pregunta si la variable se llama igual porque no hacen un simple request??????

si la variable se llama ID en tu pagina origen y yo hago un request a la variable id en la otra pagina me traeria todos los id seleccionados

ejemplo

Si seleccione 6, 7, 8, 10

al hacer un request

id = request("id")

id tiene 6, 7, 8, 10

entonces solo hago un where in ("& id &")

sin hacer un proceso de arreglo y cosas asi


digo no se porque no lo hicieron asi de un solo asi es mas facil incluso saber si el id esta vacio y re coleccionarlos a otro lado a otro lado

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #19 (permalink)  
Antiguo 12/05/2008, 10:23
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Re: comprovar que me envia un formulario

ummm asi

<%
valorId = request("ID")

if valorID = "" then
'redirecciono porque viene vacio
end if

Set rs_ofertes = Server.CreateObject("ADODB.Recordset")
rs_ofertes.ActiveConnection = conn_sumer
rs_ofertes.Source = "SELECT * FROM ofertes where oferta_id IN ("& valorId & ") ORDER BY oferta_id"
rs_ofertes.CursorType = 0
rs_ofertes.CursorLocation = 2
rs_ofertes.LockType = 1
rs_ofertes.Open()
%>

digo es lo que creo mas rápido o no?
__________________
JuanRa Pérez
San Salvador, El Salvador
  #20 (permalink)  
Antiguo 12/05/2008, 12:47
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Re: comprovar que me envia un formulario

JuanRa tienes toda la razón del mundo y más.

Toda la mañana me he estado preguntando para que quería hacer eso dos ciclos, pero cada uno conoce sus necesidades

Bueno... realmente no es por lo escribo este post. Uno de los capos (UG, Maykire, AZ, Shiriu_Libra o tu mismos) posteo, hace algún tiempo, un articulo en el se decía que es mejor escribir

valorId = request.Form("ID") que valorId = request("ID")

Ya el rango de petición es: Query, Form, etc ....

Eso era todo
__________________
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;" />

Última edición por Adler; 12/05/2008 a las 12:57
  #21 (permalink)  
Antiguo 12/05/2008, 13:39
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 23 años, 1 mes
Puntos: 8
Re: comprovar que me envia un formulario

entonces el codigo modificado como seria?
  #22 (permalink)  
Antiguo 12/05/2008, 15:45
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Re: comprovar que me envia un formulario

Cita:
Iniciado por Adler Ver Mensaje
JuanRa tienes toda la razón del mundo y más.

Toda la mañana me he estado preguntando para que quería hacer eso dos ciclos, pero cada uno conoce sus necesidades

Bueno... realmente no es por lo escribo este post. Uno de los capos (UG, Maykire, AZ, Shiriu_Libra o tu mismos) posteo, hace algún tiempo, un articulo en el se decía que es mejor escribir

valorId = request.Form("ID") que valorId = request("ID")

Ya el rango de petición es: Query, Form, etc ....

Eso era todo

pues yo sigo usando request("") creo que por costumbre mas que por otra cosas, pero si en ese post comentaron cual era el oprden de prioridades

lo de el ciclo que estaban tatando de hacer es recomendable hacerlo cuando el ID es AlfaNumerico, entonces en la clausula tienen que ir aso

where id in('a1', 'a2', 'a3', 'a6', 'b1', 'b2', 'b11')

+ en ese caso tenes que hacer el arreglo
+ meter las comillas simples antes de cada parte de el arreglo
+ colocar la coma de nuevo
+ verificar que no lleve una coma de mas al final de el arreglo

pero igual hacelo fuera

y luego pones en el where tu variable armada, no la armes dentro de tu sql

esto solo como una nota por si alguien llega a este post con dudas de campos alfanumericos

lup!
__________________
JuanRa Pérez
San Salvador, El Salvador
  #23 (permalink)  
Antiguo 13/05/2008, 04:22
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Re: comprovar que me envia un formulario

Maykire fue quién investigó el acceso a variables

Gracias por el apunte sobre el tratamiento de alfanumericos
__________________
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;" />
  #24 (permalink)  
Antiguo 13/05/2008, 11:44
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Re: comprovar que me envia un formulario

oki

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
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 18:12.