Ir para conteúdo
Fórum Script Brasil
  • 0

artigos


The Leandro Machado

Pergunta

Olá amigos,

bom estou com um codigo aqui, criei o db e tal, mas grava somente em:

ID, DATA, TITULO e na tabela CONTEUDO não está gravando..

lá vai os códigos!

ps: a estrutura dos diretorios são:

testes(diretorio base)>>>>img

SQL:

CREATE TABLE IF NOT EXISTS `artigos` (
`id` INT NOT NULL AUTO_INCREMENT, 
`data` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, 
`titulo` TEXT NOT NULL, 
`conteudo` TEXT NOT NULL, 
PRIMARY KEY (id) 
) TYPE=myisam;
BBCODE(JAVASCRIPT):
//--------------------------------------------------------------------------------------
// FUNÇÃO INSERIR BBCODES - CLICÁVEIS
//--------------------------------------------------------------------------------------
function selecao(obj, def_texto_padrao){
    if(obj.constructor == String){obj = document.getElementById(obj);}
    var def_texto = (def_texto_padrao) ? function(text){obj.value += text;} : function(){return false;};
    var selecao = {text: "", defTexto: def_texto};
    if(document.selection){
        var faixa = document.selection.createRange();
        if(faixa.text){
            selecao.text = faixa.text;
            selecao.defTexto = function(text){
                faixa.text = text.replace(/\r?\n/g, "\r\n");
            }
    }
    } else if(typeof(obj.selectionStart) != "undefined"){
        selecao.text = obj.value.substring(obj.selectionStart, obj.selectionEnd);
        selecao.defTexto = function(text){
            obj.value = obj.value.substring(0, obj.selectionStart) + text + obj.value.substring(obj.selectionEnd);
            return false;
        }
    } else if(window.getSelection){
        selecao.text = window.getSelection().toString();
    }
    return selecao;
}

function selTexto(obj, antes, depois){
    var selecionado = selecao(obj, true);
    selecionado.defTexto(antes + selecionado.text + depois);
}
CRIAR_ARTIGO.PHP:
<html>
  <head>
    <title>Criar Artigo</title>
  &lt;script type="text/javascript" src="bbcode.js"></script>
  </head>
  <body>
  <fieldset style="width:600px;">
  <form method="post">
  Titulo: <input name="titulo" type="text" value="" size="53" /></td><br>
<a href="java script:selTexto('desenvolvimento', '[b]', '[/b]');" title="Negrito"><img src="img/bbcode/bold.png" alt="Negrito" /></a>
                        <a href="java script:selTexto('desenvolvimento', '[i]', '[/i]');" title="Itálico"><img src="img/bbcode/italic.png" alt="Itálico" /></a>
                        <a href="java script:selTexto('desenvolvimento', '[u]', '[/u]');" title="Underline"><img src="img/bbcode/underline.png" alt="Underline" /></a>
                        <a href="java script:selTexto('desenvolvimento', '[align=left]', '[/align]');" title="Alinhar a Esquerda"><img src="img/bbcode/left.png" alt="Esquerda" /></a>
                        <a href="java script:selTexto('desenvolvimento', '[align=center]', '[/align]');" title="Alinhar ao Centro"><img src="img/bbcode/center.png" alt="Centralizar" /></a>
                        <a href="java script:selTexto('desenvolvimento', '[align=right]', '[/align]');" title="Alinhar a Direita"><img src="img/bbcode/right.png" alt="Direita" /></a>
                        <a href="java script:selTexto('desenvolvimento', '[align=justify]', '[/align]');" title="Texto Justificado"><img src="img/bbcode/justify.png" alt="Justificar" /></a>
                        <a href="java script:selTexto('desenvolvimento', '[url]', '[/url]');" title="Inserir URL"><img src="img/bbcode/url.png" alt="URL" /></a>
                        <a href="java script:selTexto('desenvolvimento', '[img]', '[/img]');" title="Inserir Imagem"><img src="img/bbcode/image.png" alt="Imagem" /></a>
                        <a href="java script:selTexto('desenvolvimento', '[quote]', '[/quote]');" title="Inserir Citação"><img src="img/bbcode/quote.png" alt="Quote" /></a>
                        <a href="java script:selTexto('desenvolvimento', '[code]', '[code]');" title="Inserir Código"><img src="img/bbcode/code.png" alt="Code" /></a>
                        <a href="java script:void(0);" onClick="abrir('box-tamanho');" title="Tamanho do Texto"><img src="img/bbcode/size.png" alt="tamanho" /></a>
                        <a href="java script:void(0);" onClick="abrir('box-cores');" title="Cor do Texto"><img src="img/bbcode/cor.png" alt="cor" /></a>
                        <select onChange="if (this.selectedIndex > 0) selTexto('desenvolvimento', '[color='+this.value+']', '[/color]')">
                                <option selected="selected" value="Cor">Cor do Texto</option>
                                <option class="aqua" value="aqua">Aqua</option>
                                <option class="black" value="black">Preto</option>
                                <option class="blue" value="blue">Azul</option>

                                <option class="fuchsia" value="fuchsia">Rosa</option>
                                <option class="green" value="green">Verde</option>
                                <option class="lime" value="lime">Limão</option>
                                <option class="maroon" value="maroon">Marrom</option>
                                <option class="navy" value="navy">Azul Escuro</option>
                                <option class="olive" value="olive">Olive</option>

                                <option class="red" value="red">Vermelho</option>
                                <option class="silver" value="silver">Silver</option>
                                <option class="teal" value="teal">Teal</option>
                                <option class="white" value="white">Branco</option>
                                <option class="yellow" value="yellow">Amarelo</option>
                       </select>

                       <select name="tamanho" onChange="if (this.selectedIndex > 0) selTexto('desenvolvimento', '[size='+this.value+']', '[/size]')">
                                <option selected="selected" value="Cor">Tamanho da Texto</option>
                                <option class="small" value="small">Pequeno</option>
                                <option class="medium" value="medium">Médio</option>
                                <option class="large" value="large">Grande</option>
                       </select>

</fieldset>
<fieldset style="width:600px;">
<legend>Descrição Completa do Tópico</legend>
<textarea name="desenvolvimento" id="desenvolvimento" cols="50" rows="10" class="requerido"></textarea>
<input name="gravar" type="submit" value="Gravar Artigo">
</form>
</fieldset>
  <?php
    if(isset($_POST['gravar'])) {
      $titulo   = $_POST['titulo'];
      $conteudo = $_POST['conteudo'];

      if(!get_magic_quotes_gpc()) {
        $titulo   = addslashes($titulo);
        $conteudo = addslashes($conteudo);
      }
      include 'base_de_dados.php';

      $query = " INSERT INTO artigos (titulo, conteudo) ".
            " VALUES ('$titulo', '$conteudo')";
      mysql_query($query) or die('Erro ao conectar a base de dados');

      mysql_close($conn);

      echo "Artigo '$titulo' adicionado";
    }
?>

              </td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
    <div align="center" class="estilo3">(c) <a href="http://www.machado.com.br">Leandro Machado    </a> - <b>Desenvolvedor:</b> L.Machado</div>

  </body>
</html>
BASE_DE_DADOS.PHP:
<?php

 /* SCRIPT CRIADO POR LEANDRO MACHADO, TODOS OS DIREITOS RESERVADOS*/

  $hostado = "localhost"; 
  $base_de_dados = "site";
  $utilizador = "root";
  $password = "******";

  $conectando = mysql_connect($hostado, $utilizador, $password) or die ('Erro ao conectar a base de dados');
  mysql_select_db($base_de_dados);
?>
ARTIGO.PHP:
<?php
  include 'base_de_dados.php';

  // se não for especificada o id listar
  if(!isset($_GET['id'])) {
    $self = $_SERVER['PHP_SELF'];

    $query = "SELECT id, titulo FROM artigos ORDER BY id";
    $resultado = mysql_query($query) or die('Erro : ' . mysql_error()); 

    // Criando a lista de artigos
    $conteudo = '<ol>';
    while($row = mysql_fetch_array($resultado, MYSQL_NUM)) {
      list($id, $titulo) = $row;
      $conteudo .= "<li><a href=\"ver_artigo.php?id=$id\">$titulo</a></li>\r\n";
    }

    $conteudo .= '</ol>';

    $titulo = 'artigos';
  } else {
    // Obtendo informação da base de dados
    $query = "SELECT titulo, conteudo FROM artigos WHERE id=".$_GET['id'];
    $resultado = mysql_query($query) or die('Erro : ' . mysql_error()); 
    $row = mysql_fetch_array($resultado, MYSQL_ASSOC); 

    $titulo = $row['titulo'];
    $conteudo = $row['conteudo'];
  } 

  mysql_close($conn);
?>

<html>
  <head>
    <title>artigos</title>
  </head>
  <body>
    <h1 align="center"><?php echo $titulo; ?></h1>
    <?php 
      echo $conteudo;
      // Links para ver os artigos
      if(isset($_GET['id'])) { 
    ?>
    <p> </p>
    <p align="center"><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Lista de artigos</a></p>
    <?php
      }
    ?>
    <div align="center" class="estilo3">(c) <a href="http://www.machado.com.br">Leandro Machado</a> - <b>Desenvolvedor:</b> L.Machado</div>

  </body>
</html>

<?php
  include 'base_de_dados.php';

  // Para a cache crie na directoria dos php's a pasta cache e lá dentro 
  // o ficheiro index.html, mude para CHMOD 777

  $cacheDir = dirname(__FILE__) . '/cache/';

  if (isset($_GET['id'])) {
    $cacheFile = $cacheDir . '_' . $_GET['id'] . '.html';
  } else {
    $cacheFile = $cacheDir . 'index.html';
  } 

  if (file_exists($cacheFile)) {
    readfile($cacheFile);
    exit;
  }

  if(!isset($_GET['id'])) {
    $self   = $_SERVER['PHP_SELF'];

    $query  = "SELECT id, titulo FROM artigos ORDER BY id";
    $resultado = mysql_query($query) or die('Erro : ' . mysql_error()); 

    $introducao = '<ol>';
    while($row = mysql_fetch_array($resultado, MYSQL_NUM)) {
      list($id, $titulo) = $row;
      $introducao .= "<li><a href=\"$self?id=$id\">$titulo</a></li>\r\n";
    }

    $introducao .= '</ol>';

    $titulo = 'artigos';
  } else {
    // Obter informação da base de dados
    $query  = "SELECT titulo, texto_intro, texto_completo FROM artigos WHERE id=".$_GET['id'];
    $resultado = mysql_query($query) or die('Error : ' . mysql_error()); 
    $row    = mysql_fetch_array($resultado, MYSQL_ASSOC); 

    $titulo = $row['titulo'];
    $introducao = $row['texto_intro'];
    $desenvolvimento = $row['texto_completo'];
  } 

  mysql_close($conn);

?>
VER_ARTIGO.PHP:
<?php
  include 'base_de_dados.php';

  /*
    Escolhendo a directoria onde se vai armazenar a cache
  */ 
  $cacheDir  = dirname(__FILE__) . '/cache/';

  /*
    Gerando o nome do ficheiro de cache neste caso será feito um index apartir dos ids
  */
  if (isset($_GET['id'])) {
    $cacheFile = $cacheDir . '_' . $_GET['id'] . '.html';
  } else {
    $cacheFile = $cacheDir . 'index.html';
  }    

  /* 
    Se o ficheiro em cache for encontrado envia-se para o cliente
  */
  if (file_exists($cacheFile) {
    header("Content-Type: text/html");
    readfile($cacheFile);
    exit;
  }

  /*
    Se o ficheiro de cache não for encontrado/Não existir
  */

  // se não for especificada o id listar
  if(!isset($_GET['id'])) {
    $self = $_SERVER['PHP_SELF'];

    $query = "SELECT id, titulo FROM artigos ORDER BY id";
    $resultado = mysql_query($query) or die('Erro : ' . mysql_error()); 

    // Criando a lista de artigos
    $conteudo = '<ol>';
    while($row = mysql_fetch_array($resultado, MYSQL_NUM)) {
      list($id, $titulo) = $row;
      $conteudo .= "<li><a href=\"$self?id=$id\">$titulo</a></li>\r\n";
    }

    $conteudo .= '</ol>';

    $titulo = 'artigos';
  } else {
    // Obtendo informação da base de dados
    $query = "SELECT titulo, conteudo FROM artigos WHERE id=".$_GET['id'];
    $resultado = mysql_query($query) or die('Error : ' . mysql_error()); 
    $row = mysql_fetch_array($resultado, MYSQL_ASSOC); 

    $titulo = $row['titulo'];
    $conteudo = $row['conteudo'];
  } 

  mysql_close($conn);
?>
<?php
  // iniciando buffering 
  ob_start();
?>
<html>
  <head>
    <title>
      <?php echo $titulo; ?>
    </title>
  </head>
  <body>

    <?php 
      echo $conteudo;

      // Links para ver os artigos
      if(isset($_GET['id'])) { 
    ?>
        <p> </p>
        <p align="center"><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Lista de artigos</a></p>
        <?php
      }
        ?>
    <div align="center" class="estilo3">(c) <a href="http://www.machado.com.br">Leandro Machado</a> - <b>Desenvolvedor:</b> L.Machado</div>
  </body>
</html>
<?php

  // obter buffer
  $buffer = ob_get_contents();

  //acabando com o buffer
  ob_end_flush();

  // criando o ficheiro de cache
  $fp = @fopen($cacheFile, "w");
  @fwrite($fp, $buffer);
  @fclose($fp);
?>

alguém sabe como posso resolver? não estou achando solução.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Eu não achei o seu input name="conteudo" Tem como você destacar onde ele está?(se é que ele existe)

mano, que erro que eu cometi...hehehe

bom, substitui, agora gravou certinho na tabela.

mas surgiu um probleminha de proporções pequenas, não está imprimindo o artigo na tela.

estranho heim!

sabe como proceder?

Link para o comentário
Compartilhar em outros sites

  • 0

Tente trocar sua query do arquivo artigo.php

$query = "SELECT id, titulo FROM artigos ORDER BY id";
para
$query = "SELECT * FROM artigos ORDER BY id";

Ah.. e você ta fazendo uma confusão com essas variaveis, tem varias com o mesmo nome, por exemplo $conteudo, não seria mais interessante colocar no lucar de $conteudo = "<ol>"; colocar echo "<ol>";?

Editado por vini_loock
Link para o comentário
Compartilhar em outros sites

  • 0
Tente trocar sua query do arquivo artigo.php

$query = "SELECT id, titulo FROM artigos ORDER BY id";
para
$query = "SELECT * FROM artigos ORDER BY id";
Ah.. e você ta fazendo uma confusão com essas variaveis, tem varias com o mesmo nome, por exemplo $conteudo, não seria mais interessante colocar no lucar de $conteudo = "<ol>"; colocar echo "<ol>";?
Vini, voce realmente "É O CARA!", mano, obrigado mesmo viu...sou bem burrao ainda.... mas um detalhe, a segunda parte ai eu fiquei meio "flutuando"...qual o sentido de trocar o
$conteudo = "<ol>"; colocar echo "<ol>";?
???? obrigado EDIÇÃO: ao trocar o
$query = "SELECT id, titulo FROM artigos ORDER BY id";
para
$query = "SELECT * FROM artigos ORDER BY id";

mudou a forma de exibir:

585teste.jpg

e não imprimiu na tela...¬¬

Editado por The Leandro Machado
Link para o comentário
Compartilhar em outros sites

  • 0
Vini, voce realmente "É O CARA!", mano, obrigado mesmo viu...sou bem burrao ainda....
KKK. que bom que você pensa isso!

mas um detalhe, a segunda parte ai eu fiquei meio "flutuando"...qual o sentido de trocar o

Se você tiver colocando $conteudo = "<ol>"; você vai estar definindo uma varavel com o texto <ol> que no caso é uma tag html, e isso pode dar conflito na hora de chamar a variavel que realmente seria o conteudo. E se você colocar echo "<ol>"; vai ser renderizado na tela <ol> e não vai te causar problema nenhum, e com <ol> é uma tag html, isso vai aparecer somente no código fonte.

Ah.. só que eu percebi que no seu caso você está fazendo uma repetição, é que eu não tinha visto o ".". Nesse caso sem problemas

Edit.

coloque no seu arquivo artigo.php, depois de fexar a lista(mais precisamente depois disso: $conteudo .= '</ol>';), de um echo colocando a variavel $conteudo. assim:

echo $conteudo;

Editado por vini_loock
Link para o comentário
Compartilhar em outros sites

  • 0
Vini, voce realmente "É O CARA!", mano, obrigado mesmo viu...sou bem burrao ainda....
KKK. que bom que você pensa isso!

mas um detalhe, a segunda parte ai eu fiquei meio "flutuando"...qual o sentido de trocar o
Se você tiver colocando $conteudo = "<ol>"; você vai estar definindo uma varavel com o texto <ol> que no caso é uma tag html, e isso pode dar conflito na hora de chamar a variavel que realmente seria o conteudo. E se você colocar echo "<ol>"; vai ser renderizado na tela <ol> e não vai te causar problema nenhum, e com <ol> é uma tag html, isso vai aparecer somente no código fonte.

Ah.. só que eu percebi que no seu caso você está fazendo uma repetição, é que eu não tinha visto o ".". Nesse caso sem problemas

Edit.

coloque no seu arquivo artigo.php, depois de fexar a lista(mais precisamente depois disso: $conteudo .= '</ol>';), de um echo colocando a variavel $conteudo. assim:

echo $conteudo;

Novamente mano, obrigado pela atenção dispensada.

bom, infelizmente não consegui fazer imprimir...dificil a gente ser limitado. preciso estudar mais.

se alguém conseguir fazer funcionar, por favor, de uma luz. obrigado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...