Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Câmara

Sistemas de postagem de artigos

Recommended Posts

Olá pessoal , venho montando um site , tenho uma pequena grande dúvida .

Queria saber como seria basicamente para criar um sistema de postagem básico , quero uma página php com dois campos de texto : Titulo e descrição e um botão de Enviar/Visualizar , ao enviar crie uma página separada sem extensão ,como os este site e outros fazem, exemplo :

Alguém pode me dar uma ideia de como eu faria isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você for criar poucas paginas você pode pelo php criar uma pasta e criar o post dentro desta pasta(com nome index), assim quando digitasse "www.site.com/nomedopost/" acessaria o arquivo (é uma solução mais simples, porem é um improviso néh). mas se vc quer postar muitas coisas eu não acho indicado e talvez essa sugestão do ricardo venha a ser melhor. Mas tipo, o ideal era que houvesse uma pagina "post" universal que chama o conteudo do post, ao invés de criar uma pagina completa para cada post. (n sei se consegui ser muito claro)

Compartilhar este post


Link para o post
Compartilhar em outros sites

da uma olhada nesse código, ele abre o arquivo "bloco1.php" e edita o conteudo dele:

 

 

<?php
// Abre ou cria o arquivo bloco1.php
// "a" representa que o arquivo é aberto para ser escrito
$fp = fopen("bloco1.php", "a");
// Escreve "exemplo de escrita" no bloco1.php
$escreve = fwrite($fp, "exemplo de escrita");
// Fecha o arquivo
fclose($fp);
?>
esse é o mesmo código para editar um arquivo txt, eu só mudei a extensão.
no lugar de "exempplo escrita", vc deve colocar algo assim:
"começo do código html, tag pra lá, tag pra cá" + "conteúdo do post" + "resto do código html"
*no caso esse código pega um arquivo vazio e transforma na sua pagina.
**um detalhe que ja me deu uma dor de cabeça ao criar um arquivo txt é que talvez vc precise mudar a permissão da pasta onde vc for criar
isso vai funcionar, mas isso de criar uma pagina html completa para cada post eu não acho nada aconselhável é muito melhor criar uma pagina universal e mudar apenas o texto do post, como eu disse antes. se quiser posso te explicar melhor essa opção, não é tão diferente desse esquema que te passei.

Compartilhar este post


Link para o post
Compartilhar em outros sites
bom, provavelmente voce salva as noticias em seu banco, correto?
Agora, como voce está exibindo-as no site?
Vou dar um exemplo cru, para voce estudar e aprimorar, ok?
vivaolinux.com.br/artigo/Sistema-de-noticias-em-PHP

 

Nesse caso, vamos supor que existe um arquivo chamado artigo.php em sua pasta.
Vamos supor que voce também tenha outro arquivo, com nome artigos.php e nele são exibidos todos artigos salvos no banco, o artigo.php é apenas para mostrar o que foi selecionado em artigos.php.
Agora, na criação deste artigo, que vai fazer o envio para o banco de dados, voce deve tratar o campo de TITULO do seu formulario para salvar no banco de dados como URL, por exemplo:
$titulo = $_POST['titulo'];
$artigo = $_POST['artigo'];
$url = $_POST['titulo'];
$url = strtr($url, "áàãâéêíóôõúüç ÁÀÃÂÉÊÍÓÔÕÚÜÇ", "aaaaeeiooouuc-aaaaeeiooouuc");
$dia = date("d/m/Y");

 

Claro que é só um exemplo acima, voce conseguirá usar mas é se aprofundar mais ok?
No caso acima, voce pegou o campo TITULO, jogou na variavel URL e fez a substituição das letras acentuadas, maiusculas e espaço por hifen.
Dessa forma, se o titulo for, exemplo: "Notícias Incríveis", a url será "noticias-incriveis".
Essa parte voce vai estar tratando a URL.
Agora depois do conteúdo salvo em seu banco, está na hora de exibir os links dos artigos com um while em artigos.php, mas nao irei explicar isso, é outro assunto, vou apenas mostrar como ficará o link do artigo com a url...
$query = mysql_query("SELECT * FROM artigos ORDER BY id DESC");
while($row = mysql_fetch_array($query)) {
$rowid = $row['id'];
$rowurl = $row['url'];
$rowtitulo = $row['titulo'];
?>
<a href="artigo/<?php echo $rowurl; ?>"> <?php echo $rowtitulo; ?> </a>
<?php
}

 

Mas para o artigo/$rowurl funcionar, voce deverá primeiro acrescentar uma linha em seu .htaccess:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d


RewriteRule ^artigo/([a-z0-9-]+)/?$  artigo.php?url=$1 [NC,L]
Feito dessa forma, agora o arquivo final, artigo.php:
<?php
$geturl = $_GET['url'];
$query = mysql_query("SELECT * FROM artigos WHERE url = '$geturl'");
$campo = mysql_fetch_array($query);


$titulo = $campo['titutlo'];
$artigo = $campo['artigo'];
$data = $campo['data'];


// se URL não existir, voltar a página.
if (mysql_num_rows($query) < 1) { ?>


<script language="JavaScript">
window.history.go(-1)
</script>


<?php
mysql_close();
} 
?>


Titulo: <?php echo $titulo; ?>
<br><br>
Artigo: <?php echo $artigo; ?>
<br><br>
Data: <?php echo $data; ?>
<br><br>

 

E é isso... Voce pegará a URL que está no banco, por $_GET.
O que permitirá voce usar URL AMIGÁVEL (artigo/url) é a regra do .htaccess.
Lembrando que voce deve fazer a conexão com o seu banco de dados nos arquivos, eu nao coloquei por ser apenas uma demonstração.
Até mais, boa sorte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópico quase fechado ,mas para evitar criar outro tópico vou postar aqui mesmo ...
Okay , a criação já entendi mas ainda me resta uma dúvida , terminei de fazer o design , mas como faço para cada página que foi criada usar o design que eu fiz ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.