Fórum Problemas com Post - PHP #490042
25/08/2014
0
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
Curtir tópico
+ 0Posts
25/08/2014
Marcio Araujo
<?php
require_once '../system/config.php';
require_once '../system/database.php';
?>
Gostei + 0
25/08/2014
Cleyton Caetano
<?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
25/08/2014
Marcio Araujo
Gostei + 0
25/08/2014
Cleyton Caetano
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
27/08/2014
Cleyton Caetano
Gostei + 0
27/08/2014
Claudio Lopes
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
27/08/2014
Cleyton Caetano
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
27/08/2014
Lucas Burg
mais aqui fica a dica,
"SELECT nome do campo FROM tabela"
Gostei + 0
27/08/2014
Cleyton Caetano
mais aqui fica a dica,
"SELECT nome do campo FROM tabela"
certo, vou fazer uns testes aqui!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)