elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  problema con comillas en servidor Linux
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con comillas en servidor Linux  (Leído 2,234 veces)
KateLibby

Desconectado Desconectado

Mensajes: 90



Ver Perfil
problema con comillas en servidor Linux
« en: 28 Febrero 2019, 15:14 pm »

Hola!

Tengo el siguiente código en el que la función confirmar me funciona sin problema cuando lo tengo subido a un servidor que corre sobre Windows, pero ha dejado de funcionarme en el momento en que lo he subido a un servidor Linux.

Código
  1. print '<td width="20"><a title="'.$langs->trans("borrar_reg").'" onClick = \'confirmar('.$reg['id'].', '.$reg['id_ticket'].')\' href="#"><img src="img/delete.png"></a></td>';

Por una serie de pruebas que he hecho, parece que el problema está en las comillas, ya que lo he probado con un simple alert y al final me ha funcionado haciendo combinaciones con las comillas dobles y simples. Pero con el caso del ejemplo no lo he conseguido, aún y habiendo visto que el código que genera el navegador es exactamente igual que el que me funciona con Windows.

¿Alguien podría echarme una mano? Gracias.

EDITO: Se me olvidaba decir que he mirado si me daba errores con el Inspector del navegador, y Firefox no me duevuelve ningún error, pero Chrome me dice que no encuentra la función confirmar


« Última modificación: 28 Febrero 2019, 15:42 pm por KateLibby » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: problema con comillas en servidor Linux
« Respuesta #1 en: 28 Febrero 2019, 15:57 pm »

Las comillas no estan mal, el problema lo tienes en otro lado. Es feo tal y como están, pero mal lo que se dice mal.. no estan. Deberías mirar como declaras la función confirmar().

Lo ideal en estos casos es encapsular bien y hacer legible.

Código
  1. echo "<td width='20'>",
  2.        "<a title='{$title}' onClick='confirmar({$reg['id']}, {$reg['id_ticket']})' href='#'>",
  3.            "<img src='img/delete.png'>",
  4.        "</a>",
  5.    "</td>";


O mejor aún usando un sistema de templates o haciendo uno a lo cutre:

Código
  1. $template = '<td width="20">'.
  2.                '<a title="%title%" onClick="confirmar(%id%, %id_ticket%)" href="#">'.
  3.                    '<img src="img/delete.png>'.
  4.                '</a>'.
  5.            '</td>';
  6.  
  7. $variables = array(
  8.    '%title%' => $langs->trans('borrar_reg'),
  9.    '%id%' => $reg['id'],
  10.    '%id_ticket%' => $reg['id_ticket']
  11. );
  12.  
  13.  
  14. $content = strtr($template, $variables);
  15.  
  16. echo $content;


Saludos


En línea

KateLibby

Desconectado Desconectado

Mensajes: 90



Ver Perfil
Re: problema con comillas en servidor Linux
« Respuesta #2 en: 1 Marzo 2019, 09:27 am »

Gracias por tu respuesta.

La verdad es que el problema debe ser otro... Ahora he puesto el código de forma más entendible como me dijiste, y lo he aislado en un archivo que no tenga más que esa parte del código. De esta forma sí me ha funcionado.

Seguiré investigando.
En línea

KateLibby

Desconectado Desconectado

Mensajes: 90



Ver Perfil
Re: problema con comillas en servidor Linux
« Respuesta #3 en: 4 Marzo 2019, 10:53 am »

Ok, ya he encontrado una solución. Donde tenía el problema era en meter un string de idioma en los alert

Código
  1. alert("'.$langs->trans("reg_deleted").'");

Haciendo esto se ha solucionado el problema

Código
  1. alert("'.json_encode($langs->trans("reg_deleted")).'");
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comillas en PHP « 1 2 »
PHP
dark_sargon 14 8,021 Último mensaje 4 Junio 2009, 17:20 pm
por дٳŦ٭
Problema con comillas en Geany
Programación C/C++
akibara 1 5,004 Último mensaje 24 Mayo 2011, 18:46 pm
por x64core
Problema cuando mysql_real_escape_string guarda las comillas « 1 2 »
PHP
dimitrix 10 6,912 Último mensaje 28 Enero 2012, 21:39 pm
por dimitrix
Reemplazar comillas dobles dentro de comillas dobles.
.NET (C#, VB.NET, ASP)
seba123neo 2 8,564 Último mensaje 22 Agosto 2012, 20:25 pm
por seba123neo
[Batch] Problema variable con comillas
Scripting
tienty 4 5,837 Último mensaje 3 Abril 2013, 13:47 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines