Foros del Web » Programando para Internet » PHP »

Capturar datos en un INPUT (problema)

Estas en el tema de Capturar datos en un INPUT (problema) en el foro de PHP en Foros del Web. Hola a todos. Les comento que posiblemente mi problema sea algo muy sencillo de resolver, pero no logro dar con la tecla. Quizas uds puedan ...
  #1 (permalink)  
Antiguo 19/06/2009, 15:05
Ktulu
Invitado
 
Mensajes: n/a
Puntos:
Capturar datos en un INPUT (problema)

Hola a todos. Les comento que posiblemente mi problema sea algo muy sencillo de resolver, pero no logro dar con la tecla. Quizas uds puedan ayudarme:

Mediante una consulta PHP condicionada por un ID obtengo los valores de un registro guardado en mi BD (MySQL).
El resultado de ésta consulta la muestro mediante INPUTS ya que podran ser modificados y actualizados usando Ajax. El problema aparece cuando tengo ciertos campos compuestos por más de 1 palabra, por ejemplo: tengo almacenado "Buenos Aires" y el INPUT sólo muestra "Buenos".
Ya verifiqué que la consulta es correcta y que si utilizo cualquier otro método para mostrar la info los datos se ven correctamente. El problema creo que es especificamente del INPUT

Les adjunto el código y gracias de antemano.
Un saludo

Código PHP:
...
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>

<?php
include '../compartido/class.BaseDeDatos.php';
?>

  <form name="frminsc" action="" 
  onsubmit="enviarDatosInscripcion(); return false">
  
  <table>


  
<?php  
        $id
=$_POST['id'];
        
$sql "SELECT * FROM `inscripcion` WHERE id=".$id." ORDER BY `id` ASC";
        
$datos $BD->traerTodo($sql);
        foreach(
$datos as $dato): 
        echo (
'
              <tr>
    <th>Id
    <th>Nombre</th>
    <th>Apellido</th>
    <th>Mail</th>
    <th>Instituci&oacute;n</th>
    <th>Direcci&oacute;n</th>
    <th>Ciudad</th>
    <th>CP</th>
    <th>Provincia</th>
    <th>Pa&iacute;s</th>
    <th>Tel&eacute;fono</th>
    <th>Posici&oacute;n</th>
    </tr>
            <tr>
            <td><input name="id" size="1" DISABLED type="text" value='
.$dato['id'].' /></td>
            <td><input name="nombre" type="text" value='
.$dato['nombre'].' /></td>
            <td><input name="apellido" type="text" value='
.$dato['apellido'].' /></td>
            <td><input name="mail" type="text" value='
.$dato['mail'].' /></td>
            <td><input name="institucion" type="text" value='
.$dato['institucion'].' /></td>
            <td><input name="direccion" type="text" value='
.$dato['direccion'].' /></td>
            <td><input name="ciudad" type="text" value='
.$dato['ciudad'].' /></td>
            <td><input name="cp" type="text" value='
.$dato['cp'].' /></td>
            <td><input name="provincia" type="text" value='
.$dato['provincia'].' /></td>
            <td><input name="pais" type="text" value='
.$dato['pais'].' /></td>
            <td><input name="telefono" type="text" value='
.$dato['telefono'].' /></td>
            <td><input name="posicion" type="text" value='
.$dato['posicion'].' /></td>
            </tr>
                <tr>
    <th>&nbsp;</th>            
    <th>Ingreso</th>
    <th>Salida</th>
    <th>Comparte</th>
    <th>Con</th>
    <th>Poster</th>
    <th>Pago</th>
    <th>Comentario</th>
    <th>&nbsp;</th>
    <th>&nbsp;</th>
    <th>&nbsp;</th>
    <th>&nbsp;</th>
  </tr>
            <tr>
            <td>&nbsp;</td>
            <td><input name="fecha_in" type="text" value='
.$dato['fecha_in'].' /></td>
            <td><input name="fecha_out" type="text" value='
.$dato['fecha_out'].' /></td>
            <td><input name="comparte" type="text" value='
.$dato['comparte'].' /></td>
            <td><input name="con" type="text" value='
.$dato['con'].' /></td>
            <td><input name="poster" type="text" value='
.$dato['poster'].' /></td>
            <td><input name="modo_pago" type="text" value='
.$dato['modo_pago'].' /></td>
            <td><input name="comentario" type="text" value='
.$dato['comentario'].' /></td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            </tr>
            <p><input type="submit" name="Submit" value="Modificar" /></p>
            '
);
        endforeach;
?>
            </table>
  </form>
</body>
</html>
  #2 (permalink)  
Antiguo 19/06/2009, 15:36
 
Fecha de Ingreso: abril-2003
Mensajes: 1.129
Antigüedad: 21 años
Puntos: 34
Respuesta: Capturar datos en un INPUT (problema)

Cierto, como tu dices no me funcionó...

Pero si cerrando el PHP y mostrando los datos como si de HTML se tratara...

<input name="id" size="12" type="text" value="<?php echo $dato['provincia']; ?>" />
__________________
elGastronomo
  #3 (permalink)  
Antiguo 19/06/2009, 16:05
Ktulu
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Capturar datos en un INPUT (problema)

Gracias American2010, si bien logré solucionar el problema de otro modo me di cuenta gracias a tu respuesta.
El problema era que me habia olvidado de poner las comillas "" en el value teniendo ésto
Código PHP:
<input name="provincia" type="text" value='.$dato['provincia'].' /> 
cuando en realidad debería tener
Código PHP:
<input name="provincia" type="text" value="'.$dato['provincia'].'" /> 
Muchas gracias por la rápida respuesta.
Un saludo
  #4 (permalink)  
Antiguo 19/06/2009, 16:05
Avatar de iDkInf  
Fecha de Ingreso: junio-2009
Mensajes: 52
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Capturar datos en un INPUT (problema)

El problema esta en que no habres ni cierras comillas dobles en la propiedad value:

Asi es como lo tienes tu, fijate bien que no usas comillas dobles para abrir ni cerrar el value.
Código PHP:
<input name="id" size="1" DISABLED type="text" value='.$dato['id'].' /> 
Debes realizarlo asi:

Código PHP:
<input name="id" size="1" DISABLED type="text" value="'.$dato['id'].'" /> 
Saludos!!
  #5 (permalink)  
Antiguo 19/06/2009, 16:06
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Capturar datos en un INPUT (problema)

Mira, a ti te faltó revisar el código fuente HTML, que es el resultado de tu proceso con PHP, de hacerlo verías lo siguiente:

<input name="id" size="1" DISABLED type="text" value=dato con mas de una palabra />

El HTML, entiende que el valor del value es "dato" nada más, el resto son atributos sueltos que no existen, así que se ignoran. La solución? estoy seguro que ya se te ocurrió. Solo encierra todo entre comillas.

Ahora bien, Siempre y siempre debes poner comillas dobles para todos los atributos de las etiquetas. Que se te haga costumbre eso para que no vuelvas a tener un problema similar.
  #6 (permalink)  
Antiguo 19/06/2009, 17:43
Ktulu
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Capturar datos en un INPUT (problema)

Gracias a todos por las respuestas, exactamente es lo que pasó.
Por despistado me olvide las comillas y perdí unas buenas horas de trabajo.
Saludos
  #7 (permalink)  
Antiguo 21/06/2009, 11:53
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Capturar datos en un INPUT (problema)

Pues ese tiempo perdido es inversión, ya no te volverá a pasar.
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 14:27.