function protectPage()
{
    if (!logado()) {
        addMsg("Você precisa estar logado para acessar esta página");
        header('Location: login.php');
    }
}
<?php

//projeto/delete_categoria.php
session_start();
require_once 'includes/funcoes.php';
require_once 'includes/Classes/Model/Materia.php';
//acesso indevido
protectPage();
$idmateria = (int) (isset($_GET['id']) ? $_GET['id'] : 0);
if ($idmateria) {
    $materia = new Materia();
    if ($nrows = $materia->delete(compact('idmateria'))) {
        addMsg("{$nrows} materia(s) deletada(s) com sucesso.");
    } else {
        addMsg("Não foi possível deletar a categoria.");
    }
} else {
    addMsg("Categoria inválida!");
}
header('Location: materias.php');
Esempio n. 3
0
 public function doinnermsg()
 {
     $touid = intval($_POST['to']);
     $msg = text($_POST['msg']);
     $title = text($_POST['title']);
     $newid = addMsg($this->uid, $touid, $title, $msg);
     if ($newid) {
         ajaxmsg();
     } else {
         ajaxmsg("发送失败", 0);
     }
 }
    //2- Atualizar os dados da categoria
    if (isset($_POST['enviar'])) {
        $nome = escape($_POST['nome']);
        //$sql = "UPDATE categoria SET nome='{$nome}' WHERE idcategoria={$id}";
        if ($nrows = $categoria->update(compact('nome'), array('idcategoria' => $id))) {
            addMsg("Categoria {$nrows} editada com sucesso!");
        } else {
            addMsg("Erro ao atualizar categoria!");
        }
    }
    //1- buscar os dados da categoria
    if (isset($_GET['id']) && $_GET['id'] > 0) {
        $dados = $categoria->select('nome', array("idcategoria" => $id));
        // pode passar o segundo parâmetro como array ou string
        //$sql = "SELECT nome FROM categoria WHERE idcategoria={$id}";
        if ($dados) {
            $nome_categoria = $dados[0]['nome'];
        } else {
            addMsg('Categoria Inválida!');
            //        header('Location: categorias.php');
        }
    } else {
        addMsg('Categoria Inválida!');
        //      header('Location: categorias.php');
    }
} else {
    addMsg('Categoria inválida');
    //    header('Location: categorias.php');
}
$variaveis = array('nome' => $nome_categoria);
render('templates/cadastro_categoria.tpl', $variaveis);
<?php

// projeto/cadastro_usuario.php
session_start();
require_once 'includes/funcoes.php';
require_once 'includes/Classes/Model/Usuario.php';
if (isset($_POST['enviar'])) {
    $usuario = new Usuario();
    $nome = escape($_POST['nome']);
    $email = escape($_POST['email']);
    $senha = geraHash($_POST['senha']);
    $dados = compact('nome', 'email', 'senha');
    // array('nome' => ..., 'senha' => '....')
    if ($idusuario = $usuario->insert($dados)) {
        addMsg("Usuário {$idusuario} adicionado com sucesso!");
        $dados['idusuario'] = $idusuario;
        login($dados);
    } else {
        addMsg('Não foi possível adicionar o usuário!');
    }
}
render('templates/cadastro_usuario.tpl');
<?php

// projeto/cadastro_categoria.php
session_start();
require_once 'includes/funcoes.php';
require_once 'includes/Classes/Model/Categoria.php';
// 1. só para usuários logados
protectPage();
// 2. tratar o insert contra sql injection
if (isset($_POST['enviar'])) {
    $categoria = new Categoria();
    $nome = escape($_POST['nome']);
    if (empty($nome)) {
        addMsg('Preencha o nome da categoria!');
    } elseif ($idcategoria = $categoria->insert(compact('nome'))) {
        addMsg('Categoria inserida com sucesso!');
    } else {
        addMsg('Não foi possível cadastrar a Categoria!');
    }
}
// 4. implementar separação de lógica x apresentação
// "renderiza" o template 'cadastro_categoria.tpl', passando o array com as variáveis
render('templates/cadastro_categoria.tpl');
require_once 'includes/Classes/Model/Materia.php';
require_once 'includes/Classes/Model/Categoria.php';
protectPage();
if (isset($_GET['id']) && $_GET['id'] > 0) {
    //anti-sql injection
    $id = (int) $_GET['id'];
    $materia = new Materia();
    $dados = $materia->select('*', array("idmateria" => $id));
    // pode passar o segundo parâmetro como array ou string
    $_POST['idusuario'] = $dados[0]['idusuario'];
    $conds = array('idmateria' => (int) $_GET['id']);
    //2- Atualizar os dados da categoria
    if (isset($_POST['enviar'])) {
        //$nome = escape($_POST['nome']);
        //$sql = "UPDATE categoria SET nome='{$nome}' WHERE idcategoria={$id}";
        if ($nrows = $materia->edita($_POST, $conds)) {
            addMsg("Materia {$nrows} editada com sucesso!");
        } else {
            addMsg("Erro ao atualizar materia!" . mysql_error());
        }
    }
    $categoriaObj = new Categoria();
    $categorias = $categoriaObj->select('*');
    $dados = $materia->select('*', array("idmateria" => $id));
    // pode passar o segundo parâmetro como array ou string
    $variaveis = array('idusuario' => $dados[0]['idusuario'], 'idcategoria' => $dados[0]['idcategoria'], 'titulo' => $dados[0]['titulo'], 'texto' => $dados[0]['texto'], 'data_criacao' => $dados[0]['data_criacao'], 'imagem' => $dados[0]['imagem'], 'publicado' => $dados[0]['publicado'], 'categorias' => $categorias);
} else {
    addMsg('Matéria inválida');
    //    header('Location: categorias.php');
}
render('templates/cadastro_materia.tpl', $variaveis);
Esempio n. 8
0
    }
    return $tooltypes;
}
$check = array('titre' => function ($titre) {
    if (strlen($titre) > 6) {
        return true;
    } else {
        return false;
    }
}, 'contenue' => function ($contenue) {
    if (strlen($contenue) > 10) {
        return true;
    } else {
        return false;
    }
}, 'auteur' => function () {
    return true;
}, 'idDiscussion' => function ($id) {
    if (selectDiscussion(array('id' => $id))) {
        return true;
    } else {
        return false;
    }
});
$discussion = selectDiscussion(array('titre' => $_GET['discussion']));
$messages = selectMessages(array('idDiscussion' => $discussion['id']));
if (isset($_POST['titre'], $_POST['contenue'])) {
    $data = array('titre' => $_POST['titre'], 'contenue' => $_POST['contenue'], 'auteur' => 'engel', 'idDiscussion' => $discussion['id']);
    check($data) ? addMsg($data) : ($tooltypes = getTooltype($data, array('titre' => 'Le titre doit comporter au minimum 6 caractere', 'contenue' => 'Le contenue doit comporter au minimum 10 caractere', 'auteur' => 'Vous devez vous connecter pour pouvoir poster un message', 'idDiscussion' => 'Cette discussion n\'existe pas')));
}
require '../message.php';
<?php

// projeto/cadastro_materia.php
session_start();
require_once 'includes/funcoes.php';
require_once 'includes/Classes/Model/Materia.php';
require_once 'includes/Classes/Model/Categoria.php';
protectPage();
if (isset($_POST['enviar'])) {
    $materia = new Materia();
    $_POST['idusuario'] = $_SESSION['usuario']['idusuario'];
    if ($idmateria = $materia->cadastra($_POST)) {
        addMsg("Matéria {$idmateria} adicionada com sucesso!");
    } else {
        addMsg('Não foi possível adicionar a Matéria!');
    }
}
$categoria = new Categoria();
$categorias = $categoria->select('*');
render('templates/cadastro_materia.tpl', array('categorias' => $categorias));
?>