Solucio galetes php
De wikiserver
Fitxer index.php:
<?php
/*
Fitxer index.php
Fitxer d'inici
*/
//Arguments per la capçalera header. Aquestes variables seran visibles
//des de cap.php
$TITOL = "cookie";
$ESTIL = "estil.css";
include("cap.php");
?>
<!-- Formulari entrada -->
<div class="login">
<form action="cookie.php" method="POST" name="entrada">
<table>
<tr>
<td align="right">Nom</td>
<td align="left">
<?php
if(isset($_COOKIE["nom"]))
$nom = $_COOKIE["nom"];
else
$nom = "";
?>
<input type="text" name="nom" value="<?php echo $nom ?>" size="15" maxlength="15" />
</td>
</tr>
<tr>
<td align="right">Llengua</td>
<td align="left">
<?php
if(isset($_COOKIE["idioma"]))
$idioma = $_COOKIE["idioma"];
else
$idioma = "cap";
?>
<select name="idioma">
<option <?php if($idioma=="Anglès") echo 'selected="selected"'; ?> >
Anglès
</option>
<option <?php if($idioma=="Català") echo 'selected="selected"'; ?>>
Català
</option>
<option <?php if($idioma=="Castellà") echo 'selected="selected"'; ?>>
Castellà
</option>
</select>
</td>
</tr>
<tr>
<td></td>
<td colspan="2" align="center">
<input type="submit" value="Enviar"> <INPUT type="reset" value="Esborrar" >
</td>
</tr>
</table>
</form>
</div>
<?php
include("peu.php");
?>
Fitxer estil.css
body {
color: black;
background-color : #F0F0F0;
font-family: verdana, helvetica, arial, sans-serif;
font-size: 73%;
margin: 0 auto; /* centrar la pàgina a la pantalla */
padding: 0px;
}
.principal
{
position:relative;
}
.debug
{
border: solid black 1px;
text-align: center;
position:relative;
left : 200px;
width : 700px;
}
.login
{
position:absolute;
top : 150px;
left : 510px;
background-color : #CCCCCC;
width: 220px;
height: 110px;
}
.menu
{
position:absolute;
top : 50px;
left : 0px;
background-color : #CCCCCC;
width: 180px;
height: 400px;
}
.dreta
{
position:absolute;
top : 50px;
left : 200px;
background-color : #FFFFFF;
width : 800px;
}
.administrador
{
background-color : #FF7777;
}
.header
{
//Poner arriba
position: absolute;
top : 0px;
height : 100px;
}
.centrat
{
text-align : center;
}
a
{
font-weight:700;
}
.petita
{
font-size: 80%;
}
img
{
border: 0;
}
Fitxer cap.php:
<?php
/*
Fitxer cap.php
Fitxer de capçalera de totes les pàgines del web
Arguments:
- $TITOL: títol de la pàgina
- $ESTIL: nom del CSS per carregar
*/
?>
<!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=utf-8" />
<title>
<?php
/////////////////////////
// TITOL DE LA PAGINA //
/////////////////////////
if(isset($TITOL))
printf("%s", $TITOL);
else
printf("Exemple");
?>
</title>
<?php
/////////////////
// Estil (CSS) //
/////////////////
if(isset($ESTIL))
printf('<link rel="stylesheet" type="text/css" href="%s" />', $ESTIL);
else
printf('<link rel="stylesheet" type="text/css" href="estil.css" />');
?>
</head>
<body>
<!-- Banner de la pàgina -->
<div class="header">
<p align="center">
<img src="./pics/banner.gif" height="100px"/>
</p>
</div>
<div class="principal">
Fitxer peu.php:
<?php
/*
Fitxer peu.php
Fitxer de peu de totes les pàgines del web
Arguments: -
*/
?>
</div>
</body>
</html>
Fitxer cookie.php:
- Comprova què ha arribat a través del fitxer index.php mirant les dades de POST.
- Opcionalment mostra el contingut de POST. Mentre desenvolupeu el programa podeu comprovar així que esteu fent les coses correctament.
- Defineix el temps d’expiració de les cookies en una hora (3.600 segons).
<?php
/*
Fitxer que guarda les dades a les cookies
Arguments (POST): procedents del formulari d'index.php
- nom: nom de l'usuari
- idioma: idioma predeterminat
*/
$TITOL = "Acces";
$ESTIL = "estil.css";
include("cap.php");
//Mirem si estem accedint des del formulari (i no directament)
if(!isset($_POST["nom"]) || !isset($_POST["idioma"]))
{
printf('<div class="login">Has de passar abans per la pantalla de login</div>');
}
else
{
//Podeu descomentar aquest bucle per veure tot el contingut de POST que us arriba a la pàgina
/*
$var = "";
foreach($_POST as $key => $value)
{
$var .= "POST[" . $key . "]= " . $value . "<br>";
//$var = $var . "POST[" . $key . "]= " . $value . "<br>";
}
debug($var);
*/
///////////////
// COOKIES //
///////////////
//Fiquem el nom i la llengua a les cookies
$expiracio = 1*3600; //data d'expiració del cookie, 1 hora
setcookie("nom",$_POST["nom"],time()+$expiracio);//establim cookie
setcookie("idioma",$_POST["idioma"],time()+$expiracio);
$missatge = "Valors emmagatzemats a les cookies<br> nom=".$_POST[nom].", idioma=".$_POST[idioma];
debug($missatge);
}
?>
<?php
include("peu.php");
?>