Foros del Web » Programando para Internet » PHP »

"comillas" en php 4.3.1, algo raro en mis scripts

Estas en el tema de "comillas" en php 4.3.1, algo raro en mis scripts en el foro de PHP en Foros del Web. tengo algunos scripts en php q qusaba con la version 4.2.3 pero me actualice a la 4.3.1 (a duras penas, Uf!) y ocurrio q algunos ...
  #1 (permalink)  
Antiguo 24/03/2003, 19:12
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 15 años, 1 mes
Puntos: 4
Exclamación "comillas" en php 4.3.1, algo raro en mis scripts

tengo algunos scripts en php q qusaba con la version 4.2.3
pero me actualice a la 4.3.1 (a duras penas, Uf!) y ocurrio q algunos scripts tienen problemas con las comillas.

paso puntualmente en un guestbook q obtenia datos de un datafile, q al imprimir los datos en el sript pone comillas entemedio del texto (q supongo yo vienen de algun bucle while con echo"", comunmente) y desordena el codigo html.

entonces la tabla y los datos del datafile se imprimen ente los tags html y a veces entre las tablas, por lo tanto se desordena.

al revisar el codigo html q genero el script, vi q aparecian cosas como

Código PHP:
<FONT SIZE="1" CLASS="normalcol"><CLASS="tablelink" STYLE="text-decoration: none" HREF="=Muy buena la pagina....                               <IMG SRC=gif/wink.gif BORDER=0 WIDTH=15 HEIGHT=15 ALT=";)" TARGET="_blank" ONFOCUS="filter:blur()"> 
como se fijan, los datos aparecen dentro de las propiedades de los tags.

tiene relacion con algun problema con comillas?
tal vez el script no estaba muy bueno?
o es q alguna caracterisca te la ultima version PHP interpreta de diferente forma las comillas?
__________________
Blog | Tecnosquad

Última edición por ArrauKano; 24/03/2003 a las 19:16
  #2 (permalink)  
Antiguo 25/03/2003, 08:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No entendí cual es el problema ..

El caso que en la configuración de PHP puedes dejar que PHP "escape" automáticamente caracteres como comillas, apostrofe y algunos mas .. Tanto de las variables que entren por GPC (GET, POST y COOKIES) como por accesos a BD, y otros ...

Esas directivas las determina en tu php.ini:
magic_quotes_gpc = On
magic_quotes_runtime = Off

(tambien se pueden ajustar via ini_set() en tiempo de ejecución ..)

Lo normal es que trabaje como he puesto el ejemplo .. Pero tambien puede ser que cierto script asuma o fuerce por defecto alguna configuración (via el mencionado ini_set() ...) Eso junto a algun uso de stripslashes() o addslashes() de mas o no tomando en cuenta la configuración .. podría ocasinar algun problema con comillas, apostrofes y algun caracter a la hora de "escaparlo" ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 26/03/2003, 17:51
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 15 años, 1 mes
Puntos: 4
disculpen, pero descubri q el desorden en el script se produjo por otro error, no tenia nada q ver con la actualizacion de PHP.

en cualkier caso,
q significa eso de "escape" ???¿¿
__________________
Blog | Tecnosquad
  #4 (permalink)  
Antiguo 26/03/2003, 20:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
escape --> \

Ese "slash" (barra invertida o como lo quieras llamar) delante de ciertos caracteres como \n \r \" .. segun donde se usen se interpretaran como "código" y no como caracter n o r o " en el caso de estos ejemplos .. En otros casos es lo contrario .. (No sé la teoría 100% del tema .. )

Por ejemplo el \n usado en un sistema de archivos o en un campo <texarea> de un formulario HTML significa "salto de línea" (el \r o \n\r juntos significan lo mismo para otros Sistemas Operativos..) ..

El \" .. se usa mucho en un:
Código PHP:
echo "hola \"esto está entrecomillado \" bla bla bla"
Como veras .. el echo empieza con comillas dobles .. así que si deseo usar comillas dobles dentro de esa instrucción PHP .. debo usar el \ de escape al caracter que quiero que no se interprete como cierre de esa instrucción ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 19:23.