Foros del Web » Programando para Internet » PHP »

constante de cadena sin terminar

Estas en el tema de constante de cadena sin terminar en el foro de PHP en Foros del Web. Hola Amigos, desde ya les cuento que este error excede mis capacidades de aprendizaje así que recurro a ustedes a ver si me tiran una ...
  #1 (permalink)  
Antiguo 29/04/2004, 00:20
 
Fecha de Ingreso: marzo-2004
Ubicación: Córdoba
Mensajes: 23
Antigüedad: 20 años
Puntos: 0
constante de cadena sin terminar

Hola Amigos, desde ya les cuento que este error excede mis capacidades de aprendizaje así que recurro a ustedes a ver si me tiran una manito.

Este es el código que está dentro de un bucle que muestra una consulta y lo que hace es que si existen observaciones o fotos hace un link sobre el producto para abrir una ventanita con los datos, y si no sólo muestra el producto; funciona bien pero cuando es muy grande la cantidad de productos a listar tira error CONSTANTE DE CADENA SIN TERMINAR en la línea 120. Puede ser que sobrepase el máximo de links por página o de llamadas a una función? Es como si en algún lugar no se cerraran las comillas. Me imagino que tiene que ver con la llamada a window de javascript ¿Alguna idea?

/*Columna descripcion*/
echo"<TD valign=middle bgcolor=$color <font color=\"#000000\"> <span class=\"descripcion\">";
$des=$linea['descripcion'];
$des.= " (";
$des.=$linea['unidades'];
$des.=")";
if ($linea['foto']!=0 or $linea['observaciones']!="") {
$obs=$linea['observaciones'];
$mifoto=$linea['foto'];
$link="<a href=\"#\" onClick=\"MM_openBrWindow('observaciones.php?produ cto=".$des."&observaciones=".$obs."&codigo=".$cod. "&foto=".$mifoto."','miventana','left=150,top=150, width=345,height=180')\">".$des."</a>";
echo $link;
}else{
echo $des;
}; //ESTA ES LA LINEA 120 DONDE TIRA EL ERROR
echo "</span>";
echo "</TD>";

Desde ya y como siempre un millón de gracias por la buena onda que tiene este foro.
__________________
Cristian
  #2 (permalink)  
Antiguo 29/04/2004, 00:43
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Una pregunta: ¿el mensaje de error te sale dentro de la pagina o en una ventanita? Porque me da que el mensaje que te da es un mensaje de error de javascript. Y entonces el 120 no es la linea de codigo PHP, sino la linea de codigo HTML generado.

Y posiblemente el error sea que alguno de los valores de tu variables PHP tiene un salto de linea ('observaciones' es un candidato a ello). Y en javascript esto

window.open('pp
pp');

es error de sintaxis (y me suena que el mismo error).

Verifica el codigo HTML generado y comprueba si ese es el error.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 29/04/2004, 02:56
 
Fecha de Ingreso: marzo-2004
Ubicación: Córdoba
Mensajes: 23
Antigüedad: 20 años
Puntos: 0
Hola Josemi, desde ya muchas gracias por tu respuesta.

Te cuento que el error lo tira antes de abrir alguna ventana secundaria.

Estuve revisando hace ya unas horas el código fuente como me sugeriste y no encontré saltos de línea pero acertaste porque hay unas comillas en algunos productos entonces cierran el html y lo que viene detrás no sé cómo lo tomará. Efectivamente también la línea 120 no es la de código PHP sino la del html generado.

Aquí mando la primera línea del código html con el error.

<a href="#" onClick="MM_openBrWindow('observaciones.php?produc to= MONITOR SAMSUNG 15" SYNC MASTER 551v .24 (C/U)&observaciones=Gar: 180 días&codigo=154.01.10528&foto=0','miventana','left =150,top=150,width=345,height=180')"> MONITOR SAMSUNG 15" SYNC MASTER 551v .24 (C/U)</a>

Así que me parece que por ahí viene el problema. Todavía me queda un rato para depurarlo bien.
Aún no entiendo por qué cuando hago listados parciales de los mismo productos no tira el error.

Muchísimas gracias por haberme orientado tan bien y apenas logre resolver el error(espero poder) envío cuál fue la solución.
__________________
Cristian
  #4 (permalink)  
Antiguo 29/04/2004, 03:20
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Pues las comillas se las toma mal. Las toma como final de la cadena.

Mira las funciones urlencode() y rawurlencode().

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 29/04/2004, 04:06
 
Fecha de Ingreso: marzo-2004
Ubicación: Córdoba
Mensajes: 23
Antigüedad: 20 años
Puntos: 0
Hola Josemi, después de toda una noche ya eliminé el error, limpié la base de datos de comillas y ahora funciona bien. Una decisión un poco a los palos pero por ahora sirve.

En breve me fijo las funciones que me indicas y muchas gracias por compartir tus conocimientos, espero algún día poder retribuir.
__________________
Cristian
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 06:35.