Problemas com Post - PHP

MySQL

25/08/2014

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

Curtidas 0

Respostas

Marcio Araujo

Marcio Araujo

25/08/2014

Por curiosidade o que faze esse trecho?


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

GOSTEI 0
Cleyton Caetano

Cleyton Caetano

25/08/2014

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!
GOSTEI 0
Marcio Araujo

Marcio Araujo

25/08/2014

blz, vc ja pegou pronto ou fez? se puder posta aew, apenas se puder.
GOSTEI 0
Cleyton Caetano

Cleyton Caetano

25/08/2014

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;
	}
GOSTEI 0
Cleyton Caetano

Cleyton Caetano

25/08/2014

alguém pra ajudar?
GOSTEI 0
Claudio Lopes

Claudio Lopes

25/08/2014

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...
GOSTEI 0
Cleyton Caetano

Cleyton Caetano

25/08/2014

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?
GOSTEI 0
Lucas Burg

Lucas Burg

25/08/2014

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"
GOSTEI 0
Cleyton Caetano

Cleyton Caetano

25/08/2014

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!
GOSTEI 0
POSTAR