Foros del Web » Programando para Internet » PHP »

php dentro de echo

Estas en el tema de php dentro de echo en el foro de PHP en Foros del Web. Hola buenas a todos, tengo un formulario que rellenar con mogollon de datos, y como mi cliente quiere no tener que bajar la página para ...
  #1 (permalink)  
Antiguo 23/08/2005, 04:24
Avatar de sir_bowen  
Fecha de Ingreso: junio-2005
Mensajes: 184
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta php dentro de echo

Hola buenas a todos,

tengo un formulario que rellenar con mogollon de datos, y como mi cliente quiere no tener que bajar la página para poder ver o rellenar los mismos, separé por secciones los datos a introducir y puse una serie de botones para que al pulsarlos me salgan las cajas de texto y demas elementos correspondientes para rellenar.
Metí un echo condicional con el codigo html para mostrar los elementos a rellenar, cuando se pulsara cada botón. El tema es que no sé como guardarme los datos que meta en las cajas de texto que me salen.
Mi idea era dentro del código HTML que emitía el echo, hacer por ejemplo esto para cada caja de texto:

<input type=\"text\" name=\"nombre\" value=\"<?php echo $_POST['nombre']\">

Pero al cargar la página me da un error por cada caja que defina con ese value... Incluso si meto solo dentro del value un echo con cualquier cosa, despues al cargar la pagina me sale dentro de la caja <?php echo...?>.

Igual la forma en la que lo estoy intentando hacer no es la más correcta, pero es que no se me ocurre otra...

Alguien puede ayudarme a solucionarlo?

Muchas gracias

Un saludo
  #2 (permalink)  
Antiguo 23/08/2005, 05:05
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
pero dinos que error da y pon la linea de error

ademas ten en cuenta que $_POST['nombre'] no tendra valor hasta que envies el formulario

Un Saludo
  #3 (permalink)  
Antiguo 23/08/2005, 05:20
Avatar de sir_bowen  
Fecha de Ingreso: junio-2005
Mensajes: 184
Antigüedad: 12 años, 6 meses
Puntos: 0
Perdon, ya lo he arreglado....
No me va a hacer falta mostrar los datos en las cajas de texto desde esta página.
Gracias de todas formas por leer mi rollo....

Saludos
  #4 (permalink)  
Antiguo 23/08/2005, 06:15
Avatar de sir_bowen  
Fecha de Ingreso: junio-2005
Mensajes: 184
Antigüedad: 12 años, 6 meses
Puntos: 0
Buff..... pos va a ser que aun no me pirula....

A ver, lo que intento hacer es que el usuario pueda rellenar una serie de datos según que rol tenga. Para ello hay 5 botones. Cuando pulso el primero me salen una serie de campos a rellenar dentro de la misma página (hago un if(isset($_POST['boton1'])) y dentro meto un echo con el codigo html que muestra dos cajas de texto y un boton para confirmar datos). Al pulsar el segundo, aparecen nuevos campos (desapareciendo lo anterior) con otro botón para lo mismo (hecho de la misma forma que el anterior). Y así sucesivamente con todos los botones.
Intento que al confirmar los datos de cualquier rol se guarden de alguna forma, para que si cargo cualquier otro rol no se eliminen. Y así cuando se haya terminado de rellenar el formulario entero con todos los roles, poder guardarlo todo de golpe en la BD...
Con inputs de tipo hidden tampoco me sale bien.
Podria alguien idicarme los pasos que tendria que seguir?

Muchas gracias
Saludos
  #5 (permalink)  
Antiguo 24/08/2005, 03:29
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Estás ya dentro de PHP, no tienes que abrir de nuevo etiquetas de PHP, simplemente imprime lo que necesitas:
Código PHP:
echo "<input ... value=\"".$_POST['nombre']."\">"
Ahora bien, esto te marcará errores cuando abras el archivo por primera vez pués tu variable no estará definida, para evitar eso puedes hacerlo de diferentes maneras:

1.- Lo correcto, ver si existe y actuar respecto a ello:
Código PHP:
echo "<input ... value=\"";
if(isset(
$_POST['nombre'])) echo $_POST['nombre'];
echo 
"\">"
2.- Lo anterior resultaría muy latoso, puedes simplemente evitar el mensaje de error anteponiendo un @ donde lo haya... solo evitarás el mensaje, el error persistirá:
Código PHP:
echo "<input ... value=\""[email protected]$_POST['nombre']."\">"
3.- Si se trata de ocultar mensajes de error, puedes ocultar todos de una vez haciendo uso de la función error_reporting(): www.php.net/error_reporting

Ahora, concuerdo 100% en que esto no es la mejor manera... de hecho creo es la peor, lo mejor sería usar JavaScript para simplemente ocultar/mostrar los elementos deceados...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 24/08/2005, 03:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Un simple ejemplo respecto a lo creo es mucho mejor opción (según entendí el objetivo): http://www.forosdelweb.com/showthrea...hlight=ocultar
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 24/08/2005, 05:01
Avatar de sir_bowen  
Fecha de Ingreso: junio-2005
Mensajes: 184
Antigüedad: 12 años, 6 meses
Puntos: 0
Hola de nuevo, y perdon por haber repetido el post... XP

La verdad es que ya arreglé lo de meter el valor de las cajas de texto usando inputs de tipo hidden. Creo que aun estoy un poco verde con php...

ahora lo que se me plantea es otra cosa, referente a las variables de sesión.
Estaba pensando en utilizar una variable de sesión por cada dato rellenado dentro de los subformularios que aparecen al clikear en los botontes. De esa manera al hacer clic en el boton de confirmar datos del subformulario se me guardaran las variables de sesión, y cada vez que cargue el subformulario, podré ver lo que había metido antes, haciendo en el value de cada caja de texto un echo de la variable de sesión que corresponda. Y cuando tenga todos los subformularios rellenados, al confirmar los datos del formulario general, haré que se vacien las variables.
Alguien me puede dar su opinión sobre lo que pretendo hacer?

Muchas gracias. Saludos
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:18.