Foros del Web » Programando para Internet » PHP »

Formulario PHP no recoge correctamente datos de BD

Estas en el tema de Formulario PHP no recoge correctamente datos de BD en el foro de PHP en Foros del Web. Buenos días os tengo que pedir ayuda por un problemita que me ha surgido. Ya lo he posteado en el foro de Mysql, pero me ...
  #1 (permalink)  
Antiguo 10/06/2009, 08:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 27
Antigüedad: 14 años, 11 meses
Puntos: 0
Formulario PHP no recoge correctamente datos de BD

Buenos días os tengo que pedir ayuda por un problemita que me ha surgido. Ya lo he posteado en el foro de Mysql, pero me han recomendado que lo ponga aquí, si me pudierais ayudar, os lo agradecería profundamente

Mi problema de hoy es el siguiente:

Tengo un formulario realizado con php que debe mostrar los datos de un usuario, para lo cual consulta con una bd mysql(phpmyadmin 3.1.1).

La consulta funciona correctamente pero, pero si en un campo hay varias palabras
separadas por espacios en blanco, los campos del formulario sólo muestran el contenido de esos campos hasta el primer espacio en blanco (EJEMPLO: si quiero mostrar el nombre de un señor llamado JOSE LUIS, mi formulario sólo muestra JOSE).

A continuación va el código que utilizo.

Código:
Código:
<?
include_once($_SERVER['DOCUMENT_ROOT'] . "/clinica/conf.php");
include_once ($_SERVER['DOCUMENT_ROOT'] ."/clinica/include/varios.php"); 
include_once ($_SERVER['DOCUMENT_ROOT'] ."/clinica/include/funciones_fecha.php"); 

date_default_timezone_set('GMT');

//foreach($_POST as $parametro => $valor) $$parametro=$valor;
foreach($_GET as $parametro => $valor) $$parametro=$valor;

	$contador = 0;
if($IdUsuario !=""){ //Sí no viene el id del articulo dejo el formulario vacio...


	$consulta = "SELECT id_usuario,login,password,nombre,apellidos,email,dni,movil,fecha_alta,fecha_baja,permisos,id_area FROM usuarios where id_usuario=".$IdUsuario;

	$conn=bdConectar();
	
	

	$rsUsu = bdConsultar($consulta);



	
	$login ="";
	$password="";
	$nombre="";
	$apellidos="";
	$mail="";
	$dni="";
	$movil="";
	$fecha_alta="";
	$fecha_baja="";
	$identificador_area=0;
	$permisos="";



	if ($rowUsu = mysql_fetch_array($rsUsu)) {
		$contador = $contador + 1;
		
		$idUsuario=$rowUsu['id_usuario'];
		$login =$rowUsu['login'];
		$password=$rowUsu['password'];
		$nombre=$rowUsu['nombre'];
		$apellidos=$rowUsu['apellidos'];
		$dni=$rowUsu['dni'];
		$mail=$rowUsu['email'];
		$movil=$rowUsu['movil'];
		$fecha_alta=$rowUsu['fecha_alta'];
		$fecha_baja=$rowUsu['fecha_baja'];
		$identificador_area=$rowUsu['id_area'];
		$permisos=$rowUsu['permisos'];
		
		

?>


	<table cellpadding='3' border=0>
			<tr><!-- <td>&nbsp;</td> -->
			<td>	<!--a partir de aquí empiezo mi formulario-->
							
<FORM id="frmNuevoUsuario" name="frmNuevoUsuario" METHOD="post" ACTION="administracion/guardarDatosUsuario.php" accept-charset="utf-8">
		<div id="datosFijosUsuario">
		<div id="formularioDatosUsuarios" name="formularioDatosUsuarios">
							
	<td>
         <? echo'<input type="text" size="25" name="login" style="width:120px;" class="input2" value='.$login.'>';?></td></tr>
		
	<tr>
td align='right'><label>Contraseña:</label></td>
   <td><? echo'<input type="text" size="25" style="width:120px;"       name="password" class="input2" value='.$password.'>';?>	</td></tr>

<tr>
<td align='right'><label>Nombre:</label></td>
<td><? echo'<input type="text" size="25" name="nombre" class="input2"  style="width:120px;" value='.$nombre.'>';?>	</td>
</tr>

<tr>
<td align='right'><label >Apellidos:</label></td>
<td><? echo'<input type="text" class="input2" name="apellidos" style="width:200px;" value='.$apellidos.'>';?></td>
</tr>
							
<tr>
<td align='right' valign='top'><label>Dni:</label></td><td>&nbsp;</td>
<td><? echo'<input type="text" size="25" name="dni" class="input2"  style="width:120px;" value='.$dni.'>';?></td>	
</tr>
gracias de antemano por la ayuda
  #2 (permalink)  
Antiguo 10/06/2009, 08:55
 
Fecha de Ingreso: febrero-2008
Mensajes: 38
Antigüedad: 16 años, 2 meses
Puntos: 0
Longitud de textbox

Hola amigo, parece que el problema no es tu formulario sino tu xD jaja, tienes que tener cuidado cuando le pones longitud a tus <input type="text".... he visto que ha varios le has puesto style="width:120px" revisa que esto no este comiendo la longitud al campo, quitale esos style y revisa si consulta bien, como consejo o usas size o style="width, espero haberte ayudado..
  #3 (permalink)  
Antiguo 10/06/2009, 08:59
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Formulario PHP no recoge correctamente datos de BD

no creo que sea el style... ya que solo indica el ancho del textbox, lo que determina la longitud de caracteres es el maxlength, ahora, primero fijate en tu base de datos, guarda el nombre completo???
__________________
Quitenme la vida pero no la bebida.
  #4 (permalink)  
Antiguo 10/06/2009, 09:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Formulario PHP no recoge correctamente datos de BD

De hecho el problema es que en tu input faltan las comillas, el HTML correcto es:
Código html:
Ver original
  1. <input type="text" name="algo" value="valores con espacios" />

Si no pones las comillas por eso no se envian los datos.

Saludos.
  #5 (permalink)  
Antiguo 10/06/2009, 09:18
 
Fecha de Ingreso: mayo-2009
Mensajes: 27
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Formulario PHP no recoge correctamente datos de BD

joder que rapidos sois, he tenido que cambiar por completo la respuesta, a ver la base de datos si que guarda los registros correctamente, voy a comprobar el resto de vuestras sugerencias
  #6 (permalink)  
Antiguo 10/06/2009, 09:25
 
Fecha de Ingreso: mayo-2009
Mensajes: 27
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Formulario PHP no recoge correctamente datos de BD

¡¡¡¡¡¡¡¡¡¡pues era lo de las comillas!!!!!!!!!!!!!!!!!
y yo dandome cabezazos con el monitor
en fin ¡¡¡¡¡GRACÍAS POR VUESTRA AYUDA!!!!!!!
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 03:47.