Versão atual:

Form não Altera registros

Boa noite a todos, PHP 7, Banco de dados trabalhado no phpMyAdmin - PDO Tenho um form onde tem como objetivo Cadastrar, Alterar e Excluir e, para isso, tem os botões "Cadastrar", "Alterar" e "Excluir". Com ajuda de alguns amigos foi possível "Cadastrar" visto que não estava sendo possível considerando que o form estava exigindo o preenchimento de todos os campos e com isso inviabiliza o propósito do formulário de cadastramento. Vou postar o código todo do index.php, mas adianto que somente a parte de "Alterar" não está funcionando, ou seja, abrindo o "modal", mostra os registros daquela linha, porém qualquer alteração, clicando no botão "Alterar" nenhum registro é alterado. Esse script é de uma aula que funciona perfeitamente Cadastra, Altera e Exclui, este código só tem mais campos: Todo código do formulário da página index.php

<?php
    // Salvo em C:\wamp\controleatividades\metadados\Index.php; 

    //require_once 'classes/Usuarios.php';
    function __autoload($class) {
        require_once  '../classes/' . $class . '.php';

    }
?>
<!DOCTYPE html>
<html lang="pt-BR">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
        <title>Controle de Atividades - Orientado a Objetos</title>

        <!-- Bootstrap -->
        <link href="../css/bootstrap.min.css" rel="stylesheet">

        <script>
            var ch = '<?php echo sha1(time()); ?>';
        </script>
    </head>
    <body>

        <div class="container">

            <header>
                <img src="imagens/logo.png"/>
                <div class="well">
                    <h1 class="text-center">Controle de Atividades <br><span class="text-primary">Estudos</span></h1>
                </div>
            </header>

            <!-- Form cadastrar -->
            <div style="margin: 100px 0; text-align: center">

                <?php
                    $usuario = new Usuarios();

                    // Cadastro de Usuario
                    if ( isset($_POST['cadastrar']) ):

                        $nome_atividade = $_POST['nome_atividade']; 
                        $nome_livro = $_POST['nome_livro'];
                         $nome_autor = $_POST['nome_autor']; 
                         $nome_editora = $_POST['nome_editora']; 
                         $quant_fl = $_POST['quant_fl']; 
                         $fl_parei = $_POST['fl_parei']; 
                         $data_inicio = !$_POST['data_inicio']? NULL : 
                        date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_inicio']))); 
                         $data_termino = !$_POST['data_termino'] ? NULL : 
                        date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_termino'])));
                         $data_paralisacao = !$_POST['data_paralisacao'] ? NULL : 
                        date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_paralisacao'])));
                         $observacao = $_POST['observacao']; 


                        $usuario->setNome_atividade($nome_atividade); 
                         $usuario->setNome_livro($nome_livro);
                         $usuario->setNome_autor($nome_autor); 
                         $usuario->setNome_editora($nome_editora); 
                         $usuario->setQuant_fl($quant_fl); 
                         $usuario->setFl_parei($fl_parei); 
                         $usuario->setData_inicio($data_inicio); 
                         $usuario->setData_termino($data_termino);
                         $usuario->setData_paralisacao($data_paralisacao);
                         $usuario->setObservacao($observacao); 


                        if ($usuario->insert()) {

                        echo '<div class="alert alert-success alert-dismissible" role="alert">
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  <strong>OK!</strong> Incluido com sucesso!!! </div>';

                    } else {
                        echo '<div class="alert alert-success alert-dismissible" role="alert">
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  <strong>OK!</strong> Erro ao alterar!!! </div>';
                    }
                    endif;


                    //exclusao de Usuario
                    if (isset($_POST['excluir_ui'])){

                        $id = $_POST['id_ui'];

                        $usuario->delete($id);

                    }

                    // Alterar Usuario
                    if ( isset($_POST['alterar']) ) {

                        $id = $_POST['id_uii'];

                        $nome_atividade    = $_POST['nome_atividade']; 
                        $nome_livro = $_POST['nome_livro'];
                         $nome_autor    = $_POST['nome_autor']; 
                         $nome_editora = $_POST['nome_editora']; 
                         $quant_fl = $_POST['quant_fl']; 
                         $fl_parei = $_POST['fl_parei']; 
                         $data_inicio = !$_POST['data_inicio'] ? NULL : 
                        date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_inicio'])));
                        $data_termino = !$_POST['data_termino'] ? NULL : 
                        date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_termino'])));
                        $data_paralisacao = !$_POST['data_paralisacao'] ? NULL : 
                        date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_paralisacao'])));
                         $observacao= $_POST['observacao'];


                         $usuario->setNome_atividade($nome_atividade); 
                         $usuario->setNome_livro($nome_livro);
                         $usuario->setNome_autor($nome_autor); 
                         $usuario->setNome_editora($nome_editora); 
                         $usuario->setQuant_fl($quant_fl); 
                         $usuario->setFl_parei($fl_parei); 
                         $usuario->setData_inicio($data_inicio); 
                         $usuario->setData_termino($data_termino);
                         $usuario->setData_paralisacao($data_paralisacao);
                         $usuario->setObservacao($observacao);                                                 
                        $usuario->update($id);                    

                    }


                ?>


                <legend>Formul&aacute;rio Cadastrar</legend>
                <form class="form-inline" method="post">
                  <div class="input-group">
                        <label class="col-xs-1">Atividade:</label>
                        <input name="nome_atividade" type="text" class="form-control">
                        <label class="col-xs-1">Livro:</label><br> 
                        <input name="nome_livro" type="text" class="form-control">
                        <label class="col-xs-1">Autor:</label><br>
                        <input name="nome_autor" type="text" class="form-control">
                        <label class="col-xs-1">Editora:</label><br>
                        <input name="nome_editora" type="text" class="form-control">
                        <label class="col-xs-1">Quant.Fls:</label><br>
                        <input name="quant_fl" type="text" class="form-control">
                        <label class="col-xs-1">Fls. Parei:</label><br>
                        <input name="fl_parei" type="text" class="form-control">
                        <label class="col-xs-1">In&iacute;cio:</label><br>
                        <input name="data_inicio" type="text" class="form-control">
                        <label class="col-xs-1">T&eacute;rmino:</label><br>
                        <input name="data_termino" type="text" class="form-control">
                        <label class="col-xs-1">Paralisa&ccedil;&atilde;o:</label><br>
                        <input name="data_paralisacao" type="text" class="form-control">
                        <label class="col-xs-1">Observa&ccedil;&atilde;o:</label><br>
                        <input name="observacao" type="text" class="form-control">            
                    </div>

                  <div class="col-xs-pull-2" align="center">
                            <input name="cadastrar" type="submit" class="btn btn-success" value="Cadastrar">                   
                   </div>
                </form>

            </div>
            <!-- Fim form cadastrar -->
            <!-- Inicio da tabela -->
            <table width="100%" class="table table-striped table-bordered table-hover">
                <thead>
                    <tr class="active">
                        <th class="text-center">Ativ.</th>
                        <th class="text-center">Livro</th>
                        <th class="text-center">Autor</th>
                        <th class="text-center">Ed.</th>
                        <th class="text-center">Quant. fl</th>
                        <th class="text-center">Fl Parei</th>
                        <th class="text-center">Inicio</th>
                        <th class="text-center">T&eacute;rmino</th>
                        <th class="text-center">Parei</th>
                        <th class="text-center">Obs.</th>
                        <th class="text-center">Op.Altera&ccedil;&atilde;o</th>
                        <th class="text-center">Op.Exclus&atilde;o</th>

                     </tr>
                </thead>
                <tbody>
                    <?php foreach ($usuario->findAll() as $key => $value) { ?>

                    <tr>
                        <td width="2%"><?php echo $value->nome_atividade;?> </td>
                        <td width="50%"><?php echo $value->nome_livro;?> </td>
                        <td width="10%"><?php echo $value->nome_autor;?> </td>
                        <td><?php echo $value->nome_editora;?> </td>
                        <td><?php echo $value->quant_fl;?> </td>
                        <td><?php echo $value->fl_parei;?> </td>
                        <td class="text-center"> <?php echo $value->data_inicio;?> </td>
                        <td class="text-center"> <?php echo $value->data_termino;?> </td>
                        <td class="text-center"> <?php echo $value->data_paralisacao;?> </td>
                        <td> <?php echo $value->observacao;?> </td>

                        <td>
                            <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" onclick="load_modal


                            ('<?php echo $value->nome_atividade;?>',
                            '<?php echo $value->nome_livro;?>', 
                            '<?php echo $value->nome_autor;?>', 
                            '<?php echo $value->nome_editora;?>', 
                            '<?php echo $value->quant_fl;?>', 
                            '<?php echo $value->fl_parei;?>', 
                            '<?php echo $value->data_inicio;?>', 
                            '<?php echo $value->data_termino;?>', 
                            '<?php echo $value->data_paralisacao;?>', 
                            '<?php echo $value->observacao;?>', 
                             <?php echo $value->id;?>);">Alterar</button>

                        </td>
                        <td>   
                            <form class="form_excluir" method="post" style="float: right; margin: 0 5px;">
                                <input name="id_ui" type="hidden" value="<?php echo $value->id;?>"/>
                            <button name="excluir_ui" type="submit" onclick="fn_excluir();" class="btn btn-danger">Excluir</button>
                            </form> 
                        </td>
                    </tr>
                    <?php } ?>
                </tbody>
            </table>
            <!-- Fim da tabela -->
            <!-- Modal para alterar Usuário -->
            <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                <div class="modal-dialog" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                            <h4 class="modal-title" id="myModalLabel">Alterando Usu&aacute;rio</h4>
                        </div>

                        <div class="modal-body">
                            <form class="form-inline" method="post">

                            <div class="input-group">
                                <span class="input-group-addon glyphicon glyphicon-user col-xs-2">Atividades</span>
                                   <input id="text_nome_atividade" name="nome_atividade" type="text" class="form-control">
                            </div>
                            <br/>
                            <br/>
                            <div class="input-group">
                                   <span class="input-group-addon glyphicon glyphicon-user col-xs-2">Livro</span>
                                   <input id="text_nome_livro" name="nome_livro" type="text" class="form-control" required value="" >
                            </div>
                            <br/>
                            <br/>
                            <div class="input-group">
                                   <span class="input-group-addon glyphicon glyphicon-user col-xs-2">Autor</span>
                                   <input id="text_nome_autor" name="nome_autor" type="text" class="form-control">
                            </div>
                            <br/>
                            <br/>
                            <div class="input-group">
                                   <span class="input-group-addon glyphicon glyphicon-user col-xs-2">Editora</span>
                                   <input id="text_nome_editora" name="nome_editora" type="text" class="form-control">
                            </div>
                            <br/>
                            <br/>
                            <div class="input-group">
                                   <span class="input-group-addon glyphicon glyphicon-user col-xs-2">Quant.fls</span>
                                   <input id="text_quant_fl" name="quant_fl" type="text" class="form-control">
                            </div>
                            <br/>
                            <br/>
                            <div class="input-group">
                                   <span class="input-group-addon glyphicon glyphicon-user col-xs-2">Fls. Parei</span>
                                   <input id="text_fl_parei" name="fl_parei" type="text" class="form-control">
                            </div>
                            <br/>
                            <br/>
                            <div class="input-group">
                                   <span class="input-group-addon glyphicon glyphicon-user col-xs-2">In&iacute;cio</span>
                                   <input id="text_data_inicio" name="data_inicio" type="text" class="form-control" >
                            </div>
                            <br/>
                            <br/>
                            <div class="input-group">
                                   <span class="input-group-addon glyphicon glyphicon-user col-xs-2">T&eacute;rmino</span>
                                   <input id="text_data_termino" name="data_termino" type="text" class="form-control">
                            </div>
                            <br/>
                            <br/>
                            <div class="input-group">
                                   <span class="input-group-addon glyphicon glyphicon-user col-xs-2">Paralisa&ccedil;&atilde;o</span>
                                   <input id="text_data_paralisacao" name="data_paralisacao" type="text" class="form-control" >
                            </div>
                            <br/>
                            <br/>
                            <div class="input-group">
                                   <span class="input-group-addon glyphicon glyphicon-user col-xs-2">Obs.</span>
                                   <input id="text_observacao" name="observacao" type="text" class="form-control" >
                            </div>
                            <br/>
                            <br/>   
                            <input id="id_uii" name="id_uii" type="hidden" />
<input name="alterar" type="submit" class="btn btn-warning" value="Alterar">
                            </form>
                        </div>
                    </div>
                </div>
            </div> <!-- fim Modal -->
       </div> <!-- fim cantainer -->
        <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
        <script src="https://code.jquery.com/jquery-1.11.3.min.js" integrity="sha256-7LkWEzqTdpEfELxcZZlS6wAx5Ff13zZ83lYO2/ujj7g=" crossorigin="anonymous"></script>

        <!-- Include all compiled plugins (below), or include individual files as needed -->
        <script src="../js/bootstrap.min.js"></script>
        <script src="../js/script.js"></script>
}
</body>
</html>

Lembrando, somente a parte de "Alterar" registros não funcional, inclusive no banco de dados. Já Cadastramento e Exclusão funcionam perfeitamente, inclusive no banco de dados phpMyAdmin.

Versões (5):

Ver a versão formatada

Form não Alterar registros

Comentário

new question