Curso de PHP

Estás en: Variables externas y Formularios : Formulario con cookie

Formulario con cookie

Ejemplo

Formulario para elegir los estilos de una página.

<?
/* En el formulario, se eligen los estilos

Si se llega a la página después de pasar por el formulario, lo que hace es que mete en la cookie 
los valores del formulario y da la opción de recargar la página para ver el resultado

Al recargar, entra en el else, porque ya tiene los valores, entonces, lo que hace es meter en los 
estilos, el valor de la cookie.

Si no se recarga la página, no hay forma de ver el resultado de modificar los estilos 
con la cookie */

if ($_POST) {      //Si existe $_post.. hacemos esto, si no, creamos la cookie con 
                     valores predeterminados

	setcookie("propiedades[fuente]", $_POST["fuente"]);
	setcookie("propiedades[tamano]", $_POST["tamano"]);
	setcookie("propiedades[color_fondo]", $_POST["color_fondo"]);
	setcookie("propiedades[color_fuente]", $_POST["color_fuente"]);
	
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título
</head>

<body>

	La cookie está creada.
	<a href="formulario_con_cookie.php">Recargar la página para ver el resultado</a>
</body>
</html>

<?
}else {	
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título

<style>
	body{
		font-family:<? echo $_COOKIE['propiedades']['fuente'] ?>;
		font-size:<? echo $_COOKIE['propiedades']['tamano'] ?>px;
		background-color: #<? echo $_COOKIE['propiedades']['color_fondo'] ?>;
		color: #<? echo $_COOKIE['propiedades']['color_fuente'] ?>
	}
</style>
</head>

<body>

<form action='formulario_con_cookie.php' method='post'>
Color de fondo <select name='color_fondo'>
	       <option value=000000>negro</option>
 	       <option value=ffffff>blanco</option>
	       <option value=ff0000>rojo</option>
	       </select>
Color de texto <select name='color_fuente'> <option value=ffffff>blanco</option> <option value=000000>negro</option> <option value=ff0000>rojo</option> </select>
Fuente a utilizar <select name='fuente'> <option value='Arial, Helvetica, sans-serif'>arial</option> </select>
Tamaño de fuente<select name='tamano'> <option value='12'>12</option> <option value='14'>14</option> <option value='16'>16</option> <option value='18'>18</option> </select><br /> <input type='submit' value='Crear cookie' /> </form> </body> </html> <? } //else ?>