Foros del Web » Programando para Internet » PHP »

problema con apostrofe ayuda

Estas en el tema de problema con apostrofe ayuda en el foro de PHP en Foros del Web. Hola a todos, resulta que tengo un buscador en un popup , en el cual se buscan caballos y dentro de ellos hay algunos que ...
  #1 (permalink)  
Antiguo 08/04/2010, 09:40
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
problema con apostrofe ayuda

Hola a todos, resulta que tengo un buscador en un popup , en el cual se buscan caballos y dentro de ellos hay algunos que tienen apostrofes en sus nombres por ej : sadler's wells

yo tengo el siguiente codigo para pasar del pop-up a la madre

if ($condicion ==2) //MADRE
echo "<td width=\"150\"><a href='#' onclick=\"window.opener.document.getElementById('v isabuelamaterna').value='$row[nombre]';window.opener.document.getElementById('tj').valu e='$row[t]';window.opener.document.getElementById('fj').valu e='$row[f]'\")>$row[nombre]</a></td>";

el tema que $row[nombre] seria el nombre del caballo que tiene apostrofe y en esos casos no pasan las variables a la pagina padre y por lo tanto no anda.

Mi pregunta es, como hago para que pasen los nombres con apostrofes?.

Saludos y muchas gracias.
  #2 (permalink)  
Antiguo 08/04/2010, 10:07
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: problema con apostrofe ayuda

no sera que en lugar de ser $row[nombre] es $row['nombre'], con las apostrofes?, trata poniendo el codigo asi:


Código PHP:
Ver original
  1. <?php
  2. if($condicion == 2){?>
  3.  
  4. <td width="150"><a href="#" onclick="window.opener.document.getElementById('visabuelamaterna').value='".<?php $row['nombre']?>."';window.opener.document.getElementById.('tj').value='".<?php $row['t']?>."';window.opener.document.getElementById('fj').value='".<?php $row['f']?>."'")>
  5. <?= $row['nombre']?></a></td>
  6.  
  7. <?php
  8. } ?>
por dios me perdi en toda esa linea, trata asi para ver si funciona, y si no... pues alguien mas sabra que se puede hacer :P

NOTA: en caso de que no funcione el codigo, si vas a "ejecutar" codigo html en un echo de php, trata mejor de cerrar el codigo php para luego escribir el codigo html y asi te evitas el estar poniendo el \",\' y todas esas cosas. bueno, para mi es mas facil :P
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said

Última edición por lukas4; 08/04/2010 a las 10:10 Razón: la nota
  #3 (permalink)  
Antiguo 08/04/2010, 10:18
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: problema con apostrofe ayuda

Probe asi pero no anda tira error, asi como esta anda barbaro el problema pasa solo con nombres con apostrofe por eso busco alguna forma de que lo tome.

Gracias.
  #4 (permalink)  
Antiguo 08/04/2010, 10:29
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 9 meses
Puntos: 66
Respuesta: problema con apostrofe ayuda

Sacado del manual php

string addslashes ( string $cadena )

Devuelve una cadena con barras invertidas delante de los caracteres que necesitan escaparse en situaciones como consultas de bases de datos, etc. Los caracteres que se escapan son la comilla simple ('), comilla doble ("), barra invertida (\) y NUL (el byte NULL).

El ejemplo más habitual de utilización de la función addslashes() es la insersción de información en una base de datos. Por ejemplo, para insertar el nombre O'reilly en una base de datos, debe escaparse previamente. Para ello, la mayoría de bases de datos emplean el carácter \, por lo que el nombre quedaría como O\'reilly. Si la opción de configuración magic_quotes_sybase tiene un valor de on, entonces las comillas simples de tipo ' se escapan añadiendo otra comilla simple delante.

La directiva de PHP magic_quotes_gpc tiene un valor por defecto de on, por lo que de forma automática se llama a la función addslashes() en todos los datos que llegan a través de los métodos GET y POST y a través de las cookies. Por tanto, no es necesario emplear la función addslashes() en las cadenas que ya han sido escapadas mediante la directiva magic_quotes_gpc ya que si no, se harí un doble escape. La función get_magic_quotes_gpc() puede ser útil para comprobar el valor de esta directiva.


Ejemplo 2295. Ejemplo de addslashes()

Código PHP:
<?php
$cadena 
"¿Te apellidas O'reilly?";

// La salida seria: ¿Te apellidas O\'reilly?
echo addslashes($cadena);
?>

string stripslashes ( string $cadena )

Devuelve una cadena con las barras invertidas eliminadas (\' se convierte en ', etc.). Las barras invertidas dobles (\\) se convierten en sencillas (\).

Un ejemplo de uso de la función stripslashes() es cuando la directiva magic_quotes_gpc tiene un valor de on (que es su valor por defecto) y no se van a insertar los datos en una base de datos o cualquier otro elemento que necesite escapar los caracteres (por ejemplo, cuando se van a mostrar los datos de forma directa en una página HTML).


Ejemplo 2353. Ejemplo de stripslashes()

Código PHP:
<?php
$cadena 
"¿Te apellidas O\'reilly?";

// La salida es: ¿Te apellidas O'reilly?
echo stripslashes($cadena);
?>
__________________
Tu álbum de cromos online!!

Última edición por santris; 08/04/2010 a las 10:40
  #5 (permalink)  
Antiguo 08/04/2010, 11:12
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: problema con apostrofe ayuda

muchisimas gracias anda barbaro.

Etiquetas: apostrofes
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 02:22.