Problemas com Post - PHP
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
meu banco de dados
index.php
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
Curtidas 0
Respostas
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
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
25/08/2014
blz, vc ja pegou pronto ou fez? se puder posta aew, apenas se puder.
GOSTEI 0
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
25/08/2014
alguém pra ajudar?
GOSTEI 0
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...
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
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...
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
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"
mais aqui fica a dica,
"SELECT nome do campo FROM tabela"
GOSTEI 0
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"
mais aqui fica a dica,
"SELECT nome do campo FROM tabela"
certo, vou fazer uns testes aqui!
GOSTEI 0