Guestbook Livrolivre
Publicado por Binho 23/01/2005
[ Hits: 7.786 ]
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>
Script PHP simples que mostra IP e UserAgent do visitante, mesmo em alguns casos de proxy
Whois Buscando dominios nacionais e internacionais
Contador de tempo de carregamento
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Acabei de formatar meu ssd e deu erro (3)
Desempenho abaixo do esperado - travadas e congelamento do sistema ope... (5)
Bash ao invés de Fish no CachyOS (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta