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

sistema de valoración en asp

Estas en el tema de sistema de valoración en asp en el foro de ASP Clásico en Foros del Web. cambia esta linea en add_valoracion.asp es por la comilla simple Código: SQL = "UPDATE pcm_productos Set total_votos = "&total&", votos = "&rating&" WHERE id_prod = ...

  #31 (permalink)  
Antiguo 03/04/2005, 19:11
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
cambia esta linea en add_valoracion.asp es por la comilla simple

Código:
		SQL = "UPDATE pcm_productos Set total_votos = "&total&", votos = "&rating&" WHERE id_prod = "&prodID&" "
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #32 (permalink)  
Antiguo 03/04/2005, 20:37
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
no me da el mismo error

Microsoft JET Database Engine error '80040e07'

No coinciden los tipos de datos en la expresión de criterios.

/pruebas/add_valoracion.asp, line 14
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #33 (permalink)  
Antiguo 04/04/2005, 09:24
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
no se si puede ser problema de configuración porque en otra pagina tengo algo similar y me tira errores puede ser que este mal configurado el PWS???? porque siempre el error es RS.open strsql, oConn, (3, 3)--->con esos numeros
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #34 (permalink)  
Antiguo 04/04/2005, 10:29
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
No, el error es claro, tienes un problema con los tipos de datos, pon aqui la estructura de esa tabla.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #35 (permalink)  
Antiguo 04/04/2005, 11:30
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
Microsoft JET Database Engine error '80040e07'

No coinciden los tipos de datos en la expresión de criterios.

/pruebas/add_valoracion.asp, line 14


Código:
<%
       stroconn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("pcmstore.mdb")
       set oConn = server.createobject("adodb.connection")
       oConn.open stroconn

            'Recupero el valor del voto y el valor del ID del producto
		prodID	=	Request.Querystring("prodID")
		votos	=	Request.Querystring("Votos")


		'Traigo los votos actuales que tiene el producto para sumarle los nuevos
		SQL="SELECT * FROM pcm_productos WHERE id_prod = '"&prodID&"' "
		Set Rs = Server.CreateObject("ADODB.Recordset")
		Rs.Open SQL, oConn,3,1

		vact		=	Cint(Rs("total_votos"))
		total		=	vact + Votos
		
		'Sumamos uno a las votaciones
		rating		=	Cint(Rs("votos"))+1
		
		'Ahora que tengo el total que es lo que recibi de la base mas los votos nuevos actualizo la valoracion del producto segun su ID
		
		SQL = "UPDATE pcm_productos Set total_votos = '"&total&"', votos = '"&rating&"' WHERE id_prod = '"&prodID&"' "
		Set RS = oConn.Execute(SQL) 
		
		'Creamos una cookie con el id del producto para que no voten mas de una vez(puro grupo) le damos una semana
		Response.Cookies("valoracion")("prodID")= prodID
		Response.Cookies("valoracion").Expires = Now() + 7
%>
<br>
<br>
<br>
<br>
<table width="215" height="22" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#000000">
  <tr>
    <td><table width="100%" height="140" border="0" cellpadding="4" cellspacing="0" bgcolor="#FFFFFF">
        <tr>
          <td class="text"><div align="center"><img src="http://www.pcmod.cl/images/index01.jpg" width="200" height="60"><br>
            Gracias por tu Voto<br>
            <a href="javascript:onClick=window.close()"><br>
            Cerrar Ventana </a><br>
          </div></td>
        </tr>
    </table></td>
  </tr>
</table>
y la tabla es pcm_productos
id_prod (autonumerico)
producto (texto)
descripcion (texto)
URL (texto)
clicks (numerico)
votos (numerico)
total_votos (numerico)
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!

Última edición por El_Metallick; 04/04/2005 a las 11:46
  #36 (permalink)  
Antiguo 04/04/2005, 11:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
OK, fijate muy bien, pues para mi, este es un problema que no estas muy familiarizado con el manejo de tipos de datos.
Lo que haces basicamente en una consulta es pasarle variables a tu SQL, estas variables, basicamente pueden ser de dos tipos

1.- texto
2.- numericas

SQL te pide si o si, que las variables de texto esten encerradas entre comillas simples

'este es un texto en SQL'

en tanto que las variables de tipo nmericas pasan como estan

316

Por lo tanto, lo que hacemos es concatenar el valor de las variables a la SQL, pero si son de texto necesitamos concatenarlas con comillas simples

"SELECT campo FROM tabla WHERE campo_texto = '" & variable & "'"

Pero si el campo es de tipo numerico:

"SELECT campo FROM tabla WHERE campo_numerico = " & variable

A partir de ahi, hazlo tu mismo!


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #37 (permalink)  
Antiguo 04/04/2005, 12:15
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
AHI SI FUNCIONA!!!!!!!!!!!!!!!!!!!!!.... gracias a todos, en especial a dobled, quien ha desarrollado este script, bueno les doy los codigos para que funcione bien

ver.asp, (esta en vez de valoracion.asp)
Código:
<html>
<head>
<title>Productos</title>
</head>
<SCRIPT>
<!--
function openWin(url, width, height) 
{
 var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=no,scrollbars=no,menubar=no,status=no' );
}
//-->
</SCRIPT>
<body>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("pcmstore.mdb")
Conn.Open strConn

SQL="SELECT * FROM pcm_productos ORDER BY id_prod"
set RS = Conn.Execute(SQL)

Do While Not RS.EOF
%>
<table border="0" width="100%">
  <tr>
    <td width="15%">Producto</td>
    <td width="85%"><a href="clicks.asp?url=<% = RS("URL") %>"><% = RS("producto") %></a></td>
  </tr>
  <tr>
    <td width="15%">Descripción</td>
    <td width="85%"><% = RS("descripcion") %></td>
  </tr>
  <tr>
    <td width="15%">Valoración</td>
    <td width="85%">Clicks: <% = RS("clicks") %>&nbsp;<%
      		
rate = Cint(Rs("total_votos"))/Cint(Rs("votos"))
rate = Round(rate)
		
Response.Write	("Este producto ha recibido "&Rs("votos")&" votos ")
Response.Write	("<img src="""&rate&"_star_rating.gif"" width=""66"" height=""14"" alt="""&rate&" Estrellas"" border=""0"" align=""absmiddle"">")
Response.Write	(" - ")
Response.Write	("<a href=""javascript:openWin('valoracion_producto.asp?prodID=" & rs("id_prod") & "','rate_site')"" style=""font-size:""11px""; font-style: italic;"">votar</>")

%></td>
  </tr>
</table><br><br>
<%
RS.MoveNext
Loop

%>
</body>
</html>
add_valoracion.asp
Código:
<%
       stroconn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("pcmstore.mdb")
       set oConn = server.createobject("adodb.connection")
       oConn.open stroconn

            'Recupero el valor del voto y el valor del ID del producto
		prodID	=	Request.Querystring("prodID")
		votos	=	Request.Querystring("Votos")


		'Traigo los votos actuales que tiene el producto para sumarle los nuevos
		SQL="SELECT * FROM pcm_productos WHERE id_prod = "&prodID&" "
		Set Rs = Server.CreateObject("ADODB.Recordset")
		Rs.Open SQL, oConn,3,1

		vact		=	Cint(Rs("total_votos"))
		total		=	vact + Votos
		
		'Sumamos uno a las votaciones
		rating		=	Cint(Rs("votos"))+1
		
		'Ahora que tengo el total que es lo que recibi de la base mas los votos nuevos actualizo la valoracion del producto segun su ID
		SQL = "UPDATE pcm_productos Set total_votos = "&total&", votos = "&rating&" WHERE id_prod = "&prodID&" "
		Set RS = oConn.Execute(SQL) 
		
		'Creamos una cookie con el id del producto para que no voten mas de una vez(puro grupo) le damos una semana
		Response.Cookies("valoracion")("prodID")= prodID
		Response.Cookies("valoracion").Expires = Now() + 7
%>
<br>
<br>
<br>
<br>
<table width="215" height="22" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#000000">
  <tr>
    <td><table width="100%" height="140" border="0" cellpadding="4" cellspacing="0" bgcolor="#FFFFFF">
        <tr>
          <td class="text"><div align="center"><img src="http://www.pcmod.cl/images/index01.jpg" width="200" height="60"><br>
            Gracias por tu Voto<br>
            <a href="javascript:onClick=window.close()"><br>
            Cerrar Ventana </a><br>
          </div></td>
        </tr>
    </table></td>
  </tr>
</table>
valoracion_producto.asp
Código:
<%
		prodID		=	Request.Querystring("prodID")
		valoracion 	= 	Request.Cookies("valoracion")("prodID")

%>
<script language="JavaScript">
function Rating(star) {

	if (star != "") self.location.href = "add_valoracion.asp?prodID=<%=prodID%>&Votos=" + star;
	return true;
}
// -->
</script>
<link href="default.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
  <%
		If valoracion = prodID Then
%>
  <br>
  <br>
  <br>
  <br>
  <table width="215" height="22" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#000000">
    <tr>
      <td><table width="100%" height="140" border="0" cellpadding="4" cellspacing="0" bgcolor="#FFFFFF">
          <tr>
            <td class="text"><div align="center">Disculpa, pero t&uacute; ya has votado por este producto. Intenta la proxima semana <br>
                    <a href="javascript:onClick=window.close()"><br>
                    <br>
                Cerrar Ventana </a><br>
            </div></td>
          </tr>
      </table></td>
    </tr>
    </table>
  <%else%>
  <br>
  <span class="text2">Valoraci&oacute;n de Productos<br>
  </span>Haz click en las estrellas que crees que<br>
  representan el valor de votos para el<br>
  producto elegido.<br>
  <br>
  <br>
  <table width="215" height="22" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#000000">
    <tr>
      <td><table width="100%" border="0" cellspacing="0" cellpadding="4" bgcolor="#FFFFFF">
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('0')"><img src="0_star_rating.gif" width="66" height="14" alt="0 Stars" border="0"></a></td>
            <td width="154" class="text">No lo comprar&iacute;a</td>
          </tr>
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('1')"><img src="1_star_rating.gif" width="66" height="14" alt="1 Star" border="0"></a></td>
            <td width="154" class="text">Solo lo ver&iacute;a </td>
          </tr>
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('2')"><img src="2_star_rating.gif" width="66" height="14" alt="2 Stars" border="0"></a></td>
            <td width="154" class="text">Algo tiene de bueno </td>
          </tr>
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('3')"><img src="3_star_rating.gif" alt="3 Stars" width="66" height="14" border="0" align="absmiddle"></a></td>
            <td width="154" class="text">OK</td>
          </tr>
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('4')"><img src="4_star_rating.gif" width="66" height="14" alt="4 Stars" border="0"></a></td>
            <td width="154" class="text">Excelente</td>
          </tr>
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('5')"><img src="5_star_rating.gif" width="66" height="14" alt="5 Stars" border="0"></a></td>
            <td width="154" class="text">No puede faltar en el PC </td>
          </tr>
      </table></td>
    </tr>
    </table>
  <%End if%>
</div>
clicks.asp
Código:
<%
Response.Buffer=TRUE

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("pcmstore.mdb")&";"

strsql = "SELECT * FROM pcm_productos 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.update
else
    rs("clicks")=rs("clicks")+1
    rs.update
end if 

rs.Close
set rs=nothing
oConn.Close
response.redirect URL
end if
%>
y la BD pcmstore.mdb, la tabla pcm_productos
id_prod (autonumerico)
producto (texto)
descripcion (texto)
URL (texto)
clicks (numerico)
votos (numerico)
total_votos (numerico)

Bueno y espero que todos disfrutemos de esto... muchas gracias...
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #38 (permalink)  
Antiguo 04/04/2005, 19:17
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
Adaptando el script a mi web me tope con un nuevo error:

objeto Response error 'ASP 0156 : 80004005'

Error de encabezado

/am/metallica/add_valoracion.asp, line 34

Los enbezados HTTP ya están escritas en el explorador cliente. Cualquier cambio en el encabezado HTTP se debe hacer antes de escribir el contenido de la página.

add_valoracion.asp
Código:
<!--#include file="lenguaje.asp" -->
<html>
<head>
<title><% = Titulo %></title>
<link rel="stylesheet" type="text/css" href="estilo1.css">
</head>
<body>
<%
       stroconn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("" & DB & "tablaturas.mdb")
       set oConn = server.createobject("adodb.connection")
       oConn.open stroconn

            'Recupero el valor del voto y el valor del ID del producto
		ID	=	Request.Querystring("ID")
		votos	=	Request.Querystring("Votos")


		'Traigo los votos actuales que tiene el producto para sumarle los nuevos
		SQL="SELECT * FROM tablaturas WHERE id = "&ID&" "
		Set Rs = Server.CreateObject("ADODB.Recordset")
		Rs.Open SQL, oConn,3,1

		vact		=	Cint(Rs("total_votos"))
		total		=	vact + Votos
		
		'Sumamos uno a las votaciones
		rating		=	Cint(Rs("votos"))+1
		
		'Ahora que tengo el total que es lo que recibi de la base mas los votos nuevos actualizo la valoracion del producto segun su ID
		SQL = "UPDATE tablaturas Set total_votos = "&total&", votos = "&rating&" WHERE id = "&ID&" "
		Set RS = oConn.Execute(SQL) 
		
		'Creamos una cookie con el id del producto para que no voten mas de una vez(puro grupo) le damos una semana
		Response.Cookies("valoracion")("ID")= ID
		Response.Cookies("valoracion").Expires = Now() + 7
%>
<br>
<br>
<br>
<br>
<table width="215" height="22" border="0" align="center" cellpadding="1" cellspacing="0">
  <tr>
    <td><table width="100%" height="140" border="0" cellpadding="4" cellspacing="0">
        <tr>
          <td class="text"><div align="center">Gracias por tu Voto<br>
            <a href="javascript:onClick=window.close()"><br>
            Cerrar Ventana </a><br>
          </div></td>
        </tr>
    </table></td>
  </tr>
</table>
</body>
</html>
valoracion_producto.asp
Código:
<!--#include file="lenguaje.asp" -->
<html>
<head>
<title><% = Titulo %></title>
<%
		ID		=	Request.Querystring("ID")
		valoracion 	= 	Request.Cookies("valoracion")("ID")

%>
<script language="JavaScript">
function Rating(star) {

	if (star != "") self.location.href = "add_valoracion.asp?ID=<%=ID%>&Votos=" + star;
	return true;
}
// -->
</script>
<link rel="stylesheet" type="text/css" href="estilo1.css">
</head>
<body>
<div align="center">
  <span class="text2">Valoraci&oacute;n de Productos<br>
  </span>Haz click en las estrellas que crees que<br>
  representan el valor de votos para el<br>
  producto elegido.<br>
  <br>
  <br>
  <table width="215" height="22" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#000000">
    <tr>
      <td><table width="100%" border="0" cellspacing="0" cellpadding="4">
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('0')"><img src="<% = Img %>0_star_rating.gif" width="66" height="14" alt="0 Stars" border="0"></a></td>
            <td width="154" class="text">No lo comprar&iacute;a</td>
          </tr>
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('1')"><img src="<% = Img %>1_star_rating.gif" width="66" height="14" alt="1 Star" border="0"></a></td>
            <td width="154" class="text">Solo lo ver&iacute;a </td>
          </tr>
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('2')"><img src="<% = Img %>2_star_rating.gif" width="66" height="14" alt="2 Stars" border="0"></a></td>
            <td width="154" class="text">Algo tiene de bueno </td>
          </tr>
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('3')"><img src="<% = Img %>3_star_rating.gif" alt="3 Stars" width="66" height="14" border="0" align="absmiddle"></a></td>
            <td width="154" class="text">OK</td>
          </tr>
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('4')"><img src="<% = Img %>4_star_rating.gif" width="66" height="14" alt="4 Stars" border="0"></a></td>
            <td width="154" class="text">Excelente</td>
          </tr>
          <tr>
            <td width="50" class="text"><a href="javascript:Rating('5')"><img src="<% = Img %>5_star_rating.gif" width="66" height="14" alt="5 Stars" border="0"></a></td>
            <td width="154" class="text">No puede faltar en el PC </td>
          </tr>
      </table></td>
    </tr>
    </table>
</div>
</body>
</html>
ver.asp
Código:
...
..
.
<%
Dim Conn
Dim strConn
Dim SQL
Dim RS
Dim rate

Set Conn = Server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("" & DB & "tablaturas.mdb")
Conn.Open strConn

SQL="SELECT * FROM tablaturas ORDER BY id"
set RS = Conn.Execute(SQL)

Do While Not RS.EOF
%>
<table border="0" width="100%">
  <tr>
    <td width="100%">
     <table border="0" width="100%">
      <tr>
       <td width="85%" class="text"><a href="clicks1.asp?url=<% = RS("URL") %>"><% = RS("cancion") %></a>&nbsp;(<% = RS("formato") %>)</td>
       <td width="15%" class="text">Descargas: <% = RS("clicks") %></td>
      </tr>
     </table>
    </td>
  </tr>
  <tr>
    <td width="100%"><% = RS("tamaño") %>KB<br><% = RS("descripcion") %></td>
  </tr>
  <tr>
    <td width="100%"><%
if RS("votos")="0" then

Response.Write	("Este producto ha recibido "&Rs("votos")&" votos ")
Response.Write	("<img src=""" & Img & "0_star_rating.gif"" width=""66"" height=""14"" alt="""&rate&" Estrellas"" border=""0"" align=""absmiddle"">")
Response.Write	(" - ")
Response.Write	("<a href=""javascript:openWin('valoracion_producto.asp?ID=" & rs("id") & "','rate_site')"" style=""font-size:""11px""; font-style: italic;"">votar</>")

else
      		
rate = Cint(Rs("total_votos"))/Cint(Rs("votos"))
rate = Round(rate)
		
Response.Write	("Este producto ha recibido "&Rs("votos")&" votos ")
Response.Write	("<img src=""" & Img & "" & rate & "_star_rating.gif"" width=""66"" height=""14"" alt="""&rate&" Estrellas"" border=""0"" align=""absmiddle"">")
Response.Write	(" - ")
Response.Write	("<a href=""javascript:openWin('valoracion_producto.asp?ID=" & rs("id") & "','rate_site')"" style=""font-size:""11px""; font-style: italic;"">votar</>")

end if
%></td>
  </tr>
</table><br><br>
<%
RS.MoveNext
Loop

%>
.
..
...
y no se porque el error si solo cambie Response.Cookies("valoracion")("prodID")= prodID por Response.Cookies("valoracion")("ID")= ID
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #39 (permalink)  
Antiguo 04/04/2005, 19:21
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
es super raro, yo lo probe con access y arregle el primer problema que tenias, bueno mejor te comprimo todos los archivos y lo copias a la raiz te mando al correo
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #40 (permalink)  
Antiguo 04/04/2005, 19:24
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
es que tiene que haver un error porque con el codigo original no me tira errores y funciona perfectamente, lo que pasa es que cuando comence a adaptarlo a mi web todo bien solo que le agregue algunos campos a la BD y le modifique otros como id_prod por id solamente, y ahora me tira ese error que no se porque es porque comparando he cambiado todo
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #41 (permalink)  
Antiguo 04/04/2005, 19:32
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
El problema es que no tienes el buffer habilitado, pon esta linea al principio de tu codigo:

Response.Buffer = true

El redirect tiene que ser lo primero que aparezca en un ASP, de lo contrario, te tirara este error, lo que se hace es guardar todo el codigo cliente en el buffer para despues redirigir.
En win2k para arriba deberia estar por default.


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #42 (permalink)  
Antiguo 04/04/2005, 19:33
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
y me percate recien de que pese a ese error:

objeto Response error 'ASP 0156 : 80004005'

Error de encabezado

/am/metallica/add_valoracion.asp, line 34

Los enbezados HTTP ya están escritas en el explorador cliente. Cualquier cambio en el encabezado HTTP se debe hacer antes de escribir el contenido de la página.

el sistema funciona igual, es decir que suma un voto al id y saca correctamente el promedio, el unico problema es que no sale el aviso de gracias por tu voto y cerrar ventana
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #43 (permalink)  
Antiguo 04/04/2005, 19:38
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
ahora esto:

objeto Response error 'ASP 0156 : 80004005'

Error de encabezado

/am/metallica/add_valoracion.asp, line 9

Los enbezados HTTP ya están escritas en el explorador cliente. Cualquier cambio en el encabezado HTTP se debe hacer antes de escribir el contenido de la página.
Código:
<!--#include file="lenguaje.asp" -->
<html>
<head>
<title><% = Titulo %></title>
<link rel="stylesheet" type="text/css" href="estilo1.css">
</head>
<body>
<%
Response.Buffer = true

       stroconn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("" & DB & "tablaturas.mdb")
       set oConn = server.createobject("adodb.connection")
       oConn.open stroconn

            'Recupero el valor del voto y el valor del ID del producto
		ID	=	Request.Querystring("ID")
		votos	=	Request.Querystring("Votos")


		'Traigo los votos actuales que tiene el producto para sumarle los nuevos
		SQL="SELECT * FROM tablaturas WHERE id = "&ID&" "
		Set Rs = Server.CreateObject("ADODB.Recordset")
		Rs.Open SQL, oConn,3,1

		vact		=	Cint(Rs("total_votos"))
		total		=	vact + Votos
		
		'Sumamos uno a las votaciones
		rating		=	Cint(Rs("votos"))+1
		
		'Ahora que tengo el total que es lo que recibi de la base mas los votos nuevos actualizo la valoracion del producto segun su ID
		SQL = "UPDATE tablaturas Set total_votos = "&total&", votos = "&rating&" WHERE id = "&ID&" "
		Set RS = oConn.Execute(SQL) 
		
		'Creamos una cookie con el id del producto para que no voten mas de una vez(puro grupo) le damos una semana
		Response.Cookies("valoracion")("ID")= ID
		Response.Cookies("valoracion").Expires = Now() + 7
%>
<br>
<br>
<br>
<br>
<table width="215" height="22" border="0" align="center" cellpadding="1" cellspacing="0">
  <tr>
    <td><table width="100%" height="140" border="0" cellpadding="4" cellspacing="0">
        <tr>
          <td class="text"><div align="center">Gracias por tu Voto<br>
            <a href="javascript:onClick=window.close()"><br>
            Cerrar Ventana </a><br>
          </div></td>
        </tr>
    </table></td>
  </tr>
</table>
</body>
</html>
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #44 (permalink)  
Antiguo 04/04/2005, 19:39
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Al principio, la primera linea de tu codigo antes de escribir ningun HTML...
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #45 (permalink)  
Antiguo 04/04/2005, 19:41
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
ahi si gracias nuevamente amigo
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
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 13:14.