Foros del Web » Programando para Internet » PHP »

Código escapado?

Estas en el tema de Código escapado? en el foro de PHP en Foros del Web. Hola amigos, tengo un problema con el código php que sale abajo. Cuando lo veo en el navegador, éste escribe parte del código siempre a ...
  #1 (permalink)  
Antiguo 10/07/2008, 02:38
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 15 años, 9 meses
Puntos: 0
Código escapado?

Hola amigos, tengo un problema con el código php que sale abajo.

Cuando lo veo en el navegador, éste escribe parte del código siempre a partir de los símbolos mayor qué (>). Es como si esos símbolos escapasen mi código.
Intente arreglarlo con barras y con <? y ?> pero sigo con el mismo problema.

Perdonad si es una pregunta básica pero no encuentro por ningún lado como solucionar esto.


Gracias, un saludo,
Juanma

P.D: el primer "mayor que" que da error es el condicional: if(mysql_num_rows($res)>0){


Código:
<link href="estilo.css" rel="stylesheet" type="text/css">
<table width="100%">
<?
include_once("funciones.php");
$evento = $_GET['evento'];
if(!isset($evento)){
    $evento = date("Y-m-d");
}
$conexion = conectar();
$sql = "select * from eventos where fecha = '$evento'";
$res = query($sql);
if(mysql_num_rows($res)>0){
    while($fila = mysql_fetch_array($res)){
        echo "<tr><td class='tdfecha'>".$fila['fecha']."</td><td class='tdevento'>".$fila['evento']."</td><td><a href='borrar.php?id=".$fila['eventoid']."'  alt='Borrar'><img src='delete.gif' alt='Borrar' border=0></a></td></tr>";
    }
}else{
    echo "<tr><td>no hay eventos cargados en este dia.</td></tr>";
}
desconectar($conexion);
?>
</table>
  #2 (permalink)  
Antiguo 10/07/2008, 03:00
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Código escapado?

Prueba la select en el mysql para ver que resultados te da, si el 0 no le gusta prueba con NULL o '' o '0' o mira que devuelve haciendo un echo de mysql_num_rows($res)



PD: cuando obtienes la variable deberías hacer alguna validación o escapar valores porque tienes un problema de inyección.
  #3 (permalink)  
Antiguo 10/07/2008, 03:23
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Código escapado?

El tema es que con una "trampa" corregí el

if(mysql_num_rows($res)>0)

Simplemente le di la vuelta y puse if(0<mysql_num_rows($res)) asi me evito el simbolo "mayor que", la fuente de problemas.

Sin embargo cuando corrijo esto vuelvo a tener el mismo problema unas pocas lineas mas abajo con los "mayor que" que crean la tabla en mi echo.

Si corrijo alguno de esos símbolos de tabla en el echo o directamente lo elimino, el problema pasa al siguiente >, el caso es q se deja de interpretar mi código php y se escribe como html en la página.

Incluso escribiendo el echo mysql_num_rows($res); que me recomendaste no importa porque ni siquiera me interpreta el código como php :(

Sobre la vble me anoto lo de la validación, muchas gracias por la recomendación.
  #4 (permalink)  
Antiguo 10/07/2008, 03:49
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Código escapado?

el código que tienes me funciona perfectamente, supongo que query() es una función tuya que hace la query al igual que conexión y descongestione... no veo el problema, revisa estas funciones.

En cuanto a que no te interpreta el codigo como php, supongo que un echo 'hola mundo', lo has ejecutado, si no te interpreta ningún código PHP busca como instalar-te un servidor y una base de datos (supongo que ya lo tienes).
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 17:59.