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');
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);
} 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)); ?>