joeythai 0 Denunciar post Postado Janeiro 13, 2015 Boa tarde pessoal, Mais uma vez preciso da ajuda de vocês. Estou com uma aplicação que não está abrindo a página de edição como deveria. Tentei diversas maneiras todas sem sucesso, realizei o mesmo método que utilizo em outra aplicação aqui. Os códigos são esses: tarefas.php <?php session_start(); include "conexao_checklist_sdk.php"; $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'] = ''; } $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' => '', 'prioridade' => 1, 'concluida' => '' ); include "template.php"; ?> formulario.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[/url] <html xmlns="[url=http://www.w3.org/1999/xhtml]http://www.w3.org/1999/xhtml">[/url] <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <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" value="<?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']?> checked /> Baixa <input type="radio" name="prioridade" value="Media" <?php echo $tarefa['prioridade']?> /> Média <input type="radio" name="prioridade" value="Alta" <?php echo $tarefa['prioridade']?>/> 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="Cadastrar" /> </fieldset> </form> </body> </html> tabela.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[/url] <html xmlns="[url=http://www.w3.org/1999/xhtml]http://www.w3.org/1999/xhtml">[/url] <head> <link rel="stylesheet" type="text/css" href="estilo.css"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <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="../checklistSDK/editar.php?id=<?php// echo $tarefa['id_tarefas'];?>"><img src="../atualizando/icon/editar_tarefa2.png" /></a> <a href="editar.php"><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']}&tipo=&tipo={$tarefa['descricao']}','#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=\"{$campos['id_tarefas']}\" onclick=\"createWindows('#new_windows',900,500);LoadPageDiv('tarefas.php?id={$campos['id_tarefas']}&tipo=&tipo={$campos['id']}','#wdn_conteudo');\" style=' border:0px;'><img src='../atualizando/icon/editar_tarefa2.png' width=\"20\" height=\"20\" style='border:0px;' alt='Clique para Editar SMS'/></a>"; ?> </td> </tr> <?php endforeach ; ?> </table> </body> </html> editar.php <?php include "banco.php"; include "conexao_checklist_sdk.php"; $id = $_GET['id_tarefas']; $busca = mysql_query("SELECT * FROM tarefas WHERE id_tarefas = $id"); $tarefa = mysql_fetch_array($busca); $action = 'insert'; if(isset ($_GET['id_tarefas']) && $_GET['id_tarefas'] >= 1){ $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['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['concluida'])){ $tarefa['concluida'] = 1; } else{ $tarefa['concluida'] = 0; } editar_tarefa($tarefa); } $tarefa = buscar_tarefa($_GET['id_tarefas']); include "template.php"; ?> na tabela.php, tem uma parte comentada, trata-se de uma das tentativas que tentei fazer. Quando clico em editar a página abre em branco não dá nenhum erro. Alguém poderia me ajudar ? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 13, 2015 Coloque um: ini_set('display_errors',1);no início dos seus arquivos php, para mostrar os erros. Ai vc começa a corrigir o que aparecer. Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 13, 2015 coloquei a função nos arquivos como você falou mas não exibiu nenhum erro. quando eu uso: <a href="editar.php?id=<?php echo $tarefa['id_tarefas'];?>"><img src="../atualizando/icon/editar_tarefa2.png" /></a> <a href="editar.php?id=<?php echo $tarefa['id_tarefas']; ?>"><img src="../atualizando/icon/edit_delete2.png" /></a>Ele pega o id via get, só não exibe a tela de update, fica em branco.Citar Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 13, 2015 Como ficou o editar.php agora ? Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 13, 2015 Agora eu vi o erro aqui Willian Fatal error: Call to undefined function buscar_tarefa() in C:\inetpub\wwwroot\checklistSDK\editar.php on line 62[/size] mas a função buscar_tarefa() está definida no arquivo conexao_checklist_sdk.php[/size] achei um dos erros o nome é busca_tarefa() e não buscar_tarefa(), troquei pelo nome correto e ele exibiu a tabela normalmente só que em branco e agora está dando este erro: Notice: Undefined index: id_tarefas in C:\inetpub\wwwroot\checklistSDK\editar.php on line 62 Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\inetpub\wwwroot\checklistSDK\conexao_checklist_sdk.php on line 42[/size] vou dar mais um vistoria aqui pra ver se acho mais coisa, deve estar todo bugado.[/size] Consegui trazer o formulário só que ele me mostra esse erro: Notice: Undefined variable: tarefa in C:\inetpub\wwwroot\checklistSDK\editar.php on line 65[/size] e dentro da caixa de texto do formulário ele me tráz esse erro:[/size] Notice: Undefined variable: tarefa in C:\inetpub\wwwroot\checklistSDK\formulario.php on line 27 só que a variável está definida: no arquivo tarefas.php <?php session_start(); 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'] = ''; } $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' => '', 'prioridade' => 1, 'concluida' => '' ); include "template.php"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 13, 2015 Mas o arquivo formulario.php tem acesso as variáveis do tarefa.php ? Se não, ai dá erro mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 13, 2015 Mas o arquivo formulario.php tem acesso as variáveis do tarefa.php ? Se não, ai dá erro mesmo. Não o formulário é só para preenchimento de alteração, consegui fazer o formulário aparecer junto com o id via get, mas o formulário ainda permanece aparecendo com os campos em branco. e dessa vez sem erros, acho que tá quase resolvido, tentei dar include do arquivo do banco de dados no formulario.php mas ele da erro: Fatal error: Cannot redeclare buscar_tarefas() (previously declared in C:\inetpub\wwwroot\checklistSDK\conexao_checklist_sdk.php:28) in C:\inetpub\wwwroot\checklistSDK\banco.php on line 24 Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 14, 2015 Agora consigo fazer aparecer o formulário, porém, os campos do formulário estão sendo trazidos em branco. O meu editar.php está assim agora: <code> <?php //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'] >= 1){ $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['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['concluida'])){ //$tarefa['concluida'] = 1; //} //else{ //$tarefa['concluida'] = 0; //} $tarefa = busca_tarefa($_GET['id_tarefas']); } $tarefa = array( 'id_tarefas' => 0, 'nome' => '', 'descricao' => '', 'prazo' => '', 'prioridade' => 1, 'responsavel' => '' ); editar_tarefa($tarefa); include "template.php"; ?> </code> A eu arquivo de conexão acho que não postei, mas é esse: <code> <?php # Informa qual o conjunto de caracteres será usado. header('Content-Type: text/html; charset=utf-8'); session_start(); //date_default_timezone_set('America/Sao_Paulo'); if($_SESSION[login]==NULL){ header("location: http://controltodo/login.php"); } // Este arquivo conecta um banco de dados MySQL - Servidor = localhost $dbname="checklist_sdk"; // Indique o nome do banco de dados que será aberto $usuario="control_todo"; // Indique o nome do usuário que tem acesso $password="NehAqnXpCCuqR5AE"; // Indique a senha do usuário //1º passo - Conecta ao servidor MySQL if(!($mysql = mysql_connect("localhost",$usuario,$password))) { echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador."; exit; } //2º passo - Seleciona o Banco de Dados if(!($con=mysql_select_db($dbname,$mysql))) { echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador."; exit; } function buscar_tarefas(){ $sqlBusca = 'SELECT * FROM tarefas'; $resultado = mysql_query($sqlBusca); $tarefas = array(); while($tarefa = mysql_fetch_assoc($resultado)){ $tarefas[] = $tarefa; } return $tarefas; } function busca_tarefa($id){ $sqlBusca = 'SELECT * FROM tarefas WHERE id_tarefas = '.$id; $resultado = mysql_query($sqlBusca); return mysql_fetch_assoc($resultado); } function editar_tarefa($tarefa){ $sqlEditar = " UPDATE tarefas SET nome = '{$tarefa['nome']}', descricao = '{$tarefa['descricao']}', prioridade = '{$tarefa['prioridade']}', prazo = '{$tarefa['prazo']}', responsavel = '{$tarefa['responsavel']}' WHERE id_tarefas = {$tarefa['id_tarefas']} "; mysql_query($sqlEditar); } function gravar_tarefa(){ $sqlGravar = "INSERT INTO tarefas(nome, descricao, prioridade) VALUES( '{$tarefa['nome']}', '{$tarefa['descricao']}', '{$tarefa['prioridade']}', '{$tarefa['prazo']}', '{$tarefa['responsavel']}' ) "; mysql_query($sqlGravar); } function traduzData($data){ if($data == " " OR $data == "0000-00-00"){ return " "; } $dados = explode ("-", $data); $data_exibir = "{$dados[2]}/{$dados[1]}/{$dados[0]}"; return $data_exibir; } function traduzConcluida($concluida){ if($concluida == 1){ return 'Sim'; } else{ return 'Não'; } } # Aqui está o segredo mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER_SET = utf8"); mysql_query('SET character_set_connection=utf8'); mysql_query('SET character_set_client=utf8'); mysql_query('SET character_set_results=utf8'); ?> </code> Compartilhar este post Link para o post Compartilhar em outros sites
Gão 0 Denunciar post Postado Janeiro 14, 2015 Você verificou se tem dados la no banco???se esse id gravou alguma informação???? Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 14, 2015 Você verificou se tem dados la no banco???se esse id gravou alguma informação???? Sim ele gravou e está pegando o id certinho, consegui fazer ele trazer essas informações, algumas agora é que não estão trazendo como por exemplo, o campo descrição. Vou preparar um documento aqui de tudo que fiz para corrigir e tentar mandar umas imagens, mas estou conseguindo aos poucos resolver aqui. Sim ele gravou e está pegando o id certinho, consegui fazer ele trazer essas informações, algumas agora é que não estão trazendo como por exemplo, o campo descrição. Vou preparar um documento aqui de tudo que fiz para corrigir e tentar mandar umas imagens, mas estou conseguindo aos poucos resolver aqui. Agora consegui fazer ele trazer todas as informações. Vou ver se consigo fazer o update. Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 14, 2015 Blz rapaziada, depois da indicação dos colegas de adicionar o a função ini_set(), eu consegui realizar os reparos necessários para trazer a informação dentro do campo de texto do formulário, eu consigo cadastrar tarefas e quando clico no ícone de editar ele abre a página de editar perfeitamente, trazendo os campos para edição como era o esperado, porém, ao clicar em atualizar ele não faz nada só abre a página em branco. Depois de todos os reparos os 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/xhtml1/DTD/xhtml1-transitional.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/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>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. Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 15, 2015 Bom dia rapaziada, consegui fazer as correções em muitos erros que apareceram no código usando a função ini_set() que o Willian me falou, agora já consigo exibir o formulário para edição com os campos preenchidos normalmente, porém, quando altero e clico em atualizar a página é redirecionada para o arquivo salva_tarefa.php que é o arquivo que contém o crud, só que, a página fica em branca e o nome do arquivo salva_tarefa.php, fica exibindo na url e nem deveria, eu uso o mesmo formulário para fazer o cadastro e as alterações, será que pode ser isso ? Ele não exibe mais erros mesmo com a função ini_set(). Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 15, 2015 Então agora, só pode ser erro de lógica. Tente mudar e repense o que vc tá fazendo. Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 15, 2015 Então agora, só pode ser erro de lógica. Tente mudar e repense o que você tá fazendo. Não creio que serja erro de lógica coloquei essa condição: <code> $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()); } </code> Então por ela já deveria fazer o update, já que qualquer id que eu pegar é maior que 0, a variável $action = update. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 15, 2015 Mas a query ai é um SELECT e não um UPDATE. Vc está buscando na base, e não atualizando. E esse $action não faz nada, é só uma variável sem uso. Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 15, 2015 Mas a query ai é um SELECT e não um UPDATE. você está buscando na base, e não atualizando. E esse $action não faz nada, é só uma variável sem uso. Vou dar uma olhada no código a variável $action deveria passar o valor para o arquivo salva_tarefa.php, que possui o 'update', 'exluir' e 'insert', acho que ela não está passando mesmo a condição que deveria passar. talvez eu faça um outro arquivo para o crud, estou usando OO, vou tentar estruturado. Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 15, 2015 Vou dar uma olhada no código a variável $action deveria passar o valor para o arquivo salva_tarefa.php, que possui o 'update', 'exluir' e 'insert', acho que ela não está passando mesmo a condição que deveria passar. talvez eu faça um outro arquivo para o crud, estou usando OO, vou tentar estruturado. Alterei o update, só que está dando esse erro : Incorrect date value: '' for column 'data_inicio' at row 1 Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 15, 2015 Poste o teu UPDATE para vermos o trecho de código com erro Compartilhar este post Link para o post Compartilhar em outros sites
joeythai 0 Denunciar post Postado Janeiro 15, 2015 Tentei pegar via post também mas não foi. <code> $tarefa = array( 'id_tarefas' => 0, 'nome' => '', 'descricao' => '', 'prioridade' => 1, 'prazo' => '', 'data_inicio' => '', 'data_fim' => '', 'responsavel' => '' ); $rs_site = mysql_query("UPDATE tarefas SET nome = '{$tarefa['nome']}', descricao = '{$tarefa['descricao']}', prioridade = '{$tarefa['prioridade']}', prazo = '{$tarefa['prazo']}', data_inicio = '{$tarefa['data_inicio']}', data_fim = '{$tarefa['data_fim']}', responsavel = '{$tarefa['responsavel']}' WHERE id_tarefas =".$_GET['id_tarefas']) or die(mysql_error()); </code> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 15, 2015 Faz assim: $sql = "UPDATE tarefas SET nome = '{$tarefa['nome']}', descricao = '{$tarefa['descricao']}', prioridade = '{$tarefa['prioridade']}', prazo = '{$tarefa['prazo']}', data_inicio = '{$tarefa['data_inicio']}', data_fim = '{$tarefa['data_fim']}', responsavel = '{$tarefa['responsavel']}' WHERE id_tarefas =".$_GET['id_tarefas']; echo $sql; $rs_site = mysql_query($sql) or die(mysql_error());e poste o que aparece aqui no $sql Compartilhar este post Link para o post Compartilhar em outros sites