Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al cargar texto que contiene comillas simples en input type text

Estas en el tema de Problema al cargar texto que contiene comillas simples en input type text en el foro de PHP en Foros del Web. Buenas compañeros, Tengo que cargar en dos input type text el nombre y apellidos de un actor. El problema viene cuando el nombre o el ...
  #1 (permalink)  
Antiguo 31/07/2013, 04:29
 
Fecha de Ingreso: julio-2013
Mensajes: 44
Antigüedad: 11 años, 4 meses
Puntos: 0
Problema al cargar texto que contiene comillas simples en input type text

Buenas compañeros,

Tengo que cargar en dos input type text el nombre y apellidos de un actor. El problema viene cuando el nombre o el apellido tiene una comilla simple.

Ejemplo: Quiero visualizar en dos input type text, uno para el nombre y otro para el apellido, el nombre de un actor para modificarlo si fuera necesario. En este caso querría mostrar James D'Arcy Segundo. El código sería el siguiente:

<input type=text name=nombre id=nombre value='" . $fila[nombre] . "'>
<input type=text name=apellidos id=apellidos value='" . $fila[apellidos] . "'>

Aclaración: Por si no se aprecia, es comilla simple - comillas - . $fila[nombre] . - comillas, comilla simple

Las comillas simples las pongo por si el nombre fuera compuesto o el apellido fueran dos en lugar de uno. Si el nombre fuera Juan José, y no pongo las comillas simples, en el input type text del nombre sólo me saldría Juan

Pues según el ejemplo (James D'Arcy Segundo) lo que cargo en los input type text sería:
Nombre: James
Apellidos: D

¿Cómo puedo hacer para cargar el apellido correctamente?
  #2 (permalink)  
Antiguo 31/07/2013, 06:49
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Problema al cargar texto que contiene comillas simples en input type text

Código PHP:
Ver original
  1. <?php
  2. //elcodigo que sea
  3. ?>
  4. <input type=text name=nombre id=nombre value=" <?php echo $fila[nombre];?>">
  5. <input type=text name=apellidos id=apellidos value=" <?php echo $fila[apellidos];?>">
  6. <?php
  7. //sigue tu codigo
  8. ?>

Ojo si tienes " comillas dobles en los nombres... (no es normal...)

Si no te convence la solución repasa las funciones

http://php.net/manual/es/function.htmlentities.php

http://www.php.net/manual/es/functio...ecialchars.php
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 31/07/2013, 09:54
 
Fecha de Ingreso: julio-2013
Mensajes: 44
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema al cargar texto que contiene comillas simples en input type text

Me gustaría que todo el código estuviera en php. Así es como lo tengo:

Código PHP:
Ver original
  1. <?
  2. // código
  3.  
  4. echo "<input type=text name=nombre id=nombre value='" . $fila[nombre] . "'>";
  5. echo "<input type=text name=apellidos id=apellidos value='" . $fila[apellidos] . "'>";
  6.  
  7. // sigue código
  8. ?>

¿Se podría?
  #4 (permalink)  
Antiguo 31/07/2013, 14:00
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 11 años, 5 meses
Puntos: 25
Respuesta: Problema al cargar texto que contiene comillas simples en input type text

Prueba con esto:
Código PHP:
<?
// código

echo '<input type="text" name="nombre" id="nombre" value="' $fila[nombre] . '">';
echo 
'<input type="text" name="apellidos" id="apellidos" value="'$fila[apellidos] . '">';

// sigue código
?>
Con las comillas simples no es necesario escapar más que las mismas comillas simples.
En principio no debería darte ningun problema con las comillas en ningun caso, haya introducido o no comillas en el nombre o en el apellido. Ya que digamos que el php no las procesa si vienen de una variable.

Yo creo que el error estaba en tu html, porque los atributos type, name e id no habias puesto las comillas a sus valores.

Ya me diras si lo solucionas.
  #5 (permalink)  
Antiguo 31/07/2013, 21:47
Avatar de rocha7778  
Fecha de Ingreso: mayo-2013
Ubicación: Cartagena Colombia
Mensajes: 79
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Problema al cargar texto que contiene comillas simples en input type text

Cita:
Iniciado por waspeis Ver Mensaje
Me gustaría que todo el código estuviera en php. Así es como lo tengo:

Código PHP:
Ver original
  1. <?
  2. // código
  3.  
  4. echo "<input type=text name=nombre id=nombre value='" . $fila[nombre] . "'>";
  5. echo "<input type=text name=apellidos id=apellidos value='" . $fila[apellidos] . "'>";
  6.  
  7. // sigue código
  8. ?>

¿Se podría?

Crear codigo html con php es muy confuso, de mantener y entender cuando el formulario crece y queres vincularlo con jquery y otras tecnologias del lado del cliente.

lo mejor es aplicar el modelo vista controlador, te dejo un link

http://desarrolladorsenior.blogspot....olador-en.html
  #6 (permalink)  
Antiguo 01/08/2013, 10:29
 
Fecha de Ingreso: julio-2013
Mensajes: 15
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema al cargar texto que contiene comillas simples en input type text

también puedes tratar con esto

Código:
echo "<input type='text' name='nombre' id='nombre' value=\"" . $fila[nombre] . "\">
<input type='text' name='apellidos' id='apellidos' value=\"" . $fila[apellidos] . "\">";
como dice Amiancht, las comillas de las propiedades por si acaso
  #7 (permalink)  
Antiguo 01/08/2013, 10:33
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: Problema al cargar texto que contiene comillas simples en input type text

Cita:
Iniciado por maou Ver Mensaje
también puedes tratar con esto

Código:
echo "<input type=text name=nombre id=nombre value=\"" . $fila[nombre] . "\">
<input type=text name=apellidos id=apellidos value=\"" . $fila[apellidos] . "\">";
Todo array que tenga como key un string en vez de un número debe ir entre comillas ya que PHP primero tratará de buscar una constante

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #8 (permalink)  
Antiguo 03/08/2013, 12:30
 
Fecha de Ingreso: julio-2013
Mensajes: 44
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema al cargar texto que contiene comillas simples en input type text

Gracias quimfv, he probado lo que has comentado y funciona

Gracias Amiancht, tu opción funciona perfectamente. He probado poniendo comillas en los atributos y sin ellas y funciona en ambos casos. Las únicas que tengo que dejar son las del atributo value.

Gracias rocha7778, le echaré un vistazo

Gracias maou, tu opción también funciona perfectamente. He probado poniendo comillas en los atributos y sin ellas y funciona en ambos casos. Las únicas que tengo que dejar son las del atributo value.

Gracias a todos!

Etiquetas: comillas, input, simples, text, type
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:26.