Jump to content
netocazuza

codigo adaptado não funciona

Recommended Posts

Gostaria que alguém me ajudasse a encontrar erro num código. Estou fazendo um curto na net, e tentando adaptar o código que funciona para ir aprimorando a aprendizagem. Então vou colocar dois códigos aqui, onde um funciona o outro não. O que funciona é o do curso com mais campos. O que fiz foi apenas adaptar esse código que funciona para uma quantidade bem menor, e ver se funciona. Os dois códigos abre o formulário, aparentemente consultam o banco com sucesso, porém só o original está alterando, certamente por algum erro meu. Mas já olhei trocentas vezes, postei dúvida lá no curso, e o cara não responde, então tô parado na aprendizagem por conta disso. Basicamente é um formulário de cadastro de transportadoras onde o usuário altera os dados de uma transportadora através desse formulário. Esse tá funcionando tudo certinho. Tentei reproduzir esse mesmo formulário, porém apenas com dois campos (cidade e estado), e mesmo assim não funciona. Lista certinho, mas não altera, por isso acho que é um erro simples. Segue os dois códigos pra que comparem:

CÓDIGO QUE FUNCIONA:

<?php require_once("conexao/conexao.php"); ?>
<?php
    if (isset($_POST["nometransportadora"])){
        $nome = utf8_decode($_POST["nometransportadora"]);
        $endereco = utf8_decode($_POST["endereco"]);
        $cidade = utf8_decode($_POST["cidade"]);
        $estado = $_POST["estados"];
        $cep = $_POST["cep"];
        $cnpj = $_POST["cnpj"];
        $telefone = $_POST["telefone"];
        $tID = $_POST["transportadoraID"];
        // CRIAR O OBJETO PARA ALTERAR
        $alterar = "UPDATE transportadoras ";
        $alterar .= "SET ";
        $alterar .= "nometransportadora = '{$nome}', ";
        $alterar .= "endereco = '{$endereco}', ";
        $alterar .= "cidade = '{$cidade}', ";
        $alterar .= "estadoID = {$estado}, ";
        $alterar .= "cep = '{$cep}', ";
        $alterar .= "cnpj = '{$cnpj}', ";
        $alterar .= "telefone = '{$telefone}' ";
        $alterar .= "WHERE transportadoraID = {$tID}";
        $operacao_alterar = mysqli_query($conecta, $alterar);
        if (!$operacao_alterar){
            die("Erro na alteração!");
        }else {
            header("location: listagem2.php");
        }
    }


    // Consulta a tabela de transportadoras.
    $tr = "SELECT * ";
    $tr .= "FROM transportadoras ";
    if (isset($_GET["codigo"])){
        $id = $_GET["codigo"];
        $tr .= "WHERE transportadoraID = {$id} ";
    }else {
        $tr .= "WHERE transportadoraID = 1 ";
    }
    $con_transportadora = mysqli_query($conecta, $tr);
    if (!$con_transportadora){
        die("Erro na consulta");
    }
    $info_transportadora = mysqli_fetch_assoc($con_transportadora);
    
    // Consulta aos estados
    $estados = "SELECT * ";
    $estados .= "FROM estados ";
    $lista_estados = mysqli_query($conecta, $estados);
    if (!$lista_estados){
        die("erro no banco");
    }

?>
<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Curso PHP INTEGRACAO</title>
        
        <!-- estilo -->
        <link href="_css/estilo.css" rel="stylesheet">
        <link href="_css/alteracao.css" rel="stylesheet">
    </head>

    <body>
        <?php include_once("_incluir/topo.php"); ?>
        
        <main>  
            <div id="janela_formulario">
                <form action="alteracao.php" method = "post">
                    <h2>Alteração de Transportadoras</h2>
                    <label for="nometransportadora">Nome da Transportadora</label>
                    <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["nometransportadora"]) ?>" name = "nometransportadora" id = "nometransportadora">
                    <label for="endereco">Endereço</label>
                    <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["endereco"]) ?>" name = "endereco" id = "endereco">
                    <label for="cidade">Cidade</label>
                    <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["cidade"]) ?>" name = "cidade" id = "cidade">
                    <label for="estados">Estados</label>
                    <select id = "estados" name = "estados">
                        <?php 
                            $meuestado = $info_transportadora["estadoID"];
                            while ($linha = mysqli_fetch_assoc($lista_estados)){
                            $estado_principal = $linha["estadoID"];
                            if ($meuestado == $estado_principal){
                        ?>
                            <option value="<?php echo $linha["estadoID"] ?>" selected>
                                <?php echo utf8_encode($linha ["nome"]) ?>
                            </option>
                            <?php
                            } else { 
                            ?>
                                <option value="<?php echo $linha["estadoID"] ?>">
                                <?php echo utf8_encode($linha ["nome"]) ?>
                                </option>
                        <?php 
                            }
                            }
                        ?>
                        
                    </select>
                    <label for="cep">CEP</label>
                    <input type = "text" value = "<?php echo ( $info_transportadora["cep"]) ?>" name = "cep" id = "cep">
                    <label for="telefone">Telefone</label>
                    <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["telefone"]) ?>" name = "telefone" id = "telefone">
                    <label for="cnpj">CNPJ</label>
                    <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["cnpj"]) ?>" name = "cnpj" id = "cnpj">
                    <input type = "hidden" name = "transportadoraID" value = "<?php echo $info_transportadora["transportadoraID"] ?>">
                    <input type = "submit" value="Confirmar Alteração">
                </form>
            </div>
        </main>

        <?php include_once("_incluir/rodape.php"); ?>  
    </body>
</html>

 

CÓDIGO QUE NÃO FUNCIONA. (Lista tudo certinho, mas não altera, nem traz o estádo pré-checado).

<?php require_once("conexao/conexao.php"); ?>
<?php
    if( isset($_POST["nomeCidade"]) ) {
        $nomeCidade       = utf8_decode($_POST["nomeCidade"]);
        $estado     = $_POST["estados"];
        $cID        = $_POST["cidadeID"];
        
        // Objeto para alterar
        $alterar = "UPDATE cidades ";
        $alterar .= "SET ";
        $alterar .= "nomeCidade = '{$nomeCidade}', ";
        $alterar .= "estadoID = {$estado} ";
        $alterar .= "WHERE cidadeID = {$cID} ";
        $operacao_alterar = mysqli_query($conecta, $alterar);
        if(!$operacao_alterar) {
            die("Erro na alteracao");   
        } else {
            header("location:alterarCidades.php");   
        }
        
    }

    // Consulta a tabela de cidades
    $tr = "SELECT * ";
    $tr .= "FROM cidades ";
    if(isset($_GET["codigo"]) ) {
        $id = $_GET["codigo"];
        $tr .= "WHERE cidadeID = {$id} ";
    } else {
        $tr .= "WHERE cidadeID = 1 ";
    }
    
    $con_cidade = mysqli_query($conecta,$tr);
    if(!$con_cidade) {
        die("Erro na consulta");
    }

    $info_cidade = mysqli_fetch_assoc($con_cidade);
    

    // consulta aos estados
    $estados = "SELECT * ";
    $estados .= "FROM estados ";
    $lista_estados = mysqli_query($conecta, $estados);
    if(!$lista_estados) {
       die("erro no banco"); 
    }
   

?>
<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Alteração Cidades</title>
        <!-- estilo -->
        <link href="_css/estilo.css" rel="stylesheet">
        <link href="_css/alteracao.css" rel="stylesheet">

    </head>

    <body>
        <?php include_once("_incluir/topo.php"); ?>
        

        <main>
            <div id="janela_formulario">
                <form action="alteracaoCidades.php" method="post">
                    <h2>Alteração de Cidades</h2>
                    
                    <label for="nomeCidade">Nome da Cidade</label>
                    <input type="text" value="<?php echo utf8_encode($info_cidade["nomeCidade"])  ?>" name="nomeCidade" id="nomeCidade">
                    <label for="estados">Estados</label>
                    <select id="estados" name="estados"> 
                        <?php 
                            $meuestado = $info_cidade["estadoID"];
                            while($linha = mysqli_fetch_assoc($lista_estados)) {
                                $estado_principal = $linha["estadoID"];
                                if($meuestado == $estado_principal) {
                        ?>
                            <option value="<?php echo $linha["estadoID"] ?>" selected>
                                <?php echo utf8_encode($linha["nome"]) ?>
                            </option>
                        <?php
                                } else {
                        ?>
                            <option value="<?php echo $linha["estadoID"] ?>" >
                                <?php echo utf8_encode($linha["nome"]) ?>
                            </option>                        
                        <?php 
                                }
                            }
                        ?>
                    </select>
                    <input type="hidden" name="cidadeID" value="<?php echo $info_cidade["cidadeID"] ?>">
                    <input type="submit" value="Confirmar alteração">                    
                </form>   
            </div>
        </main>

        <?php include_once("_incluir/rodape.php"); ?>
    </body>
</html>

 

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By violin101
      Caros amigos, saudações...
       
      Se postei minha dúvida na opção errada, por favor, me perdoa.
       
      Estou com uma dúvida referente o Carregamento de INPUT através de Select Option com valor vindo do MySql.
       
      Tenho duas DIV, onde mostro um Input caso o Option seja igual a SIM.
       
      O problema é que quando Edito para Alterar o SELECT=2(SIM)  não mostra o Input Ativo.
       
      O Código está assim:
      VIEW:
       
      <div class="col-md-2"> <div class="form-group"> <label for="infoManut" class="control-label ctrlbl">Site em Manutenção:</label> <div class="controls"> <select name="infoManut" id="infoManut" style="width:100%;" class="form-control" onchange="mostrManut(this.value)"> <?php if ($syte[0]->infoManut == 1) { $nao = 'selected'; $sim = ''; } else { $nao = ''; $sim = 'selected'; } ?> <option value="1" <?= $nao ?>>NÃO</option> <option value="2" <?= $sim ?>>SIM</option> </select> </div> </div> </div> <div class="clearfix"></div> <div id="1" class="col-md-12" style="display:none;"> <div class="col-md-12"> <!---Não Mostra Nada---> </div> </div> <!--Como mostro essa DIV quando o Mysql for igual a 2 --> <div id="2" class="col-md-12" style="display:none;"> <div class="col-md-12"> <div class="form-group"> <label for="txt_manut">Informe um Motivo para Manutenção</label> <input id="txt_manut" type="txt_manut" name="txt_manut" class="form-control" style="width:100%;" /> </div> </div> </div> <div class="clearfix"></div> <br/>  
      JAVASCRIPT
       
      <script type="text/javascript"> //Habilitar e Desabilitar DIV's Manutenção do Site function mostrManut(value) { if (value == "1") { document.getElementById("1").style.display = "none"; document.getElementById("2").style.display = "none"; $("#txt_manut").val(''); } else if (value == "2") { document.getElementById("1").style.display = "none"; document.getElementById("2").style.display = "block"; } } </script>  
      Grato,
       
      Cesar
       
       
    • By Marxrj
      Boa noite, estou quebrando a cabeça para incluir marca d'agua em imagens no upload.
      No upload eu consigo fazer o redimensionamento perfeito, inserir uma parte de outro código para inserir a marca d'agua, porpem ele não funcionou na primeira tentativa, fiz umas alterações, aí ele faz o redimensionamento, coloca a logo mas a imagem de fundo fica simplesmente preta..
       
      Esse abaixo é o padrão no qual ele faz o upload da foto e redimensiona, TUDO CERTO!!
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem);  
      Ai parti para inserir a parte para colocação da marca d'adua. O que foi incluso é aonde tem os comentários. Mas acontece neste momento que ele faz o upload e o redimensionamento normal mas não insere a marca d'agua
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); // Obtem a logomarca $imagem_logo = imagecreatefromgif( "logo_texto.gif" ); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); // Obtem a largura_nova da imagem $larguraLogo = imagesx( $imagem_logo ); // Obtém a altura da imagem $alturaLogo = imagesy( $imagem_logo ); // Calcula X 5px da latreral direira $x_logo = imagesx( $imagem ) - $larguraLogo - 5; // Calcula X 5px do rodapé $y_logo = imagesy( $imagem ) - $alturaLogo - 5; // Copia a logo para a imagem imagecopymerge( $imagem, $imagem_logo, $x_logo, $y_logo, 0, 0, $larguraLogo, $alturaLogo, 100 ); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem);  
      Por fim apenas apenas troquei o nome imagem_logo na parte que iria inserir a marca d'agua por imagem_temporaria que já tinha no código antigo. Neste momento ele faz o upload, redimensiona e insere a marca d'agua, mas a imagem de fundo não aparece, fica um fundo preto.
       
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); // Obtem a logomarca $imagem_temporaria = imagecreatefromgif( "logo_texto.gif" ); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); // Obtem a largura_nova da imagem $larguraLogo = imagesx( $imagem_temporaria ); // Obtém a altura da imagem $alturaLogo = imagesy( $imagem_temporaria ); // Calcula X 5px da latreral direira $x_logo = imagesx( $imagem ) - $larguraLogo - 5; // Calcula X 5px do rodapé $y_logo = imagesy( $imagem ) - $alturaLogo - 5; // Copia a logo para a imagem imagecopymerge( $imagem, $imagem_temporaria, $x_logo, $y_logo, 0, 0, $larguraLogo, $alturaLogo, 100 ); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem); Se alguém puder da uma luz e dizer aonde estou errando.
    • By k9studio
      Olá meus Amigos,
       
      Estou tendo dificuldades em eliminar dados repetidos de uma session
      é um sisteminha de pesquisa de domínios com array
      quero eliminar quando já tiver um nome na session, não deixar gravar outro
      aguem pode ajudar
      veja como está  
      Array ( [0] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [1] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [2] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) [3] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [4] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [5] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) ) Desde já muito obrigado a todos
    • By realisacnovaes
      Sou novo no fórum e não sei se postei no lugar certo, mas desde já peço desculpas.
       
      Eu estou com um projeto de desenvolver um chat online, porém preciso de algumas ajudas e pago pelo serviço.
       
      já tenho um chat em php (modelo livre construido e disponibilizado de graça no youtube) e gostaria de fazer algumas modificações tais como:
      - Chat em grupo
      - Deletar mensagem para mim/todos
      - ligação por áudio e vídeo
       
      outras coisas adicionais.
      alguém poderia me ajudar ou alguém disponível para eu contratar?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.