|
<?
#função de
itens do formulário
function item($desc, $nome, $size, $value)
{
echo "<tr><td><b>$desc:</b></td><td><input
type=text name=$nome size=$size value=\"$value\"></td></tr>\n";
}
?>
<html>
<title>Exercício de Revisão
1</title>
<body>
<?
#se é um submit do form adiciona
dados ao ficheiro
if (isset($regista))
{
$ficheiro=fopen( "guestbook.db",
"a");
$buffer=$nome . "§" . $email
. "§" . $homepage . "§"
. $sexo . "§" . $mensagem
. "§\n";
fputs($ficheiro,$buffer);
fclose($ficheiro);
}
#verifica se existe ficheiro de base de
dados do guestbook
if (file_exists( "guestbook.db"))
{
#abre ficheiro de db
$ficheiro=fopen( "guestbook.db",
"r");
#inicia contador a zero
$cont=0;
#define tabela como um array
$tabela=array();
#enquanto nao chega ao fim do ficheiro,
armazena dados numa tabela
while (!feof($ficheiro))
{
#tira uma linha do ficheiro ate 1000 bytes
$linha=fgets($ficheiro,1000);
#se a linha lida não
é o EOF armazena dados
if (!feof($ficheiro))
{
#mete na posicao da tabela a informacao
$tabela[$cont]=$linha;
$cont++;
}
} # fim do while
#define $dados como sendo um array
$dados=array();
#inicializa contador de
meninos e meninas
$meninos=0;
$meninas=0;
#abre tabela
echo "<table border=1 align=center>";
#escreve dados na ordem
inversa
for ($c=$cont-1; $c>=0; $c--)
{
#retira dados da tabela para o array $dados
$dados=split( "§",$tabela[$c]);
#armazena dados nas devidas variáveis
$nome=$dados[0];
$email=$dados[1];
$homepage=$dados[2];
$sexo=$dados[3];
$mensagem=$dados[4];
#define a cor e numeros de male/female
switch($sexo)
{
case "m" : $cor= "#8080FF";
$meninos++;
break;
case "f" : $cor=
"#FF80FF";
$meninas++;
break;
default: $cor= "#FF0000"; #se
houver algum problema com o ficheiro de
base de dados,
#vai escrever esta coluna a vermelho
}
echo "<tr>";
#abre a primeira linha de dados da tabela
echo "<td bgcolor=$cor align=center>".($c+1).
"</td>"; #escreve posição
com a devida cor
echo "<td><a href=mailto:$email>$nome</a></td>";
#escreve o nick com o link para o email
#caso tenha homepage mete
coluna com link, senao mete os tracinhos
if (strlen($homepage)>11) echo "<td
align=center><a href=\"$homepage\"
target=_blank>Homepage</a></td>";
#12 caracteres do "http://x.xx"
else echo "<td align=center>---</td>";
#termina a primeira linha; \n para no html
fazer um linebreak
echo "</tr>\n";
echo "<tr>"; #abre a segunda
linha de dados
#escreve a mensagem numa
linha com a largura das 3 colunas de cima
echo "<td colspan=3>$mensagem</td>";
#termina a segunda linha;
\n para no html fazer um linebreak
echo "</tr>\n";
} #fim do for
#fecha a tabela do guestbook
echo "</table>";
#deixa um espaço
no browser
echo "<br><br>\n\n";
#total de registos
$total=$meninos+$meninas;
#altura maxima da tabela do grafico
$max_altura=200;
#regra 3 simples para calculo de alturas
$alt_meninos=$meninos*$max_altura/$total;
#altura da barra dos meninos
$alt_meninas=$meninas*$max_altura/$total;
#altura da barra das meninas
#regra 3 simples para calculo
de percentagens
$p_meninos=$meninos*100/$total; #percentagem
dos meninos
$p_meninas=$meninas*100/$total; #percentagem
das meninas
#inicio da tabela do grafico
echo "<table align=center>\n";
echo " <tr>\n";
echo " <td valign=bottom align=center>\n";
#escreve percentagem com 2 casas decimais
echo number_format($p_meninos,2) . "%<br>";
#desenha o grafico dos meninos
echo " <table width=100 height=$alt_meninos
border=0 bgcolor=#8080FF>\n";
echo " <tr><td><img
src=http://www.cidadela.org/imagens/pix.gif></td></tr>\n";
#a imagem é para n deixar a celula
vasia
echo " </table>\n";
echo " </td><td valign=bottom
align=center>\n";
#escreve percentagem com 2 casas decimais
echo number_format($p_meninas,2) . "%<br>";
#desenha o grafico das meninas
echo " <table width=100 height=$alt_meninas
border=0 bgcolor=#FF80FF>\n";
echo " <tr><td><img
src=http://www.cidadela.org/imagens/pix.gif></td></tr>\n";
#a imagem é para n deixar a celula
vasia
echo " </table>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr><td
align=center><b>Rapazes</b></td><td
align=center><b>Raparigas</b></td></tr>";
echo "<tr><td align=center>$meninos</td><td
align=center>$meninas</td></tr>";
echo "<tr><td align=center
colspan=2><b>Total: $total</td></tr>";
echo "</table>\n\n";
#fim da tabela do grafico
} # fim do if que verifica a existencia
do ficheiro de db
?>
<br><br>
<br><br>
<!-- formulário de registo -->
<form action= <?=
Parse error: parse error in /usr/home/cidadel/www/php/biblioteca/revisao1/revisao1.phps
on line 178
Ver
Resultado >
|