Guestbook Livrolivre
Publicado por Binho 23/01/2005
[ Hits: 8.065 ]
Livro de visitas bem simples, com paginação simples.
Fácil, para iniciantes.
<title>Livro Livre</title>
<body bgcolor="#E6EED5" topmargin="0">
<table width="100%" border="1" align="center">
<tr>
<td height="17">
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Livro
Livre</b></font></div>
</td>
</tr>
</table>
<?php
/* LivroLivre
*simples em php com paginação e que utiliza banco de dados Mysql, isso tudo em um só arquivo.
*fácil de entender
*by Fabiano Monteiro
*This program is free software
*/
//Usando os arrays superglobais $_GET, $_POST
$host = "localhost"; //endereço do servidor no qual está localizado o banco de dados
$user = "root"; //Nome do usuário a ser utilizado para a abertura da conexão
$senha = "123"; //Senha para abertura da conexão
$db = "livro"; //nome do banco de dados onde vc criou a tabela 'comentarios'
$conecta = mysql_connect($host, $user, $senha) or die("Erro de conexão!");
mysql_select_db($db, $conecta) or die("Erro!");
$n= $_GET["n"]; //usando array super global $_GET, tratando a variável que vêm da URL
$inicio= $n;
// A paginação simples
// variavel q recebe um determinado nº e se referirá à linha
// em que irá começar a contagem
// Aqui nao está em ascendente, mas sim em decrescente
// exibe o último registro adicionado no banco, ou seja, a última
// mensagem
// As linhas no SQL começam a contar a partir do zero.
// zero se refere ao primeiro registro
//Aqui zero se refere ao último registro por estar em DESC
// de primeira $n vale 0 e executa a segunda consulta
// ao clicar em anterior é somado n=($n+5)
// ao clicar em inicio diminue até chegar n igual a 0
// n=($n-5)
if($inicio != 0){
$sql = mysql_query("SELECT * FROM comentarios ORDER BY id DESC LIMIT $inicio, 5") or die("Erro de consulta!");
}
elseif($inicio == 0){
$sql = mysql_query("SELECT * FROM comentarios ORDER BY id DESC LIMIT 0, 5") or die("Erro de consulta!");
}
$acao = $_GET["acao"]; //usando array super global $_GET, tratando a variável que vêm da URL
$nome = $_POST["nome"]; //usando array super global $_POST, não é passado pela URL
$email = $_POST["email"]; //usando array super global $_POST, não é passado pela URL
$comentario = $_POST["comentario"]; //usando array super global $_POST, não é passado pela URL
//inserindo na tabela 'comentarios' os dados após a internauta clicar em 'Postar'
//e uma variável '$postou' recebe a mensagem para o internauta
//atualizar a página e exibir seu comentário
if ($acao == Postar){
$sql2 = mysql_query("INSERT INTO comentarios (nome,email,comentario) VALUES
('$nome','$email','$comentario')");
$postou = "[<a href=\"livrolivre.php\">Atualize para ver seu comentário</a>]<br>";
// <a href=\"livrolivre.php\"> <- Caso mude o nome do programa para index.php
// ou outros, substitua o 'livrolivre.php'
}
echo"<font face=verdana,arial size=2>
<table width=100%><tr><td>
<form name=livro method=post action=?acao=Postar>
<tr><td><font face=verdana,arial size=1>
Nome:</td></tr><tr><td>
<input type=text name=nome></td></tr><tr>
<td><font face=verdana,arial size=1>
Email:</td></tr><tr><td>
<input type=text name=email></td><tr><td>
<font face=verdana,arial size=1>
Comentário:</b></td></tr>
<tr><td>
<textarea type=textfield name=comentario rows=5 wrap=hard cols=50></textarea><br>
<input type=reset name=bot value=Limpar>
<input type=submit name=botao value=Postar></td></tr><tr><td>
© livrolivre by <a href=\"mailto:fabianophp@hotmail.com\">fabianom</a></td></tr>
</form>
</p>
<br>
<b>Mensagens:</b> $postou<br><br>";
//enquanto '$linha' recebe todas as linhas da tabela 'comentarios' realizado na consulta
//idpage, nomepage ... recebe de $linha[""]; os valores achados
// e 'echo' exibe na página, mas só 5 consultas por página por causa do Limit
// que usamos.
while($linha = mysql_fetch_array($sql))
{
$idpage = $linha["id"];
$nomepage = $linha["nome"];
$emailpage = $linha["email"];
$comentariop = htmlspecialchars($linha["comentario"]);
$comentariopage = nl2br($comentariop);
echo "<font face=verdana,arial size=1>
Mensagem: $idpage <b>por:</b> $nomepage <b>Email:</b>
<a href=mailto:$emailpage>$emailpage</a><br><br>
$comentariopage</td></tr>
<hr width=\"100%\">
";
}
//Ahahaha, consegui fazer isso só no if e else, rs... :) Errado não tah neh... :)
// aqui rola as duas operações, adição e subtração...
// Onde houve a maior mudança no script. Antes não estava exato, o internauta poderia clicar
// nos dois links que sempre ficavam ativos(anterior ou inicio), mesmo não existindo comentários no banco de dados.
// o que foi corrigido. Não há mensagem, então o link fica inativo, havendo msg, ele ativa.
if($n == 0){
$vurl = $n+5;
$pega_n_linhas = mysql_query("SELECT * FROM comentarios");
$conta_linhas = mysql_num_rows($pega_n_linhas);
if($conta_linhas > $vurl){
echo "<a href=\"?n=".($n+5)."\">«« anteriores</a> - início »» <br>";
}else{
echo "«« anteriores - início »» <br>";}
}else{
$vurl = $n+5;
$pega_n_linhas = mysql_query("SELECT * FROM comentarios");
$conta_linhas = mysql_num_rows($pega_n_linhas);
if($conta_linhas > $vurl){
echo "<a href=\"?n=".($n+5)."\">«« anteriores</a> - <a href=\"?n=".($n-5)."\"> início »»</a> <br>";
}else{
echo "«« anteriores - <a href=\"?n=".($n-5)."\"> início »»</a>
<br>";}
}
mysql_close($conecta);
?>
</body>
</html>
SERVER PARA EDITAR GRATUITAMENTE MU-ONLINE
WebLog - Logs do linux via web
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6









