Bom dia rapaziada, este é o terceiro fórum que posto esse problema, nos outros o pessoal já deu uma ajudar de grande importância, eu estou com um problema para fazer um update. Antes quando eu clicava no ícone editar ele não abria nada, trazia apenas uma página em branco, ai o pessoal meu informou para incluir a função ini_set() no começo dos meus arquivos, fiz isso e ele exibiu vários erros, que eu já corrigi, agora eu já exibo o formulário normalmente e ele está trazendo os campos de textos já preenchidos para fazer edição, antes das correções ele trazia em branco, mas enfim, agora eu altero os campos para tentar fazer um update só que quando clico ele não salva, a página é enviada para o arquivo salva_tarefa.php, porém, a página abre em branco e não faz o update no banco e nem na aplicação, ele nem deveria mostrar que foi direcionado para o arquivo salvar_tarefa.php, deveria apenas fazer o update. Alguém aqui poderia me ajudar a identificar o problema ? Depois das correções meus arquivos ficaram assim:
editar.php
<code>
<?php
session_start();
//include "banco.php";
include "conexao_checklist_sdk.php";
ini_set('display_errors', 'on');
error_reporting(E_ALL);
$action = 'insert';
if(isset ($_GET['id_tarefas']) && $_GET['id_tarefas'] > 0){
$action = 'update';
$id = $_GET['id_tarefas'];
$rs_site = mysql_query("SELECT * FROM tarefas WHERE id_tarefas =".$_GET['id_tarefas']) or die(mysql_error());
}
$exibir_tabela = false;
function converterDataToPHP($data){
$data = implode("/",explode("-",$data));
return date("d/m/Y H:i", strtotime($data));
}
function converterDataToPHP2($data){
$data = implode("/",explode("-",$data));
return date("d/m/Y", strtotime($data));
}
if(isset($_GET['nome']) && $_GET['nome'] != ''){
$tarefa = array();
$tarefa['id_tarefas'] = $_GET['id_tarefas'];
$tarefa['nome'] = $_GET['nome'];
if(isset($_GET['descricao'])){
$tarefa['descricao'] = $_GET['descricao'];
}
else{
$tarefa['descricao'] = '';
}
if(isset($_GET['prazo'])){
$tarefa['prazo'] = $_GET['prazo'];
}
else{
$tarefa['prazo'] = '';
}
$tarefa['prioridade'] = $_GET['prioridade'];
if(isset($_GET['data_inicio'])){
$tarefa['data_inicio'] = $_GET['data_inicio'];
}
else{
$tarefa['data_inicio'] = '';
}
if(isset($_GET['data_fim'])){
$tarefa['data_fim'] = $_GET['data_fim'];
}
else{
$tarefa['data_fim'] = '';
}
editar_tarefa($tarefa);
//if(isset($_GET['concluida'])){
//$tarefa['concluida'] = 1;
//}
//else{
//$tarefa['concluida'] = 0;
//}
}
$tarefa = busca_tarefa($_GET['id_tarefas']);
include "template.php";
?>
</code>
tabela.php
<code>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="estilo.css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Lista de Atividades</title>
</head>
<body>
<?php ini_set('display_errors', 'on');
error_reporting(E_ALL);
?>
<table>
<tr>
<th>Data</th>
<th>Tarefas</th>
<th>Descrição</th>
<th>Prazo</th>
<th>Data Início</th>
<th>Data Fim</th>
<th>Prioridade</th>
<th>Responsável</th>
<th>Ação</th>
</tr>
<?php foreach($lista_tarefas as $tarefa) : ?>
<tr>
<td><?php echo converterDataToPHP($tarefa['data']);?></td>
<td><?php echo $tarefa['nome']; ?></td>
<td><?php echo $tarefa['descricao'];?></td>
<td><?php echo $tarefa['prazo'];?></td>
<td><?php echo converterDataToPHP2($tarefa['data_inicio']);?></td>
<td><?php echo converterDataToPHP2($tarefa['data_fim']);?></td>
<td><?php echo $tarefa['prioridade'];?></td>
<td><?php echo $tarefa['responsavel'];?></td>
<td>
<a href="editar.php?id_tarefas=<?php echo $tarefa['id_tarefas'];?>"><img src="../atualizando/icon/editar_tarefa2.png" /></a>
<a href="editar.php?id_tarefas=<?php echo $tarefa['id_tarefas']; ?>"><img src="../atualizando/icon/edit_delete2.png" /></a>
<?php /*
echo " <a href=\"#\" id=\"{$tarefa['id_tarefas']}\"
onclick=\"createWindows('#new_windows',900,500);LoadPageDiv('editar.php?id={$tarefa['id_tarefas']}','#wdn_conteudo');\"
style=' border:0px;'><img src='../atualizando/icon/edit_delete2.png' width=\"20\" height=\"20\" style='border:0px;' alt='Clique para Editar Atividade'/></a>";
echo " <a href=\"#\" id=\"{$tarefa['id_tarefas']}\"
onclick=\"createWindows('#new_windows',900,500);LoadPageDiv('editar.php?id={$tarefa['id_tarefas']}&tipo=&tipo={$tarefa['id_tarefas']}','#wdn_conteudo');\"
style=' border:0px;'><img src='../atualizando/icon/editar_tarefa2.png' width=\"20\" height=\"20\" style='border:0px;' alt='Clique para Editar Atividade'/></a>";
*/?>
</td>
</tr>
<?php endforeach ; ?>
</table>
</body>
</html>
</code>
formulario.php
<code>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
ini_set('display_errors', 'on');
error_reporting(E_ALL);
?>
<form action="salva_tarefa.php" method="post">
<input type="hidden" name="id_tarefas" id="id_tarefas" value="<?php echo $tarefa['id_tarefas']; ?>" />
<fieldset>
<legend>Nova Tarefa</legend>
<label>
Tarefa:
<input type="text" name="nome" id="nome" value="<?php echo $tarefa['nome']; ?>"/>
</label>
<label>
Descrição:
<textarea name="descricao"><?php echo $tarefa['descricao']; ?></textarea>
</label>
<label>
Prazo:
<input type="text" class="prazo" name="prazo" value="<?php echo $tarefa['prazo']; ?>"/>
</label>
<label>
Data Inicio: <br />
<input type="date" name="data_inicio" value="<?php echo $tarefa['data_inicio'];?>"/>
</label>
<label>
Data Fim: <br />
<input type="date" name="data_fim" value="<?php echo $tarefa['data_fim'];?>"/>
</label>
<fieldset>
<legend>Prioridade:</legend>
<label>
<input type="radio" name="prioridade" value="Baixa" <?php echo ($tarefa['prioridade'] == "Baixa") ? 'checked':'';?> />
Baixa
<input type="radio" name="prioridade" value="Media" <?php echo ($tarefa['prioridade'] == "Media") ? 'checked':'';?> />
Média
<input type="radio" name="prioridade" value="Alta" <?php echo ($tarefa['prioridade'] == "Alta") ? 'checked':'';?>/>
Alta
</label>
</fieldset>
<label>Responsável:
<input type="text" name="responsavel" value=" <?php echo $tarefa['responsavel']; ?>" />
</label>
<input type="hidden" name="action" id="action" value="<?=$action?>" />
<input type="submit" value="<?php echo ($tarefa['id_tarefas'] > 0) ? 'Atualizar' : 'Cadastrar'; ?>" />
</fieldset>
</form>
</body>
</html>
</code>
salva_tarefa.php
<code>
<?php
ini_set('display_errors', 'on');
error_reporting(E_ALL);
date_default_timezone_set('America/Sao_Paulo');
function __autoload($classe)
{
if (file_exists("../app.ado/{$classe}.class.php"))
{
include_once "../app.ado/{$classe}.class.php";
}
}
$data = date("Y/m/d H:i");
if (isset($_POST['action'])&&$_POST['action']=='insert')
{
try
{
$help = new HelpGroupUser();
// abre uma transação
TTransaction::open('checklist_sdk');
// cria uma instrução de INSERT
$sql = new TSqlInsert;
// define o nome da entidade
$sql->setEntity('tarefas');
// atribui o valor de cada coluna
$sql->setRowData('data', $data);
$sql->setRowData('nome', $_POST['nome']);
$sql->setRowData('descricao', $_POST['descricao']);
$sql->setRowData('prazo', $_POST['prazo']);
$sql->setRowData('data_inicio', $_POST['data_inicio']);
$sql->setRowData('data_fim', $_POST['data_fim']);
$sql->setRowData('prioridade', $_POST['prioridade']);
$sql->setRowData('responsavel', $_POST['responsavel']);
// obtém a conexão ativa
$conn = TTransaction::get();
// executa a instrução SQL
$result = $conn->Query($sql->getInstruction());
// fecha a transação, aplicando todas operações
TTransaction::close();
//echo "true";
echo "<script>alert('Dados salvos com sucesso');</script>";
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=index_tarefas.php'>";
}
catch (Exception $e)
{
// exibe a mensagem de erro
echo $e->getMessage();
echo "<script>alert('Erro:'.$e->getMessage());</script>";
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=index_tarefas.php'>";
// desfaz operações realizadas durante a transação
TTransaction::rollback();
}
}
/////////////////////////////////////UPDATE /////////////////////////////////////////////////////////////
if (isset($_POST['_action'])&&$_POST['_action']=='update') {
try
{
$help = new HelpGroupUser();
// abre uma transação
TTransaction::open('conexao_checklist_sdk.php');
// cria uma instrução de INSERT
$sql = new TSqlUpdate;
// define o nome da entidade
$sql->setEntity('tarefas');
// atribui o valor de cada coluna
$sql->setRowData('data', $data);
$sql->setRowData('nome', $_POST['nome']);
$sql->setRowData('descricao', $_POST['descricao']);
$sql->setRowData('prazo', $_POST['prazo']);
$sql->setRowData('data_inicio', $_POST['data_inicio']);
$sql->setRowData('data_fim', $_POST['data_fim']);
$sql->setRowData('prioridade', $_POST['prioridade']);
$sql->setRowData('responsavel', $_POST['responsavel']);
$x=$_POST['id_tarefas'];
// cria critério de seleção de dados
$criteria = new TCriteria;
$criteria->add(new TFilter('id_tarefas', '=', $x));
$sql->setCriteria($criteria);
// obtém a conexão ativa
$conn = TTransaction::get();
// executa a instrução SQL
$result = $conn->Query($sql->getInstruction());
// fecha a transação, aplicando todas operações
TTransaction::close();
//echo "true";
echo "<script>alert('Dados salvos com sucesso ');</script>";
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=index_tarefas.php'>";
}
catch (Exception $e)
{
// exibe a mensagem de erro
echo $e->getMessage();
echo "<script>alert('Erro:'.$e->getMessage());</script>";
// desfaz operações realizadas durante a transação
TTransaction::rollback();
//echo "false";
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=index_tarefas.php'>";
}
}
/////////////////////////////////////EXCLUIR /////////////////////////////////////////////////////////////
if (isset($_GET['action'])&&$_GET['action']=='excluir') {
$id=$_GET['id_tarefas'];
include("conexao_checklist_sdk.php");
function begin()
{
mysql_query("START TRANSACTION;");
}
function commit()
{
mysql_query("COMMIT");
}
function rollback()
{
mysql_query("ROLLBACK");
}
function connect($sql){
begin(); // transaction begins
$result = mysql_query($sql);
//$result2 = mysql_query($delete_group);
if(!$result)
{
rollback(); // transaction rolls back
// echo "<scrit>alert('Falhou - rolled back');</script>";
return 0;
}else{
commit(); // transaction is committed
//echo "Excluido";
return 1;
}
}
$update_user ="UPDATE sms_user SET user_grupos = replace(user_grupos,'[$id]','') where user_grupos like '%[$id]%'";
$delete_group ="DELETE from sms_gru WHERE gru_id = $id;";
if(connect($update_user)>0){
connect($delete_group);
echo "true";
}else{
echo "false";
}
}
?>
</code>
Este arquivo não tinha postado pois achava que não tinha necessidade, mas agora creio que o problema esteja nele, aparentemente ele não está recebendo a ação de update do formulário.
tarefas.php
<code>
<?php session_start();
date_default_timezone_set('America/Sao_Paulo');
include "conexao_checklist_sdk.php";
ini_set('display_errors', 'on');
error_reporting(E_ALL);
$exibir_tabela = true;
function converterDataToPHP($data){
$data = implode("/",explode("-",$data));
return date("d/m/Y H:i", strtotime($data));
}
function converterDataToPHP2($data){
$data = implode("/",explode("-",$data));
return date("d/m/Y", strtotime($data));
}
if(isset($_GET['nome']) && $_GET['nome'] != ''){
$tarefa = array();
$tarefa['nome'] = $_GET['nome'];
if(isset($_GET['descricao'])){
$tarefa['descricao'] = $_GET['descricao'];
}
else{
$tarefa['descricao'] = '';
}
if(isset($_GET['prazo'])){
$tarefa['prazo'] = $_GET['prazo'];
}
else{
$tarefa['prazo'] = '';
}
if(isset($_GET['data_inicio'])){
$tarefa['data_inicio'] = $_GET['data_incio'];
}
else{
$tarefa['data_incio'] = '';
}
if(isset($_GET['data_fim'])){
$tarefa['data_fim'] = $_GET['data_fim'];
}
else{
$tarefa['data_fim'] = '';
}
$tarefa['prioridade'] = $_GET['prioridade'];
//if(isset($_GET['concluida'])){
//$tarefa['concluida'] = 1;
//}
//else{
//$tarefa['concluida'] = 0;
//}
if(isset($_GET['responsavel'])){
$tarefa['responsavel'] = $_GET['responsavel'];
}
else{
$tarefa['responsavel'] = '';
}
}
$lista_tarefas = buscar_tarefas();
$tarefa = array(
'id_tarefas' => 0,
'nome' => '',
'descricao' => '',
'prazo' => '',
'data_inicio' => '',
'data_fim' => '',
'prioridade' => 1,
'responsavel' => ''
);
include "template.php";
?>
</code>
Todos os outros erros já consegui corrigir, mas ele ainda não está fazendo o update.