entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

">" como cierre de etiqueta php

Hola. Me estoy encontrando con un problema. Mi código php está interpretando un signo de "mayor que" como cierre de etiqueta de php (?>). El código es el siguiente:

<?php
if(isset($_POST['log_u']) && isset($_POST['log_p'])){
    require 'sys/conn.php';
    $u=mysqli_real_escape_string($conn,$_POST['log_u']);
    $p=mysqli_real_escape_string($conn,$_POST['log_p']);

    $sLogin="SELECT id_usuario FROM usr_usuario WHERE usr_nombre='$u' AND usr_pass='$p' AND activo=1";

    $qyLogin=mysqli_query($conn,$sLogin);
    $nrLogin=mysqli_num_rows($qyLogin);

    if($nrLogin>0){
       --- código php --
      }
}
?>

Lo que hace es interpretar como código php todo hasta el símbolo ">" de "$nrLogin>0", y a partir de ahí deja de interpretarlo como php y lo muestra por pantalla como si fuese código html.

No sé si me he explicado bien.

Gracias.

0voto

Leonardo-Tadei comentado

Te explicás bien pero no debería haber error en esa línea.
Podrías copiar y pegar el error que obtenés del intérprete PHP y decirnos a qué línea corresponde del código que enviás?

0voto

atlantida comentado

Muchas gracias Leonardo-Tadei por contestar tan rápido.

Efectivamente, no debería haber error porque está correcto. Ya he encontrado la solución, y es que el cliente ha modificado el archivo quitando el salto de línea que hay tras la apertura del código "<?php" y, por lo tanto, no estaba interpretando el código correctamente.

Una vez corregido esto, funciona todo bien.

Muchas gracias por tu interés

0voto

admont28 comentado

Hola amigo,

Por favor marcar tu pregunta como solucionada.

Gracias, saludos! :)

1 Respuesta

0voto

Leonardo-Tadei Puntos227320

El archivo comenszando con:

<?php
if(isset($_POST['log_u']) && isset($_POST['log_p'])){
...

o con

<?php if(isset($_POST['log_u']) && isset($_POST['log_p'])){
...

funciona, pero no si no hay al menos un espacio en la apertura del tag PHP.

Me alegra que hayas encontrado el error!

PD: qué hace tu cliente modificando archivos PHP???

0voto

atlantida comentado

En realidad lo habían dejado así:

<?phpif(isset($_POST['log_u']) && isset($_POST['log_p'])){
...

Y de esta forma pasa lo que explicaba en mi pregunta, que lo interpreta como texto plano y lo muestra por pantalla.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta