Bien Muzztein me emburré con el nombre de archivo,y en realidad es el nombre o frase que haya escrito en la BD.Bueno gracias a los dos por responder,aunque cambiar todas las & es un trabajo inmenso,es posible que haya mas de 20.000. pero bueno ya vere que hago.
Aunque quitando solo una parte de lo que llevaba en el href funciona.
Voy a explicarlo todo con más detalles para ver si hay otra solucion.
Vereis,hago una consulta normal a la BD en asp y para que muestre los resultados lleva entre otras lineas estas:
Código PHP:
hipervinculo=""& request("menu") & "/" & request.QueryString("letra") &"/"
Response.Write "<a title="" (" & tama & " Kb.) "" href="" clicks1.asp?url="&hipervinculo
Response.Write file.Name & """ onclick=""parent.cambiar(this.href);return false"">"
Response.Write palabra
Response.Write "</a>
O sea que al pulsar click me manda a clicks1.asp y despues la funcion cambiar() hace que se muestre la foto en un iframe pequeño.
El archivo clicks1.asp abre otra BD y cuenta los clicks y es este:
Código PHP:
<%
Response.Buffer=TRUE
ip=request.servervariables("HTTP_X_FORWARDED_FOR")
url = Request.Querystring("url")
if url <>"" then
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("/mdb-database/cuentaclicks.mdb")&";"
strsql = "SELECT * FROM Contador WHERE url = '" & url & "'"
Set rs = Server.CreateObject("ADODB.RecordSet")
RS.open strsql, oConn, 3, 3
if rs.eof then
rs.AddNew
rs("clicks")= 1
rs("url") = url
rs("ip") = ip
rs.update
else
rs("clicks")=rs("clicks")+1
rs("ip") = ip
rs.update
end if
rs.Close
set rs=nothing
oConn.Close
response.redirect URL
end if
%>
Pues lo dicho anteriormente, sólo si la variable en hipervinculo lleva el caracter & falla
y si quito href="" clicks1.asp?url=" & hipervinculo y lo cambio por href=""" & hipervinculo
funciona bien, perono cuenta los clicks claro.
A ver si le veis algun problema.
Gracias