Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

joeythai

Página de Update Abre em branco

Recommended Posts

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

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

 

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

Como ficou o editar.php agora ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

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){
}
// 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

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
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">


<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">


<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

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

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

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

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

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

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

Poste o teu UPDATE para vermos o trecho de código com erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.