Ir para conteúdo
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>

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por joaovictorv
      Em cURL, eu chequei muitos exemplos de logar remotamente no facebook e no twitter, mas quando usamos cURL e rodamos a função cURL com id e passamos campo post então como aquele botão log in clicou automaticamente.
      Não consigo entender como esse botão de login foi clicado.
      Eu quero criar uma função cURL simples que pode inserir dados no formulário HTML e, em seguida, em mostrar-me um resultado na próxima pagina, se os dados estão validos ou inválidos.
       
      <input type="text" id="campo_numero" name="campo_numero" class="wAg" value="Numero" title="Digite o número"> <input type="text" id="campo_email" class="wCc" value="Email" title="Digite o Email"> <div class="loginBtn"> <a href="#" class="btnSubmit" role="button" title="Botão acessar conta">Acessar</a> </div>
    • Por lvsis
      Tenho um web sistema e nele tem um script php que executa o backup do banco de dados. Eu queria que o backup fosse finalizado uma notificação daquelas web push fosse exibida, assim o usuário poderia iniciar o backup e fazer outras coisas no sistema e quando o backup fosse finalizado ele seria avisado.
    • Por Nioshi
      Boa tarde, estou enfrentando um problema em meu código, eu tenho um código em c# que fica ouvindo a porta 12934, quando recebe requisição ele envia um post ao meu arquivo php, o problema está que o $_POST recebe valor nulo por algum motivo que ainda não descobri.
       
      código no c#:
      string URLreceber = "http://localhost/pweb/modulose"; string URLRetornoimg = "http://localhost/pweb/modulos"; string URLRetornocam = "http://localhost/pweb/moduloscaminho"; using (var cliente = new WebClient()) { NameValueCollection modulose = new NameValueCollection(); modulose["folha"] = folha; modulose["informe"] = informe; modulose["cartao"] = cartao; Console.WriteLine(modulose["folha"]); Console.ReadKey(); resultimg = cliente.UploadValues(URLRetornoimg, modulose); retorno = Encoding.UTF8.GetString(resultimg); Console.WriteLine(retorno); Console.ReadKey(); } código em php:
      $app->post('/modulos', function (Request $request) use ($app) { $modFolha = ''; $modInforme = ''; $modCartao = ''; if(isset($_POST['folha'])){ $modFolha = $_POST['folha']; } if(isset($_POST['informe'])){ $modFolha = $_POST['informe']; } if(isset($_POST['cartao'])){ $modFolha = $_POST['cartao']; } if($modFolha == 'sim'){ $modFolha = 'sim'; }else{ $modFolha = 'nao'; } if($modInforme == 'sim'){ $modInforme = 'sim'; }else{ $modInforme = 'nao'; } if($modCartao == 'sim'){ $modCartao = 'sim'; }else{ $modCartao = 'nao'; } if($modFolha == 'sim'){ $modulosImagem['folha'] = './images/holerite.png'; }else{ $modulosImagem['folha'] = './images/holeriteDesabilitado.png'; } if($modInforme == 'sim'){ $modulosImagem['informe'] = './images/informeVerde.png'; }else{ $modulosImagem['informe'] = './images/informeDesabilitado.png'; } if($modCartao == 'sim'){ $modulosImagem['cartao'] = './images/cartao.png'; }else{ $modulosImagem['cartao'] = './images/cartaoDesabilitado.png'; } if(file_exists("../app/config/global.php")){ return new Response(json_encode($modulosImagem), 201); } else{ return new Response("Arquivo global não existe", 500); } }); Código em .js
      // post para a rota que retorna os dados $http.post('./modulos', data, setting) .success(function (data, status, headers, setting){ $scope.folha = angular.fromJson(data).folha; $scope.informe = angular.fromJson(data).informe; $scope.cartao = angular.fromJson(data).cartao; }) .error(function (data, status, header, setting){ $scope.ResponseDetails = "Erro: " + data ; }); var setting = { headers : { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;' } } com as linhas:
      ini_set('display_errors', true); error_reporting(E_ALL); ele retorna:
      http://prntscr.com/lhhpdu
       
      e sem as linhas ele retorna NULL, alguém sabe dizer no que estou errando?
       
      retorno no c#:
      http://prntscr.com/lhhqba
       
      variáveis pegas:
      http://prntscr.com/lhhqr6
    • Por marafigo
      Bom dia,
      Alguém pode me ajudar? quando atualizei os (Pacotes instalados) apresentou a seguinte mensagem no meu ''Avisos'' no pfsense 2.4.2-RELEASE-p1 (amd64):
       
                          Crash report begins.  Anonymous machine information:
      amd64
      11.1-RELEASE-p6
      FreeBSD 11.1-RELEASE-p6 #8 r313908+a5b33c9d1c4(RELENG_2_4): Tue Dec 12 13:51:24 CST 2017     root@buildbot2.netgate.com:/builder/ce-242/tmp/obj/builder/ce-242/tmp/FreeBSD-src/sys/pfSense
      Crash report details:
      PHP Errors:
      [09-Nov-2018 08:20:01 America/Sao_Paulo] PHP Fatal error:  Call to undefined function init_config_arr() in /usr/local/pkg/shellcmd.inc on line 114
      [09-Nov-2018 08:22:28 America/Sao_Paulo] PHP Fatal error:  Call to undefined function init_config_arr() in /usr/local/pkg/shellcmd.inc on line 114

      Filename: /var/crash/minfree
      2048

      PHP errors
      PHP ERROR: Type: 1, File: /usr/local/pkg/shellcmd.inc, Line: 165, Message: Call to undefined function init_config_arr()    @ 2018-11-09 08:19:42
      PHP ERROR: Type: 1, File: /usr/local/pkg/shellcmd.inc, Line: 114, Message: Call to undefined function init_config_arr()    @ 2018-11-09 08:20:01
      PHP ERROR: Type: 1, File: /usr/local/pkg/shellcmd.inc, Line: 114, Message: Call to undefined function init_config_arr()    @ 2018-11-09 08:22:28
       
      abri o arquivo do caminho File: /usr/local/pkg/shellcmd.inc
       
      165: init_config_arr(array('installedpackages', 'shellcmdsettings', 'config'));
      114: init_config_arr(array('installedpackages', 'shellcmdsettings', 'config'));
    • Por camargo.2018
      Tou com um erro no meu script e não sei identificar erra pra ele exibir a imagem do usuário mas isso não está acontecendo
       
      Error:

       
      funcao.php:
      function ver_avatar($nick){ include 'str_get_html.php'; $url = "http://pt.clubcooee.com/users/view/".$nick; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15); $return = curl_exec($ch); curl_close($ch); $html = str_get_html($return); $res = $html->find('.m33 img'); $imgLink = $res[0]->attr['src']; return $imgLink; } str_get_html.php:
      <?php function str_get_html($str, $lowercase=true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT) { $dom = new simple_html_dom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText); if (empty($str) || strlen($str) > MAX_FILE_SIZE) { $dom->clear(); return false; } $dom->load($str, $lowercase, $stripRN); return $dom; } ?> menu.php:
      <div class="usr-nav"> <img src="<?php $veavt = ver_avatar($usr); echo $veavt; ?>" class="img-usr"> <p class="name-usr">Nome do Usuário</p> </div>  
      Me Ajudem mas rápido possível pfvrrrr
×

Informação importante

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