Foros del Web » Programando para Internet » PHP »

es posible realizar esto?; dentro de un campo devolver datos de consulta...

Estas en el tema de es posible realizar esto?; dentro de un campo devolver datos de consulta... en el foro de PHP en Foros del Web. Hola!; bueno tengo la siguiente duda.. estoy tratando de Modificar unos datos de un usuario, y quiero hacerlo de forma que los datos vengan en ...
  #1 (permalink)  
Antiguo 06/09/2010, 01:34
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 14 años, 5 meses
Puntos: 6
Pregunta es posible realizar esto?; dentro de un campo devolver datos de consulta...

Hola!; bueno tengo la siguiente duda..

estoy tratando de Modificar unos datos de un usuario, y quiero hacerlo de forma que los datos vengan en un campo de texto...osea, si el quiere los modifique el mismo campo para luego dar "enviar" en el formulario y que se actualice en la base de datos...

osea, el campo que venga desde ya con la información mediante una consulta sql...

Código PHP:

echo "<tr align= center>";
                        echo 
"<td>  <b>E-mail     </b>     </td>";
                        echo 
"<td><input type ='text' name= 'email_alumno' size ='30' >.$registro["email_alumno"].</input></td>";
                echo 
"</tr>"
bueno yo se que ese codigo esta malo porque ya lo intente...pero es para que ud. me entiendan de lo que quiero hacer...

otra cosa... en caso que el usuario soplo modifique un valor y los demás campos estén vacíos...no devuelve error?

que otra manera de modificar datos conocen que sea mas rápido y fácil?

bueno muchas gracias por el tiempo, espero sus respuestas!

de ante mano muchas gracias
  #2 (permalink)  
Antiguo 06/09/2010, 02:15
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 8 meses
Puntos: 26
Respuesta: es posible realizar esto?; dentro de un campo devolver datos de consulta..

Código PHP:
echo "<td><input type ='text' name= 'email_alumno' size ='30' >".$registro['email_alumno']."</input></td>"
Prueba esto a ver.
  #3 (permalink)  
Antiguo 06/09/2010, 04:12
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 10 meses
Puntos: 13
Respuesta: es posible realizar esto?; dentro de un campo devolver datos de consulta..

por creo que unos de los mejores mas rapidos es este
proba la demo hace clic en los textos debajo del titular de color verde

http://www.appelsiini.net/projects/j...e/default.html


sobre tu codigo no tenes que encerrar html dentro de php (esto hacer mas lento todo)
por otra parte mira las etiquetas input estan mal mira que estas cerrando asi </input>
eso ta mal ....para esa etiqueta

tu codigo deberia ser asi :

Código PHP:
<tr align= center>
<td>  <label><b>E-mail    </b> </label>     </td>
<td>
<input name="email_alumno" type="text" value="<?php echo $registro['email_alumno'?>"/>
</td>

saludos!!
  #4 (permalink)  
Antiguo 06/09/2010, 11:38
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: es posible realizar esto?; dentro de un campo devolver datos de consulta..

Cita:
Iniciado por zerpico_01 Ver Mensaje
por creo que unos de los mejores mas rapidos es este
proba la demo hace clic en los textos debajo del titular de color verde

http://www.appelsiini.net/projects/j...e/default.html


sobre tu codigo no tenes que encerrar html dentro de php (esto hacer mas lento todo)
por otra parte mira las etiquetas input estan mal mira que estas cerrando asi </input>
eso ta mal ....para esa etiqueta

tu codigo deberia ser asi :

Código PHP:
<tr align= center>
<td>  <label><b>E-mail    </b> </label>     </td>
<td>
<input name="email_alumno" type="text" value="<?php echo $registro['email_alumno'?>"/>
</td>

saludos!!

Notablee!!!

muy bien, muchas gracias!
Me has sido de gran ayuda

Saludos!
  #5 (permalink)  
Antiguo 06/09/2010, 13:01
Avatar de vertigo112  
Fecha de Ingreso: agosto-2006
Ubicación: Estado de Mexico
Mensajes: 25
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: es posible realizar esto?; dentro de un campo devolver datos de consulta..

Ok haber amigo te Explico un poco, tengo algunos conocimiento en el PHP y a través del tiempo he aprendido muchas cosas con el lenguaje, así como combinar con otras herramientas y obtener Resultados sorprendentes.

Así como un día estas ahora tu lo estuve yo y busque por la red y aprendí a través del tiempo. Ahora chécate esto y espero te sea de utilidad.

Tenemos Una Aplicación X donde un Usuario que se ha registrado a nuestro sitio web con el tiempo necesita Actualizar su información.

Mírate este sería la Pagina PHP que vería el usuario una vez accedida a la opción “Actualizar Perfil” un pequeño formulario donde muestra los datos y cargados los datos llamados de la BD:



este es El codigo para crearlo:

Código PHP:
<html>
<head>
<title>Actualizar Perfil</title>
<link rel="stylesheet" type="text/css" href="estilos.css" />
</head>
<body>
<!-- // BLOQUE DE CONSULTA A LA BASE DE DATOS PARA OBTENER LOS DATOS DEL USUARIO -->
<div class="Cont-Perfil">
    <label>Formulario de Actualizacion</label>
    <form name="formulario" action="ActualizaDatos.php" method="post" class="formulario">
<input type="hidden" name="id" value="<?=$data[0]['id_usuario']?>" />
        <p><span class="txt">Nombre:</span> <input type="text" name="nombre" value="<?=$data[0]['nombre']?>" /></p>
        <p><span class="txt">Apellidos:</span> <input type="text" name="apellidos" value="<?=$data[0]['apellidos']?>" /></p>
        <p><span class="txt">Email:</span> <input type="text" name="email" value="<?=$data[0]['email']?>" /></p>
        <span class="btnEnviar"><input type="submit" name="Actualizar" value="Actualizar" /></span>
    </form>    
</div>
</body>
</html>


por si te Intereza el Estilo seria este la CSS:

Código HTML:
	*{margin: 0; padding: 0;}
	body{ font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background: #E0E9ED;}
	.Cont-Perfil{ padding: 20px 0;}
	.Cont-Perfil label{ width: 465px; display: block; margin: 0 auto; padding: 5px; font-weight: bold; color: #666666; font-size: 14px;}
	.formulario{ border: 1px dotted #455454; background: #E9EDED; width: 430px; margin: 0 auto; padding: 15px;}
	.txt{ display: block; width: 70px; float: left; padding: 7px; text-align: right;}
	.formulario input{ padding: 5px; width: 300px; border: 1px solid #C9D9E0;}
	.formulario p{ margin: 10px 0; text-align: center;	}
	.btnEnviar{ text-align: right; display: block; padding: 0 22px; }
	.formulario .btnEnviar input{ width: 90px; background: #374951; color: #CCCCCC; border: 1px solid #7EB6CB;}



ahora en donde dice "BLOQUE DE CONSULTA A LA BASE DE DATOS PARA OBTENER LOS DATOS DEL USUARIO" esta comentado supongo que ahi iria tu parte del PHP que realiza la consulta a tu BD y obtienes los datos:

por ejemplo como esto:

Código PHP:
$server '';
$usuario '';
$contrasena '';
$baseDatos '';
$link mysql_connect($server,$usuario,$contrasena)or die("Error al conectarse al server");
mysql_select_db($baseDatos)or die("Error al Seleccionar la BD");
$sql "select * from usuarios where id_usuario = 2";
$result mysql_query($sql$link)or die("Error en la Consulta");
while(
$fila mysql_fetch_array($result)){$data[] = $fila;} 


todo lo anterior es Funcional solo coloca tus datos ahi y funcionara como debe ser:

y Finalmente la pagina que hace la accion:

Código PHP:
$server '';
$usuario '';
$contrasena '';
$baseDatos '';
$link mysql_connect($server,$usuario,$contrasena)or die("Error al conectarse al server");
mysql_select_db($baseDatos)or die("Error al Seleccionar la BD");
$sql "UPDATE ".$baseDatos." SET nombre = '".$_REQUEST['nombre']."', apellidos = '".$_REQUEST['apellidos']."', email='".$_REQUEST['email']."' WHERE id_usuario = ".$_REQUEST['id'].";";
if(
mysql_query($sql$link)or die("Error en la Consulta"))
header("Location: datoInsertado.php"



Ahora hasta aquí solo es cuestión de que tomes reglas de Acción y consideres si tengas que validar si es que dejen algún campo en blanco y restrinjas a que ningún campo quede en blanco, podrías validarlo con PHP o JavaScript mas fácil seria usar un FrameWork con Jquery, donde valides que por ejemplo el email no lo dejen en blanco..
  #6 (permalink)  
Antiguo 06/09/2010, 22:39
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 10 meses
Puntos: 13
Respuesta: es posible realizar esto?; dentro de un campo devolver datos de consulta..

pues mmm creo que debes tener cuidado con este tipo de acciones ... mi consejo es este, si vas a dar a los usuarios una opcion de modificar su perfil o personalizarlo, deberias crear un condigo que valide cada dato ingresado, tambien recuerda que para este tipo de acciones debes crear un usuario aparte para las consultas de mysql, este usuario debe tener solo algunos priviligios... una buena accion seria no permiitir borrar (drop)... solo modificar ciertas tablas es lo aconsejable....


estem vertigo112

tu codigo no es acto, para lo que requiere el usuario que ha iniciado el post...
pues tiene los siguientes errores:
es inyectable
es apasible de xss
posiblemente te traiga mas dolores de cabeza de satifaciones si usas
Cita:
$server = '';
$usuario = '';
$contrasena = '';
$baseDatos = '';
$link = mysql_connect($server,$usuario,$contrasena)or die("Error al conectarse al server");
mysql_select_db($baseDatos)or die("Error al Seleccionar la BD");
$sql = "UPDATE ".$baseDatos." SET nombre = '".$_REQUEST['nombre']."', apellidos = '".$_REQUEST['apellidos']."', email='".$_REQUEST['email']."' WHERE id_usuario = ".$_REQUEST['id'].";";
if(mysql_query($sql, $link)or die("Error en la Consulta"))
header("Location: datoInsertado.php")
no uses jamas --> $_REQUEST para este tipo de acciones, siempre es mejor saber y tener por sabido de donde vendra la informacion.... por ejemplo $_POST.
la consulta que esta haciendo deberias hacerla luego de validar todos los datos y aun teniendo todo OK deberias aplicar mysql_real_escape_string ....


saludos!!

Última edición por zerpico_01; 06/09/2010 a las 22:46

Etiquetas: devolver, posible, realizar, campos
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 21:22.