Ir para conteúdo
  • Cadastre-se

Sistema de Comentário em PHP


Posts Recomendados

Na pasta WWW do wampp, tenho uma pasta que se chama "comentario", este será o diretório raiz que iremos utilizar para criar o nosso script e mais dois sub-diretórios chamados: CSS e functions. Na pasta functions crie um arquivo chamado <strong>function.php</strong>, este arquivo guardará as nossas funções principais como SELECT, INSERT, DELETE e etc... Abra-o e edite desta forma:

 

[imagem da pasta...]

 

function.php

<?php 

class Funcao{

	// Criando variaveis, que guardará um valor correspondente.
	private $pdo;
	private $insert;
	private $select;
	private $delete;

	function __construct($host, $user, $pass, $database){

		// Criando conexão... Tratando erros, com o try e catch().
		try{
			$this->pdo = new PDO("mysql:host=$host;dbname=$database", "$user", "$pass");
		}catch(PDOException $e){
			echo $e->getMessage();
		}
	}

	// Está função tem como objetivo inserir os comentários no banco de dados...
	function insert(){
		if(isset($_GET['ticket'])):

			
			$ticket = $_GET['ticket'];

			// A variável insert, irá receber os dados do metodo PDO, inserindo os dados no banco de dados...
			$this->insert = $this->pdo->prepare("INSERT INTO tickets(ticket) VALUES (:ticket)");
			// este método irá passar os dados da variavel ticket, para o banco de dados.
			$this->insert->bindParam(":ticket", $ticket);
			// metódo que executa a operação...
			$this->insert->execute();
			// Irá verificar se o dados foram inseridos com sucesso, retornando um boolean. 1 TRUE, 0 FALSE.
			$count = $this->insert->rowCount();
			// Se $count = 1, então o comentário foi inserido com sucesso.
			if($count == 1):
				echo '<br /><div class="alert alert-success text-center"><strong>Comentário foi Enviado com sucesso!</strong></div>';
			// Se $count = 0, o comentário já existe no banco de dados...
			else:
				echo '<br /><div class="alert alert-danger text-center"><strong>Comentário já existe!</strong></div>';				
			endif;
		endif;
	}
	// Está função tem como objetivo, imprimir os comentários na tela.
	function select(){
		// A variável select, irá receber os dados do metodo PDO, selecionando os dados no banco de dados...
		// Neste caso está selecionando todo os comentários, mas fique a vontade para utilizar o WHERE.
		$this->select = $this->pdo->prepare("SELECT * FROM tickets");
		// metódo que executa a operação...
		$this->select->execute();
		// Para cada linha que for encontrado, ele irá armazena na variável $list_ticket, que irá passar como array.
		foreach($this->select as $list_ticket){
			// este pequeno código, é em HTML utilizando o bootstrap.
			echo'<div class="container-fluid">
					<div class="row">
						<div class="col-md-5 col-md-offset-3">
							<div class="jumbotron bloco">
									<div class="container-fluid">'.
										'<i class="idelement">#id: '.$list_ticket['id'].'</i>'.
										$list_ticket['ticket'].
								  	'</div>'.
							'<a class="links" href="?id='.$list_ticket['id'].'">Deletar</a>'.
							'</div>
						</div>
					</div>
				</div>';
		}
	}
	// está função, deleta o comentário de acordo com o seu #ID.
	function delete(){
		if(isset($_GET['id'])):
			$id = $_GET['id'];

			$this->delete = $this->pdo->prepare("DELETE FROM tickets WHERE id=:id");
			$this->delete->bindParam(":id", $id);
			$this->delete->execute(); // executa a operação;
			// Irá verificar se o comentário existe, se existe ele deleta, retornando um boolean. 1 TRUE, 0 FALSE.			
			$count = $this->delete->rowCount();
			// Se $count = 1, então ele deleta o comentário.
			if($count == 1):
				echo '<br /><div class="alert alert-success text-center"><strong>Comentário Deletado com Sucesso!!</strong></div>';
			// Se $count = 0, ele não faz nada, pois o comentário não existe.
			else:
				echo '<br /><div class="alert alert-danger text-center"><strong>Comentário não existe!</strong></div>';
			endif;
		endif;
	}
}
?>
</pre>

Agora iremos criar a nossa index.php que ficará na pasta raiz (comentario).

 

index.php

<?php include_once('function/function.php'); ?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="author" content="Marcus Mann">
	<title></title>
	<link rel="stylesheet" href="css/style.css">
	<link rel="stylesheet" href="css/bootstrap.css">
</head>
<body>

		<?php 
			// lembre-se de configurar de acordo com os dados do seu Mysql.
			$banco = new Funcao("localhost", "root", "", "sistemas");
			// função select() instanciada...
			$banco->select();
			// função delete() instanciada...			
			$banco->delete(); 
		?>
	<!-- Botão Home -->
	<div class="text-center">
		<button type="button" class="btn btn-default btn-lg"><a href="index.php">Home</a></button>
	</div>
	<!-- Campo do comentário, área de texto -->
	<div class="container-fluid">
		<div class="row">
			<div class="col-md-5 col-md-offset-3 form-bloco1">
				<form class="form" method="get">	
					<textarea class="form-control" name="ticket" rows="6" required></textarea>
					<button type="submit" class="btn btn-default btn-lg send-ticket">Enviar Comentário</button>
				</form>	

			</div>
		</div>
		<!-- função insert() instanciada... -->
		<?php 			  
			  $banco->insert();
		?>
	</div>

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
</body>
</html>

Faça o Download da pasta CSS arquivos e coloque dentro da pasta comentario e extrai-a. Após a extração a pasta deverá ficar assim:

 

 
Se você quiser utilizar os dados setados na função __construct, então precisará de um Banco de dados, tabela, e estrutura igual a que está aqui, então crie um banco de dados no Mysql que se chamará sistemas, depois clique em sql e cole o código:
 
CREATE TABLE IF NOT EXISTS `tickets` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ticket` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;

Pronto, o nosso sistema já está pronto! Abraços e fiquem com Deus.
 
Editado por Marcus Pereira (veja o histórico de edições)

System: Arch Linux + i3WM

Language Programmer: C#, PHP e ruby.

Text Editor: Vim

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo