GARANTIR DESCONTO

Fórum Problemas com Post - PHP #490042

25/08/2014

0

Bom, eu já tenho um sistema de cadastro de post funcionando legal, agora o que eu queria fazer é exibir esses posts na index do meu site! como faço isso?
meu código!

Adicionar Post.php
<!DOCTYPE html>
<html lang="pt-BR">
<?php
	require_once '../system/config.php';
	require_once '../system/database.php';
?>
<head>
	<meta charset="UTF-8">
	<title>Adicionar Postagem</title>
</head>

<body>
	
	<h2>
		Adicionar Postagem | <a href="index.php" title="Voltar">Voltar</a>
	</h2>
	<hr>
	<?php
		if ( isset ( $_POST['publicar'] ) ) {
			
			$form['titulo']	    = strip_tags( trim ( $_POST['titulo'] ) );
			$form['autor'] 		= strip_tags( trim ( $_POST['autor'] ) );
			$form['conteudo']   = strip_tags( trim ( $_POST['conteudo'] ) );
			$form['data']       = date('Y-m-d H:i:s');
			$form['status']     = strip_tags( trim ( $_POST['status'] ) );
			
			$form				= DBEscape( $form );
			
			if( empty ($form['titulo']) )
				echo 'Preencha o título!';
			else if ( empty( $form['autor']))
				echo 'Quem é o autor?';
			else if ( empty( $form['status']) && $form['status'] != '0' )
				echo 'Preencha o campo Status';
			else if ( empty( $form['conteudo']))
				echo 'Crie um conteudo';
			else {
				$dbCheck = DBRead( 'posts', "WHERE titulo = '". $form['titulo']."'");
				
				if( $dbCheck )
					echo 'Desculpe, mas já existe uma postagem com esse título';
				else {
				
				if( DBCreate( 'posts', $form ) )
					echo 'Frase postada com sucesso!';
				else 
					echo 'Desculpe, ocorreu algum erro! tente novamente mais tarde!';
			}

		}
	}
	
	?>

	<form action="" method="post">

		<p>
			<label>Titulo</label><br>
			<input type="text" name="titulo">
		</p>

		<p>
			<label>Autor</label><br>
			<input type="text" name="autor">
		</p>

		<p>
			<label>Status</label><br>
			
			<select name="status">
				<option value="1" selected>Ativo</option>
				<option value="0">Inativo</option>
			</select>
		</p>

		<p>
			<label>Conteúdo</label><br>
			<textarea name="conteudo" cols="50" rows="15"></textarea>
		</p>

		<input type="submit" name="publicar" value="Publicar">
		
	</form>

</body>
</html>



meu banco de dados

CREATE TABLE IF NOT EXISTS `bf_posts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `titulo` varchar(255) NOT NULL,
  `autor` varchar(255) NOT NULL,
  `conteudo` text NOT NULL,
  `data` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `visitas` int(11) NOT NULL,
  `status` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `titulo` (`titulo`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;



index.php

			
<div id="content_frase">
<div id="content_descripition_frase">
	<h1><?php echo $titulo ?></h1>
	<p><?php echo $conteudo ?></p>
	<p><b><?php echo $autor ?></b></p>
	<p><b><?php echo $data ?></b></p>
</div>
</div>
Cleyton Caetano

Cleyton Caetano

Responder

Posts

25/08/2014

Marcio Araujo

Por curiosidade o que faze esse trecho?


<?php
    require_once '../system/config.php';
    require_once '../system/database.php';
?>

Responder

Gostei + 0

25/08/2014

Cleyton Caetano

Por curiosidade o que faze esse trecho?


<?php
    require_once '../system/config.php';
    require_once '../system/database.php';
?>



rsrs Marcio Araujo esse trecho ai faz toda a conexão com o Banco de dados!
Responder

Gostei + 0

25/08/2014

Marcio Araujo

blz, vc ja pegou pronto ou fez? se puder posta aew, apenas se puder.
Responder

Gostei + 0

25/08/2014

Cleyton Caetano

blz, vc ja pegou pronto ou fez? se puder posta aew, apenas se puder.


blz, vc ja pegou pronto ou fez? se puder posta aew, apenas se puder.


sem problemas, mas pq mesmo você precisa desses arquivos? e é um projeto adaptado!

config.php
<?php
	define ( 'DB_HOSTNAME', 'localhost' );
	define ( 'DB_USERNAME', 'root' );
	define ( 'DB_PASSWORD', null );
	define ( 'DB_DATABASE', 'belas_frases' );
	define ( 'DB_PREFIX', 'bf' );
	



database.php
<?php
	
	// Deleta Registros
	function DBDelete($table, $where = null){
		$table 	= DB_PREFIX.'_'.$table;
		$where	= ($where) ? " WHERE {$where}" : null;
		
		$query 	= "DELETE FROM {$table}{$where}";
		return DBExecute($query);
	}
	
	// Altera Registros
	function DBUpDate($table, array $data, $where = null, $insertId = false){
		foreach ($data as $key => $value){
			$fields[] = "{$key} = '{$value}'";
		}
		
		$fields = implode(', ', $fields);
		
		$table 	= DB_PREFIX.'_'.$table;
		$where	= ($where) ? " WHERE {$where}" : null;
		
		$query 	= "UPDATE {$table} SET {$fields}{$where}";
		return DBExecute($query, $insertId);
	}
	
	// Ler Registros
	function DBRead($table, $params = null, $fields = '*'){
		$table 	= DB_PREFIX.'_'.$table;
		$params = ($params) ? " {$params}" : null;
		
		$query 	= "SELECT {$fields} FROM {$table}{$params}";
		$result	= DBExecute($query);
		
		if(!mysqli_num_rows($result))
			return false;
		else {
			while ($res = mysqli_fetch_assoc($result)){
				$data[] = $res;
			}
			
			return $data;
		}
	}
	
	// Grava Registros
	function DBCreate($table, array $data, $insertId = false){
		$table 	= DB_PREFIX.'_'.$table;
		$data 	= DBEscape($data);
		
		$fields	= implode(', ', array_keys($data));
		$values = "'".implode("', '", $data)."'";
		
		$query 	= "INSERT INTO {$table} ( {$fields} ) VALUES ( {$values} )";
		
		return DBExecute($query, $insertId);
	}
	
	// Executa Querys
	function DBExecute($query, $insertId = false){
		$link 	= DBConnect();
		$result = @mysqli_query($link, $query) or die(mysqli_error($link));
		
		if($insertId)
			$result = mysqli_insert_id($link);
		
		DBClose($link);
		return $result;
	}

	// Protege contra SQL Injection
	function DBEscape($data){
		$link = DBConnect();
		
		if(!is_array($data))
			$data = mysqli_real_escape_string($link, $data);
		else {
			$arr = $data;
			
			foreach ($arr as $key => $value){
				$key 	= DBEscape( $key );
				$value	= DBEscape( $value );
				
				$data[$key] = $value;
			}
		}
		
		DBClose($link);
		return $data;
	}

	// Fecha Conexão com MySQL
	function DBClose($link){
		@mysqli_close($link) or die(mysqli_error($link));
	}

	// Abre com Conexão com MySQL
	function DBConnect(){
		$link = @mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE) or die(mysqli_connect_error());
		mysqli_set_charset($link, DB_CHARSET) or die(mysqli_error($link));
		
		return $link;
	}
Responder

Gostei + 0

27/08/2014

Cleyton Caetano

alguém pra ajudar?
Responder

Gostei + 0

27/08/2014

Claudio Lopes

Cara,

Já que você consegue gravar as informações, é fácil fazer a leitra, você já sabe o nome do banco, então faça uma query varrendo os post publicados, depois aplique um forech, para varrer o array (criado com o resultado da consulta no banco) e exiba os campos.

Duvidas posta ae...
Responder

Gostei + 0

27/08/2014

Cleyton Caetano

Cara,

Já que você consegue gravar as informações, é fácil fazer a leitra, você já sabe o nome do banco, então faça uma query varrendo os post publicados, depois aplique um forech, para varrer o array (criado com o resultado da consulta no banco) e exiba os campos.

Duvidas posta ae...


Você pode mandar um código de exemplo? to apanhando feio aqui :(
o nome do meu banco de dados é belas_frases e a tabela é bf_posts.
eu quero que seja exibido por exemplo os últimos 10 post publicado! tem como?
Responder

Gostei + 0

27/08/2014

Lucas Burg

Amigo desculpa ai, mais se você quer ser programador tem que estudar não procurar código pronto na internet.

mais aqui fica a dica,

"SELECT nome do campo FROM tabela"
Responder

Gostei + 0

27/08/2014

Cleyton Caetano

Amigo desculpa ai, mais se você quer ser programador tem que estudar não procurar código pronto na internet.

mais aqui fica a dica,

"SELECT nome do campo FROM tabela"


certo, vou fazer uns testes aqui!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar