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 santans
      Desejo saber como crio um gerador PHP de paginas html.
      Por exemplo quando alguém cria um perfil no meu site, o gerador criaria uma pagina no sistema a partir de uma pagina pre molde já feita.
      no caso seria para um e-comerce.
      Outro exemplo quando eu cadastro um produto e é gerada uma pagina para este tal produto.
      Se houver algum sistema mais simples para me indicarem fiquem a vontade.
      Nota: Não sou um programador experiente.
    • Por Snowden
      A empresa que trabalho está contratando Desenvolvedor Wordpress, com foco em front-end para criação e customização de sites. 
      Necessário conhecimento em PHP e MYSQL.
       
      Experiência em:
      Temas filhos, Plugins Hooks CSS jQuery PHP MYSQL GIT (Caso não tenha aprenderá com nós) DOCKER (Caso não tenha aprenderá com nós)  
      A vaga é apenas presencial, na cidade de São Paulo capital, bairro do Jardim Paulista próximo metrô Brigadeiro.
      Salário: Á Combinar.
      Contratação: CLT ou PJ.
       
      Interessados contactar-me por mensagem privada.
    • Por DKannel
      Olá pessoal, estou tentando criar um formulario de cadastro para meu projeto.
       
      Mas ele não está registrando no BD...  o arquilo SQL até então parece ok, mas se alguem puder ajudar eu agradeço
       
      index.html
      <body> <form id="cadastro" name="cadastro" method="post" action="cadastro.php" onsubmit="return validaCampo(); return false;"> <table width="650" border="0"> <tr> <td width="169">Nome:</td> <td width="461"><input name="nome" type="text" id="nome" size="70" maxlength="60" /> <span class="style1">*</span></td> </tr> <tr> <td>Email:</td> <td><input name="email" type="text" id="email" size="70" maxlength="60" /> <span class="style1">*</span></td> </tr> <tr> <td>Sexo:</td> <td><input name="sexo" type="radio" value="Masculino" checked="checked" /> Masculino <input name="sexo" type="radio" value="Feminino" /> Feminino <span class="style1">*</span> </td> </tr> <tr> <td>Data Nasc.:</td> <td><input name="datanasc" type="text" id="datanasc" maxlength="10" />EX. 11/11/2006 <span class="style1">*</span></td> </tr> <tr> <td>Estado Civil:</td> <td><select name="estadocivil" id="estadocivil"> <option>Selecione...</option> <option value="C">Casado(a)</option> <option value="E">Desquitado(a)</option> <option value="D">Divorciado(a)</option> <option value="S">Solteiro(a)</option> <option value="V">Viúvo(a)</option> </select> <span class="style1">*</span></td> </tr> <tr> <td>Escolaridade:</td> <td><select name="escolaridade" id="escolaridade"> <option>Selecione...</option> <option value="fuin">Fundamental Incompleto</option> <option value="fuco">Fundamental Completo</option> <option value="enme">Ensino Médio</option> <option value="suin">Superior Incompleto</option> <option value="suco">Superior Completo</option> </select> <span class="style1">*</span></td> </tr> <tr> <td>DDD:</td> <td><input name="ddd" type="text" id="ddd" size="4" maxlength="2" /> Telefone: <input name="telefone" type="text" id="telefone" /> <span class="style3">Apenas números</span> </td> </tr> <tr> <td>Endereço:</td> <td><input name="endereco" type="text" id="endereco" size="70" maxlength="70" /> <span class="style1">*</span></td> </tr> <tr> <td>CEP:</td> <td><input name="cep" type="text" id="cep" size="8" maxlength="8" /> <span class="style1">*</span></td> </tr> <tr> <td>Bairro:</td> <td><input name="bairro" type="text" id="bairro" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>Cidade:</td> <td><input name="cidade" type="text" id="cidade" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>Estado:</td> <td><select name="estado" id="estado"> <option>Selecione...</option> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AP">AP</option> <option value="AM">AM</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="ES">ES</option> <option value="DF">DF</option> <option value="MA">MA</option> <option value="MT">MT</option> <option value="MS">MS</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RS">RS</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SP">SP</option> <option value="SE">SE</option> <option value="TO">TO</option> </select> <span class="style1">*</span></td> </tr> <tr> <td>País:</td> <td><input name="pais" type="text" id="pais" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>-----------------</td> <td>-----------------------</td> </tr> </table> </form> </body> </html>  n
      cadastro.php
       
      $host= 'meu.host.com.br'; $bd= 'meu BD'; $userbd = 'Meu User'; $senhabd= 'Minha senha'; // RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO ! $nome = $_POST ["nome"]; //atribuição do campo "nome" vindo do formulário para variavel $email = $_POST ["email"]; //atribuição do campo "email" vindo do formulário para variavel $sexo = $_POST ["sexo"]; //atribuição do campo "sexo" vindo do formulário para variavel $datanasc = $_POST ["datanasc"]; //atribuição do campo "datanasc" vindo do formulário para variavel $estadocivil = $_POST ["estadocivil"]; //atribuição do campo "estadocivil" vindo do formulário para variavel $escolaridade = $_POST ["escolaridade"]; //atribuição do campo "escolaridade" vindo do formulário para variavel $ddd = $_POST ["ddd"]; //atribuição do campo "ddd" vindo do formulário para variavel $tel = $_POST ["telefone"]; //atribuição do campo "telefone" vindo do formulário para variavel $endereco = $_POST ["endereco"]; //atribuição do campo "endereco" vindo do formulário para variavel $cep = $_POST ["cep"]; //atribuição do campo "cep" vindo do formulário para variavel $cidade = $_POST ["cidade"]; //atribuição do campo "cidade" vindo do formulário para variavel $estado = $_POST ["estado"]; //atribuição do campo "estado" vindo do formulário para variavel $bairro = $_POST ["bairro"]; //atribuição do campo "bairro" vindo do formulário para variavel $pais = $_POST ["pais"]; //atribuição do campo "pais" vindo do formulário para variavel $cid = $_POST ["cid"]; //atribuição do campo "cid" vindo do formulário para variavel $tipodefi = $_POST ["tipodefi"]; //atribuição do campo "tipodefi" vindo do formulário para variavel $aperelho = $_POST ["aperelho"]; //atribuição do campo "aperelho" vindo do formulário para variavel $aperelhodefina = $_POST ["aperelhodefina"];//atribuição do campo "aperelhodefina" vindo do formulário para variavel $esta_trabalhando = $_POST ["esta_trabalhando"]; //atribuição do campo "esta_trabalhando" vindo do formulário para variavel //Gravando no banco de dados ! //conectando com o localhost - mysql $conexao = mysql_connect($host,$bd, $userbd, $senhabd); if (!$conexao) die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error()); //conectando com a tabela do banco de dados $banco = mysql_select_db($bd,$conexao); if (!$banco) die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error()); mysql_query($query,$conexao); $query = "INSERT INTO `clientes` ( `nome` , `email` , `sexo` , `datanasc` , `estadocivil` , `escolaridade` , `ddd` , `telefone` , `endereço` , `cep` , `cidade` , `estado` , `bairro` , `pais` , `cid` , `tipodefi` , `aperelho` , `aperelhodefina` , `esta_trabalhando` , `id` ) VALUES ('$nome', '$email', '$sexo', '$datanasc', '$estadocivil', '$escolaridade', '$ddd', '$tel', '$endereco', '$cep', '$cidade', '$estado', '$bairro', '$pais', '$cid', '$tipodefi', '$aperelho', '$aperelhodefina', '$esta_trabalhando', '')"; echo "Seu cadastro foi realizado com sucesso!<br>Só para reiterar, o cadastro NÃO LHE DÁ A GARANTIA de recebimento de aparelhos ou equipamentos, Agradecemos a atenção."; ?> valew, obrigado gente até logo menos
    • Por ndias
      select t1.id, (select count(campo) from tabela2 where id = t1.id) from tabela1 t1 where ....... select t1.id, (select count(t2.campo) from tabela2 t2 inner join tabela1 on tabela1.id = t2.id where t2.id = t1.id) from tabela1 t1 where ....... select t1.id, count(t2.campo) from tabela1 t1 left join tabela t2 on t2.id = t1.id where ....... Estou tentando dessas 3 formas e a única que roda é a segunda...mesmo assim, com muita lentidão...
       
      Existe alguma outra melhor forma de montar essa query?
    • Por Andrelirasp
      Tenho uma página onde exibe livros registrados, eu gostaria de fazer uma outra focada em busca para buscar dados nas tabelas.
       
      Gostaria de fazer um sistema de busca onde buscaria dados digitados de acordo com a categoria selecionada, porém não sei por onde começo.
      Eu gostaria de adicionar a opção de **filtrar** por **categoria** seguida de um `_<input type="text">_` para o usuário selecionar a categoria e escrever o que ele quer buscar, a categoria no caso seriam as tabelas:
          <select name="opcao_filtro">
                     <option value="nulo">--</option>                
                     <option value="titulo">Título</option>
                     <option value="autor">Autor</option>
                     <option value="tema">Tema</option>
                     <option value="editora">Editora</option>
                     <option value="indice">Índice</option>
          </select>

      Logo abaixo teria o input:
          <input type="text" name="busca" id="busca"> // Procurar em tabela tal, tal coisa
          <input type="submit" value="Procurar">
       
      E depois(opcional para o usuário) buscar por letras(funcionaria junto com o filtro de categorias):
          <a href="url">A</a>
          <a href="url">B</a>
      **Exemplo**: Usúario escolheu filtrar por título e quando ele clica na letra _" A "_ buscasse entre a categoria e exibisse os resultados dos títulos que comesse com a letra selecionada.
×

Informação importante

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