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

Class JornalVirtual


david.lyonnais

Pergunta

Estou fazendo um sistema de noticias para um desafio com meu amigo,dai to emperrando num pequeno problema.

Pagina criar.php(ela que criar as noticias e coloca no banco de dados)

<?php
include("jornal.class.php");
include("conexao.class.php");

if(isset($_POST['publicar'])){
    $noticia = new JornalVirtual();
    $conexao = new Conexao();
    $link = $conexao-> conectar('jornalvirtual');
    //Setar atributos
    $noticia->set('titulo',$_POST['titulo']);
    $noticia->set('autor',$_POST['autor']);
    $noticia->set('categoria',$_POST['categoria']);
    $noticia->set('conteudo',$_POST['conteudo']);
    //Criar uma nova noticia
    $res = $noticia->novaNoticia();
    
    if($res != true){
        echo $noticia->error($res,'criar.php');
        exit;
    }
    //Destruir conexao com banco de dados
    $conexao-> destruir($link);
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inserir Notícia</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="criar.php">
  <p>
    <label>Titulo:
      <input type="text" name="titulo" id="titulo" />
    </label>
  </p>
  <p>
    <label>Autor:
      <input type="text" name="autor" id="autor" />
    </label>
  </p>
  <p>Categoria:
    <select name="categoria">
      <option value="esporte">Esporte</option>
      <option value="religiao">Religião</option>
      <option value="politica">Política</option>
      <option value="ciencia">Ciência</option>
      <option value="entretenimento">Entretenimento</option>
    </select>
  </p>
  <p>Conteudo:</p>
  <p>
    <label>
      <textarea name="conteudo" id="conteudo" cols="100" rows="25"></textarea>
    </label>
  </p>
  <p>
    <label>
      <input type="submit" name="publicar" id="publicar" value="Publicar" />
    </label>
    <label>
      <input type="reset" name="reset" id="reset" value="Limpar" />
    </label>
  </p>
</form>
</body>
</html>
Dai creio que o problema esteja na função novaNoticia() jornal.class.php
<?php 
include("noticia.interface.php");
class JornalVirtual implements Noticia{
    //Atributos
    private $titulo;
    private $data;
    private $autor;
    private $conteudo;
    private $categoria;
    
    //Metodos da Interface"
    function novaNoticia(){
        $this->data = date("Y-m-d");
    $sql = "INSERT INTO noticias (titulo,categoria,autor,conteudo,data) VALUES ('$this->titulo','$this->categoria','$this->autor','$this->conteudo',$this->data)";
        $rs = mysql_query($sql);
        if(!$rs){
            $error = "Erro ao inserir o sql";
            return $error;
            exit;
        }else{
            return true;    
        }    
    }
    function destruirNoticia(){
        
        
    }
    function editarNoticia(){
        
        
    }
    function mostrarNoticia(){
        
        
    }
    //Metodos Class
    function set($prop,$valor){
        $this->$prop = $valor;    
    }
    function get($prop){
        return $this->$prop;    
    }
    function error($error,$pag){
        echo "<script language=\"javascript\"> alert(\"".$error."\")location.href=\"".$pag."\"</script>";    
    }
    
}

?>

As funções editar destruir e mostrar estao declarados por causa da interface dps eu vou inserir "funções" para elas...^^

A nivel de teste chamei a função get() antes da novaNoticia para ver se o problema estava na set(),mais o teste comprovo que o problema esta na novaNoticia.

Espero uma ajuda já quebrei minha cabeça demais com esse problema.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...