Foros del Web » Programando para Internet » PHP »

propagar el fondo de una página a otra

Estas en el tema de propagar el fondo de una página a otra en el foro de PHP en Foros del Web. Hola: Estoy realizando un curso de php y estoy pagando la novatada de querer hacer las cosas bien... Nos han mandado un ejercicio en el ...
  #1 (permalink)  
Antiguo 20/04/2012, 15:31
 
Fecha de Ingreso: abril-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
propagar el fondo de una página a otra

Hola:
Estoy realizando un curso de php y estoy pagando la novatada de querer hacer las cosas bien... Nos han mandado un ejercicio en el que tengo que propagar el fondo que ha elegido un usuario a dos páginas, así como su nombre.

La primera página me sale bien (o eso creo). Pero no consigo propagar el color del fondo ni el nombre a la segunda página y me estoy volviendo loca... ¿alguien podría darme alguna pista?

Gracias.
Primera página:

Cita:
Código HTML:
</HEAD>
<BODY>

<form  name="color" method="POST" action="ejercicio36_b.php">
<b>Nombre:</b><br>
<input type="text" name="nombre" value=""><br>
<b>Elige un color de fondo:</b><br>
<input type="radio" name="color" value="#00FF7F">
Verde<br>
<input type="radio" name="color" value="#C0C0C0">
Gris<br>
<input type="radio" name="color" value="#BBFFFF">
Turquesa<br>
<input type="radio" name="color" value="#FFFF00">
Amarillo<br><br>
<input type="submit" name="Submit" value="Enviar">
</FORM>
 </BODY> 
--------------------------Segunda página-----------------------(ésta creo que está bien)

Cita:
<?
session_cache_limiter('nocache,private');
session_name('pruebas');
session_start();
$color=$_POST['color'];
$_SESSION['variable1']=$_POST['nombre'];
$_SESSION['variable2']=$color;
echo $_SESSION['variable1'],"<br>";
echo "<body bgcolor=$color> </body>";
?>


<A href="ejercicio36_c.php?<?php echo SID; ?>">
Propagar la sesion</A>
-----------------Tercera página-------- (aquí es donde no me recoge el color del fondo ni el nombre de la persona, nada de nada )

Cita:
<?
session_cache_limiter('nocache,private');
session_name('pruebas');
session_start();
echo "Nombre: ".$_SESSION['variable1'],"<br>";
echo "Color de fondo: ".$_SESSION['variable2'],"<br>";

?>
Gracias a todos
  #2 (permalink)  
Antiguo 20/04/2012, 15:45
Avatar de fishdesign  
Fecha de Ingreso: abril-2011
Ubicación: Málaga
Mensajes: 389
Antigüedad: 13 años
Puntos: 95
Respuesta: propagar el fondo de una página a otra

Código PHP:
Ver original
  1. echo $_SESSION['variable1'],"<br>";
  2.  
  3. echo "Nombre: ".$_SESSION['variable1'],"<br>";
  4. echo "Color de fondo: ".$_SESSION['variable2'],"<br>";

Para concatenar en PHP, se usa el punto y no la coma. Es decir:

Código PHP:
Ver original
  1. echo $_SESSION['variable1']."<br>";
  2.  
  3. echo "Nombre: ".$_SESSION['variable1']."<br>";
  4. echo "Color de fondo: ".$_SESSION['variable2']."<br>";


Deberías activar los errores de PHP.

Si sigues teniendo problemas, ve por partes. Es decir, comprueba que $_POST contiene los datos y posteriormente prueba a pasárselo a las variables de sesión.

Por cierto, deberías usar <br /> que es la forma válida (xhtml)

Un saludo
__________________
Web Designer.
Themes-Up!, próximamente
  #3 (permalink)  
Antiguo 20/04/2012, 16:05
 
Fecha de Ingreso: abril-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: propagar el fondo de una página a otra

Gracias fishdesign por el apunte!!!!
Como ves aún soy muy patosa...

El error de los puntos está corregido, pero sigo teniendo problemas... No sé cómo comprobar que $_POST tiene datos... Vamos, que no sé cómo salir del problema... Lo siento...
Saludos
  #4 (permalink)  
Antiguo 20/04/2012, 17:00
Avatar de fishdesign  
Fecha de Ingreso: abril-2011
Ubicación: Málaga
Mensajes: 389
Antigüedad: 13 años
Puntos: 95
Respuesta: propagar el fondo de una página a otra

Me refiero a que si está llegando todo correctamente a $_POST. Prueba con un simple echo $_POST['color'] para ver si te imprime el dato.

Se supone que en la segunda página te muestra los datos pero en la que falla es en la tercera?

También te recomiendo Firebug (extensión para Firefox) para ver lo que estás mandando por POST.
__________________
Web Designer.
Themes-Up!, próximamente
  #5 (permalink)  
Antiguo 20/04/2012, 17:34
 
Fecha de Ingreso: abril-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: propagar el fondo de una página a otra

En la segunda, el echo $_POST['color'] funciona sin problema. También la página recoge el color... Es en la tercera página donde tengo problemas, porque no propaga el color que se reflejó en la segunda... ni el echo funciona ni nada de nada.

Me explico mejor.
En la primera página tengo un formulario donde introduzco un texto y después escojo un color entre varios... Mando el formulario y aparezco en la segunda página.

La segunda página aparece con el color que he escogido y el texto colocado.

En la tercera página, debería aparecer el mismo color y el mismo nombre que aparecen en la página anterior. Sin nada más... pero chico! que nada de nada!!!

En fin... ¡poch!
  #6 (permalink)  
Antiguo 20/04/2012, 18:31
Avatar de unreal4u  
Fecha de Ingreso: octubre-2008
Mensajes: 72
Antigüedad: 15 años, 6 meses
Puntos: 10
Respuesta: propagar el fondo de una página a otra

Cita:
Iniciado por fishdesign Ver Mensaje
Para concatenar en PHP, se usa el punto y no la coma. Es decir:

Código PHP:
Ver original
  1. echo $_SESSION['variable1']."<br>";
  2.  
  3. echo "Nombre: ".$_SESSION['variable1']."<br>";
  4. echo "Color de fondo: ".$_SESSION['variable2']."<br>";
No necesariamente ;) Es posible pasarle a echo varios argumentos, que se hace con la coma ;) Por lo tanto, a ojos del usuario
Código PHP:
echo 'hola','mundo';
// es exactamente igual a:
echo 'hola'.'mundo'
pero lo que realmente pasa internamente es que el segundo se concatena y se imprime, mientras que en el primero se imprime cada argumento por separado, sin concatenar.

En cuanto al problema en sí, puedes probar eliminando las primeras dos líneas (session_cache_limiter y session_name) y abriendo el tag de php de forma completa, es decir ocupar "<?php" en vez de "<?" ?

Qué pasa si en la tercera página pones estas líneas al principio?

Código PHP:
error_reporting(E_ALL);
ini_set('display_errors','On'); 
Yo creo que puede ser que tengas algún espacio o salida ANTES de llamar a session_start().

Saludos.
  #7 (permalink)  
Antiguo 20/04/2012, 19:17
 
Fecha de Ingreso: abril-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Pues... me responde...


Notice: Undefined index: color in C:\ServidoresLocales\Apache\htdocs\ejercicio36_c.p hp on line 5

Notice: Undefined index: nombre in C:\ServidoresLocales\Apache\htdocs\ejercicio36_c.p hp on line 6


Que algo pasa con las variables color y nombre, pero no sé por qué no recoge los valores de la página anterior si he usado

Cita:
<A href="ejercicio36_c.php?<?php echo SID; ?>">
Propagar la sesion</A>
Bueno... lo siento... es que soy novata... si precisamente estoy estudiando este curso para ver si consigo salir adelante... lo malo es que es online y como que al profe no le pillas siempre...

Por cierto, gracias...

Última edición por GatorV; 20/04/2012 a las 21:20

Etiquetas: página, propagar, variables, usuarios
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:50.