Ir para conteúdo

Arquivado

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

Wagner Morel

Código PHP não está gravando na Tabela do Banco de Dados

Recommended Posts

Amigos do Fórum,

Boa noite!

Sou iniciante na programação em PHP (muito embora já programe em outras linguagens e seja graduado em desenvolvimento). Desse modo, já peço desculpas antecipadas se minha dúvida parece muito banal e também se estou postando a mesma em local errado aqui no fórum.

O código que peguei no YouTube é bem simples e a finalidade é começar a aprender. Peguei um código que se destina a receber do usuário alguns dados, numa página no localhost mesmo e enviar para uma tabela criada em um BD MySql criado pelo MyPhpAdmin. Tá funcional, dá ao final a mensagem que o cadastro foi realizado com sucesso mas não grava nada na tabela.

No que foi apresentado no YouTube deu tudo certo e os dados foram gravados na tabela mas o meu não faz isso. Onde estou errando? O que está faltando. Segue abaixo o código dos arquivos.
ARQUIVO CADASTRO.PHP

html>

<head>
<title>SISTEMA DE CADASTRO</title>
</head>

<body>
<form name="signup" method="post" action="cadastrando.php">
Nome: <input type="text" name="nome" /><br /><br />
Sobrenome: <input type="text" name="sobrenome" /><br /><br />
Pais: <input type="text" name="pais" /><br /><br />
Estado: <input type="text" name="estado" /><br /><br />
Cidade: <input type="text" name="cidade" /><br /><br />
E-Mail: <input type="text" name="email" /><br /><br />
Senha: <input type="password" name="senha" /><br /><br />
<input type="submit" name="submit" value="cadastrar"/>
</form>
</body>

</html>

ARQUIVO CADASTRANDO.PHP

<html>

	<head>
		<title>Cadastrando...</title>
	</head>
	
	<body>
		<?php 
			$host = "localhost";
			$user = "root";
			$pass = "123";
			$banco = "cadastro";
			$conexao = mysql_connect($host, $user, $pass) or die(mysql_error());
			mysql_select_db($banco) or die(mysql_error());
		?>
		<?php
			$nome=$_POST['nome'];
			$sobrenome = $_POST['sobrenome']; //$nome, $sobrenome, $pais, etc, são variáveis que armazenarão os dados
			$pais=$_POST['pais'];
			$estado=$_POST['estado'];
			$cidade=$_POST['cidade'];
			$email=$_POST['email'];
			$senha=$_POST['senha'];
			$sql = mysql_query("INSERT INTO usuarios(nome, sobrenome, pais, estado, cidade, email, senha)
			VALUES('$nome', '$sobrenome', '$pais', '$estado', '$cidade', '$email', '$senha')");
			echo "<center><h1>Cadastro Realizado com Sucesso!</h1></center>"; 
		?>
	</body>
</html>



De já, agradeço pela ajuda que possa me dá. De já, agradeço pela ajuda que possa me dá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

$sql = "INSERT INTO usuarios(nome, sobrenome, pais, estado, cidade, email, senha) VALUES('$nome', '$sobrenome', '$pais', '$estado', '$cidade', '$email', '$senha')";
$result = mysql_query($sql, $conecta);

Mysql_* foram descontinuadas no PHP 5.5, use PDO ou MySQLi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Todas as informações do POST e não parte dela que você quer quer pegar é importante existir também aqui

$sql = "INSERT INTO usuarios( ) VALUES( )";

Verifique também se os dados do POST confere  com os dados do  INSERT INTO - nada pode faltar nem ter dado(s) escrito errado

Verifique também se nome do banco de dados que está no corpo da página 

$banco = "cadastro";

confere com o nome do banco que você criou

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, agradeço a todos que prestaram auxílio. Infelizmente nenhuma das contribuições resolveu o problema. Não sei como resolver, pois não sei programar em PHP.

 

Não existem erros de dados (nomes incorretos), nome de banco de dados incorreto, nome de tabela incorreta, não existe erro de sintaxe com o comando SQL, enfim, verifiquei todos os detalhes mas não grava nada na tabela.

 

Guilherme Luis,

 

Inclui a linha que você falou e não mostrou erro nenhum. Aparentemente, continua tudo bem.

 

Gleyson Abreu,

 

Inseri as linhas que você comentou e nada aconteceu. Não grava nada no BD.

 

Aqui no fórum não tem como inserir arquivos .ZIP como se faz em outros fóruns? Só pode inserir arquivo de figura? Gostaria de inserir os dois arquivos .PHP e o arquivo de Banco de Dados para que vocês pudesse analisar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colocar a versão do seu PHP para 5.6

 

conexão coloca esse functions

 

$con2 = mysql_connect("localhost","USUARIO DB","SENHA DB") or die ("Retornaremos dentro de alguns instantes!");
$conn2 = mysql_select_db("DATA BASE",$con2) or die ("Retornaremos dentro de alguns instantes!");
mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Wagner

 

Segue abaixo o Código que utilizo para Gravar em Bancos de Dados.

 

   <?php 

    //Variável Passada da Página Anterior
    $cotaNumeroGet = isset($_GET['cotaNumero']) ? $_GET['cotaNumero'] : false;
    $cotaNumero    = isset($_POST['cotaNumero']) ? $_POST['cotaNumero'] : $cotaNumeroGet;       

    //Variável Passada da Página Anterior
    $clienteIdGet = isset($_GET['clienteId']) ? $_GET['clienteId'] : false;
    $clienteId    = isset($_POST['clienteId']) ? $_POST['clienteId'] : $clienteIdGet;       


    $cotaItensIdGet = isset($_GET['cotaItensId']) ? $_GET['cotaItensId'] : false;
    $cotaItensId    = isset($_POST['cotaItensId']) ? $_POST['cotaItensId'] : $cotaItensIdGet; 

    $codProdClieGet = isset($_GET['codProdClie']) ? $_GET['codProdClie'] : false;
    $codProdClie    = isset($_POST['codProdClie']) ? $_POST['codProdClie'] : $codProdClieGet; 

    ?>   
   
    <?php 

      if(isset($_POST['executar']) && $_POST['executar'] == 'Gravar'){     
        //Campos passado do formulário
        $cotaRespQtde     = strip_tags(trim($_POST['respQtde'])); 
        $cotaRespVlr      = strip_tags(trim($_POST['respValor'])); 
        $cotaRespTotal    = strip_tags(trim($_POST['respTotal'])); 
        $cotaRespMarca    = strip_tags(trim($_POST['respMarca']));         
        $cotaRespPgto     = strip_tags(trim($_POST['respPgto'])); 
        $cotaRespEntrega  = strip_tags(trim($_POST['respEntrega'])); 
        $cotaRespObs      = strip_tags(trim($_POST['respObs'])); 
        $cotaOferta       = '2'; 
        $apres_unid       = strip_tags(trim($_POST['apres_unid'])); 
  
        //Grava os dados no Banco
        $sql_produto = 'INSERT INTO cotacaoResposta (cotaRespQtde, cotaRespVlr, cotaRespTotal, cotaRespMarca, cotaRespObs,
                                                     cotaRespEntrega, cotaRespPgto, cotaOferta, cotaNumero, cotaItensId, 
                                                     codProdClie, clienteId, fornecedorId, apres_unid) ';
        $sql_produto .= 'VALUES (:cotaRespQtde, :cotaRespVlr, :cotaRespTotal, :cotaRespMarca, :cotaRespObs, :cotaRespEntrega,
                                 :cotaRespPgto, :cotaOferta, :cotaNumero, :cotaItensId, :codProdClie, :clienteId, :fornecedorId,
                                 :apres_unid)';
         

        try{
            $query_produto = $conecta->prepare($sql_produto);  
            $query_produto->bindValue(':cotaRespQtde',$cotaRespQtde,PDO::PARAM_STR);  
            $query_produto->bindValue(':cotaRespVlr',$cotaRespVlr,PDO::PARAM_STR);  
            $query_produto->bindValue(':cotaRespTotal',$cotaRespTotal,PDO::PARAM_STR);              
            $query_produto->bindValue(':cotaRespMarca',$cotaRespMarca,PDO::PARAM_STR);              
            $query_produto->bindValue(':cotaRespObs',$cotaRespObs,PDO::PARAM_STR);  
            $query_produto->bindValue(':cotaRespEntrega',$cotaRespEntrega,PDO::PARAM_STR);                          
            $query_produto->bindValue(':cotaRespPgto',$cotaRespPgto,PDO::PARAM_STR);              
            $query_produto->bindValue(':cotaOferta',$cotaOferta,PDO::PARAM_STR);             
            $query_produto->bindValue(':clienteId',$clienteId,PDO::PARAM_STR);                   
            $query_produto->bindValue(':fornecedorId',$fornecedorId,PDO::PARAM_STR);              
            $query_produto->bindValue(':apres_unid',$apres_unid,PDO::PARAM_STR);
            $query_produto->bindValue(':codProdClie',$codProdClie,PDO::PARAM_STR);      
            $query_produto->bindValue(':cotaNumero',$cotaNumero,PDO::PARAM_STR);
            $query_produto->bindValue(':cotaItensId',$cotaItensId,PDO::PARAM_STR);                   
            $query_produto->execute();
          
            echo '<div class="comunicado">Produto Cadastrado com Sucesso!</div><!--aviso-->';

            //Redirecionando para Caixa de Enrada do Cliente
            echo '<meta http-equiv="refresh" content="2, 
                     URL=painel.php?exe=fornecedor/cotacao_itens&cotaNumero='.$cotaNumero.'&clienteId='.$clienteId.'" />';

          } catch(PDOexception $error_novoProduto) {
            echo 'Erro ao Cadastrar o Produto '.$error_novoProduto->getMessage();
          }

      } //Fim do IF

    ?>  

 

Espero que ajude.

 

Atenciosamente,

 

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvéz o seu browser está extremamente carregado. Se você usa google chrome faça uma limpeza geral.

Vá em configurações-avançado-limpar dados de navegação

Depois, no final da página vá em redefinir e clique em redefinir configurações para os padrões originais.

Depois faça o cadastro normalmente e veja se o problema foi resolvido :smile:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado a todos que responderam e ajudaram. Todavia, nada que foi dito resolveu meu simples problema.

 

Amigo Remazela,

 

Muito obrigado por disponibilizar seu código. Todavia, ele ainda é muito complexo para o meu entendimento. Como eu disse no primeiro post, sou iniciante em PHP. O código que peguei foi pelo YouTube e me parece bem simples.

Você ou outro colega aqui do fórum poderia simplesmente resolver em cima do código que enviei? Até agora, tudo que disseram eu já fiz e nada dá certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por babylon
      Olá galera tudo bem?
      Deixa eu perguntar, estava mexendo no meu site e queria adicionar em html essa tabela porem esta dando erro pois fica assim:
       

      Porem gostaria que ficasse assim:

      Segue o código da tabela:
      <center><table border="0">
          <tr>
      <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Bicicleta<br> <font color="#0092df">..</font>Track Bikes<br> <font color="#0092df">..</font>Aro 29 TKS</b></a></span><br><br><font size="5"><center><span style="background-color: #A1CD44">DE:</span></font> <br><font size="5"><s>R$ 1.999,99</center></font></s> </td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itembicicleta.jpg"><br><font size="5"><center><span style="background-color: #A1CD44">COM - 60%:</span></font> <br><font size="5">1.199,99</font></center></a></td>
             <td><font color="#ffffff">....</font></td>
              <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Monitor 24"<br> <font color="#0092df">..</font>Samsung<font color="#0092df">aa.aa</font><br> <font color="#0092df">..</font>1ms 144hz</b></a></span></center></td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itemmonitor.jpg"></a></td>
          </tr>
          </table></center>
      O que estaria errado, pois não sei como colocar nessa tabela outro fundo de outra cor, veja que usei td bgcolor="#0092df" para o azul escuro mas não sei como usaria pro "#e4f1fb" para o fundo ficar de azul claro em baixo bem como não ficou correto em altura o "DE:" com o "COM - 60%:".
      Bom é isso, obg.


    • Por douglas79
      Boa noite,
      primeiramente eu fiz um site num servidor local (Wordpress 5.9), criei uma pasta chamada blog e fiz a transferência via FTP para essa pasta, mas não instalei o Wordpress nativo da hospedagem.. Acessei o painel de controle e criei o banco de dados e importei o BD do phpmyadmin do servidor XAMPP. Daí quando vou acessar o domínio www.guardamunparacambi.info/blog, aparece a mensagem "Erro ao conectar com o banco de dados". O que pode estar acontecendo?
      Preciso de ajuda!
    • Por douglas79
      Boa noite,
      primeiramente eu fiz um site num servidor local (Wordpress 5.9), criei uma pasta chamada blog e fiz a transferência via FTP para essa pasta, mas não instalei o Wordpress nativo da hospedagem.. Acessei o painel de controle e criei o banco de dados e importei o BD do phpmyadmin do servidor XAMPP. Daí quando vou acessar o domínio www.guardamunparacambi.info/blog, aparece a mensagem "Erro ao conectar com o banco de dados". O que pode estar acontecendo?
      Preciso de ajuda!
    • Por douglas79
      Boa noite,
      primeiramente eu fiz um site num servidor local (Wordpress 5.9), criei uma pasta chamada blog e fiz a transferência via FTP para essa pasta, mas não instalei o Wordpress nativo da hospedagem.. Acessei o painel de controle e criei o banco de dados e importei o BD do phpmyadmin do servidor XAMPP. Daí quando vou acessar o domínio www.guardamunparacambi.info/blog, aparece a mensagem "Erro ao conectar com o banco de dados". O que pode estar acontecendo?
      Preciso de ajuda!
    • Por douglas79
      Boa noite,
      primeiramente eu fiz um site num servidor local (Wordpress 5.9), criei uma pasta chamada blog e fiz a transferência via FTP para essa pasta, mas não instalei o Wordpress nativo da hospedagem.. Acessei o painel de controle e criei o banco de dados e importei o BD do phpmyadmin do servidor XAMPP. Daí quando vou acessar o domínio www.guardamunparacambi.info/blog, aparece a mensagem "Erro ao conectar com o banco de dados". O que pode estar acontecendo?
      Preciso de ajuda!
×

Informação importante

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