Solucio galetes php

De wikiserver
Dreceres ràpides: navegació, cerca

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");
 
?>