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

Grabar una URL ¿Como?

Estas en el tema de Grabar una URL ¿Como? en el foro de ASP Clásico en Foros del Web. Hola foreros, les planteo un problema que me ha salido. Tengo una página web, donde hay una serie de artículos, y tengo un botón para ...
  #1 (permalink)  
Antiguo 14/05/2004, 00:48
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Grabar una URL ¿Como?

Hola foreros, les planteo un problema que me ha salido.

Tengo una página web, donde hay una serie de artículos, y tengo un botón para recomendar los artículos.

El sistema se llama recomendar.asp, y cuando presiono el botón, me abre una ventanita donde se pone todos los datos.

Le doy a enviar y... FUNCIONA!!! pero... la página que me manda es www.dominio.com/recomendar.asp, cuando yo quiero que me mande el artículo...

Hay alguna manera de grabar la url del artículo para cuando haces la recomendación sea esa dirección la que manda¿?

Lo que utilizo para capturar la dirección es:

url = Request.ServerVariables("HTTP_REFERER")

Alguien me sabría indicar algun tipo de solución?

Muchisimas gracias!

DaNi
  #2 (permalink)  
Antiguo 14/05/2004, 07:01
Avatar de Cbas  
Fecha de Ingreso: enero-2002
Ubicación: capital federal
Mensajes: 437
Antigüedad: 22 años, 5 meses
Puntos: 2
Me parece que el problema está en que... esta linea

url = Request.ServerVariables("HTTP_REFERER")

la tenés que poner donde el usuario completa el formulario... me explico?


O sea.. la cosa sería así... el usuario hace click en recomendar entonces vos presentas el form, si?
Bueno, yo agregaría un campo más, hidden, y el value de ese campo sería Request.ServerVariables("HTTP_REFERER"), entonces cuando grabas, te va a grabar la que realmente querés.
SALUDOS
__________________
La Perfección es enemigo de lo bueno.
  #3 (permalink)  
Antiguo 14/05/2004, 07:12
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Muchas gracias por contestar Cbas.

Te explico, porque a lo mejor no me entendiste, el usuario hace click en recomendar, y se le abre una ventanita con el formulario, por lo cual, en el formulario no tiene que estar el
url = Request.ServerVariables("HTTP_REFERER"), tiene que estar en la página principal.
ejemplo: quiero recomendar la página www.dominio.com/articulo.asp?id=10, cuando le doy a recomendar me abre un formulario que esta en www.dominio.com/recomendar.asp y tiene que enviarme la página anterior y no la de recomendar.asp... no se si me explico bien!

Alguna solucion?
  #4 (permalink)  
Antiguo 14/05/2004, 09:59
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Y es como te comenta Cbas:

En www.dominio.com/recomendar.asp ponés un campo hidden dentro del formulario que debe completar el usuario de esta manera:

<input type="hidden" name="paginaArecomendar" value="<% = Request.ServerVariables("HTTP_REFERER") %>">

Entonces, cuando pulsen el enlace de recomendar, el valor del campo hidden sera: www.dominio.com/articulo.asp?id=10
__________________
...___...
  #5 (permalink)  
Antiguo 14/05/2004, 10:13
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Antes de nada agradecer el interés mostrado por ayudarme.

He hecho exactamente lo que me has dicho, y no me funciona, me sigue enviando la página recomendar.asp supongo que hay alguna cosa que hago mal.

En http://www.montybikes.com/bikes/send.asp está una página de ejemplo desde donde presionaría el link que me mandaria a recomedar.asp y a continuación os pongo el código de recomendar.asp que a parte se encuentra en: En http://www.montybikes.com/bikes/recomendar.asp

------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Recomendar</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="/css.css" rel="stylesheet" type="text/css">
</head>

<body bottommargin="0" leftmargin="0" marginheight="0" marginwidth="0" rightmargin="0" topmargin="0">
<table border="0" cellpadding="20" cellspacing="0" width="100%" height="100%" bgcolor="#FFFFFF">
<tr>
<td valign="top" class="maintext">

<img src="images/m.gif" width="65" height="35" border="0">

<!-- formulario de recomendación -->

<% if request.querystring("accion") = "" then

%>

<form method="post" action="recomendar.asp?accion=enviar" name="recomienda">
<input type="hidden" name="paginaArecomendar" value="<% = Request.ServerVariables("HTTP_REFERER") %>">
<table cellpadding="5" cellspacing="0" border="0">
<tr>
<td class="maintext" align="right">Tu Nombre:</td>
<td class="maintext"><input type="text" name="n_remitente" size="10" class="maintext"></td>
</tr>
<tr>
<td class="maintext" align="right">Tu E-mail:</td>
<td class="maintext"><input type="text" name="e_remitente" size="20" class="maintext"></td>
</tr>
<tr>
<td class="maintext" align="right">Nombre de tu amigo:</td>
<td class="maintext"><input type="text" name="n_destinatario" size="10" class="maintext"></td>
</tr>
<tr>
<td class="maintext" align="right">E-mail de tu amigo:</td>
<td class="maintext"><input type="text" name="e_destinatario" size="20" class="maintext"></td>
</tr>
<tr>
<td class="maintext" colspan="2"><input type="submit" value="Recomendar" class="maintext"></td>
</tr>
</table>
</form>


<!-- envío del formulario y acuse de envío o información de errores -->

<%

elseif request.querystring("accion") = "enviar" then


' recojo las variables que vienen desde el formulario

n_destinatario = request.form("n_destinatario")

e_destinatario = request.form("e_destinatario")

n_remitente = request.form("n_remitente")

e_remitente = request.form("e_remitente")


' si los campos no están vacíos

if n_destinatario <> "" and e_destinatario <> "" and n_remitente <> "" and e_remitente <> "" then


' indica la url de tu sitio

dim url
url = Request.ServerVariables("HTTP_REFERER")

' indica la segunda url de tu sitio

url2 = "http://www.monty.es"

' indica el nombre de tu sitio

nombre_del_sitio = "Bicicletas Monty"

' indica la imagen

imagen = "http://www.monty.es/bikes/images/m.gif"

' indica el asunto del mensaje

asunto = n_remitente & " te recomienda esta Bicicleta Monty"


' redacta el mensaje

mensaje = "<html><body bottommargin='0' leftmargin='0' marginheight='0' marginwidth='0' rightmargin='0' topmargin='0'><link href='http://www.monty.es/css.css' rel='stylesheet' type='text/css'>"

mensaje = mensaje & " <table border='0' cellpadding='20' cellspacing='0' width='100%' height='100%' bgcolor='#FFFFFF'><tr><td valign='top' class='maintext'>"

mensaje = mensaje & " <img src='" & imagen & "' width='65' height='35' border='0'></div><br><br>"

mensaje = mensaje & "Hola " & n_destinatario & ":<br>"

mensaje = mensaje & n_remitente & " te recomienda una Bicicleta Monty, puedes verla en <a href='" & url & "' class='normallink'>" & url & "</a><br><br>"

mensaje = mensaje & " Puedes encontrar muchas más bicicletas en la página de <b> <a href='" & url2 & "' class='normallink'>" & nombre_del_sitio & "</a></b>.<br><br>Saludos!"

mensaje = mensaje & "</td></tr></table>"

mensaje = mensaje & "</body></html>"

' comienza envío

Set envio = Server.CreateObject ("CDONTS.NewMail")


' indica que el e-mail es en formato HTML
envio.BodyFormat = 0
envio.MailFormat = 0


' envía el mensaje

envio.Send e_remitente, e_destinatario, asunto, mensaje

Set envio = Nothing


' Informa al usuario que se ha enviado el mensaje

response.write "<br><br><div align='center'><b>El mensaje ha sido enviado</b>.<br>Gracias por recomendarnos!"


' si existen campos vacíos, envía un mensaje de error

else

response.write "Por favor, es necesario que completes todos los campos.<br>"

response.write "<a href='recomendar.asp'>Pincha aquí</a> para corregir los campos."

end if


end if

%>
</td></tr>
</table>
</body>
</html>

------------------------------------------------

Seguramente esto se deba a algun error que cometo con mi patente torpeza... Pero veis alguna cosa anormal?

Muchisimas gracias de nuevo!

DaNi
  #6 (permalink)  
Antiguo 14/05/2004, 11:03
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Ahh!!! Lo que ocurre es que la ventana es un pop-up y el HTTP_REFERER es nulo cuando una página se abre en pop-up!

Vamos a hacer estos cambios:

-En la página "send.asp" el enlace ponelo así:

<a href="javascript:openNewWindow('recomendar.asp?pag ina=<% = "http://" & request.servervariables("SERVER_NAME") & request.servervariables("URL") & "?" & request.servervariables("QUERY_STRING") %>','recomendar', 'height=560,width=730,toolbar=no,scrollbars=no');" class="normallink">enviar</a>


-En "recomendar.asp" al value del hidden ponelo así:

<input type="hidden" name="paginaArecomendar" value="<% = Request.QueryString("pagina") %>">


Luego, cambiá esto:

' indica la url de tu sitio

dim url
url = Request.ServerVariables("HTTP_REFERER")


...por esto:

' indica la url de tu sitio

dim url
url = Request.Form("paginaArecomendar")




Y, si no me olvido de nada más, debería funcionar.
Avisame a ver que ocurrió

Última edición por AlZuwaga; 14/05/2004 a las 11:08
  #7 (permalink)  
Antiguo 17/05/2004, 00:08
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Perfecto!

Gracias Dazuaga, funcionó a la perfección!

Te debo una!

DaNi
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 00:08.