Ir para conteúdo

POWERED BY:

Arquivado

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

Neohero

[PROBLEMA COM CADASTRO] - Código não manda pro Banco de Dados

Recommended Posts


<?php

error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);

$hostname_conecta = "localhost";

$database_conecta = "agrinology";

$username_conecta = "root";

$password_conecta = "";

$conecta = mysql_pconnect($hostname_conecta, $username_conecta, $password_conecta) or trigger_error(mysql_error(),E_USER_ERROR);

$database = mysql_select_db($database_conecta);

if(isset($_POST['cad_users']) && $_POST['cad_users'] == 'cad'){

$primeiro_nome = $_POST["primeiro_nome"];

$sobrenome = $_POST["sobrenome"];

$pais = $_POST["pais"];

$cidade = $_POST["cidade"];

$email = $_POST["email"];

$usuario = $_POST["usuario"];

$senha = $_POST["senha"];

$usuario_cad = mysql_query("SELECT usuario FROM usuario WHERE usuario = '$usuario'")

or die(mysql_error());

if(@mysql_num_rows($usuario_cad) >= '1'){

$erro = "Usuário já cadastrado no sistema, escolha outro.";

}else{

$cadastra_users = mysql_query("INSERT INTO usuario(primeiro_nome, sobrenome, pais, cidade, email, usuario, senha)

VALUES('$primeiro_nome', '$sobrenome', '$pais', '$cidade', '$email', '$usuario', '$senha')")

or die(mysql_error());

$resposta = ("$cadastra_users");

if($resposta){

$erro = "Usuário cadastrado com sucesso!";

}else{

$erro = "Erro ao cadstrar usuário!";

}

}

@header ("location:cadastra.php?∼=$erro");

}

?>

<!DOCTYPE html>

<html >

<head>

<meta charset="UTF-8">

<title>Agrinology | Account</title>

<link href='http://fonts.googleapis.com/css?family=Titillium+Web:400,300,600' rel='stylesheet' type='text/css'>

<link rel="stylesheet" href="css/normalize.css">

<link rel="stylesheet" href="css/style.css">

<script type="text/javascript" src="jquery/jquery.js"></script>

<script type="text/javascript" src="jquery/jquery.validate.js"></script>

<script type="text/javascript" src="jquery/funcao.js"></script>

</head>

<body>

<div class="cadastro">

<div class="form">

<div>

<div id="signup">

<h1>Preencha os Dados abaixo atentamente:</h1>

<form name="logar" action="login.php" method="post">

<div class="top-row">

<div class="field-wrap">

<label>

Primeiro Nome<span class="req" name="primeiro_nome">*</span>

</label>

<input type="text" required autocomplete="off" />

</div>

<div class="field-wrap">

<label>

Sobrenome<span class="req">*</span>

</label>

<input type="text"required autocomplete="off" name="sobrenome"/>

</div>

</div>

<div class="field-wrap">

<label>

País<span class="req">*</span>

</label>

<input type="text"required autocomplete="off" name="pais"/>

</div>

<div class="field-wrap">

<label>

Cidade<span class="req">*</span>

</label>

<input type="text"required autocomplete="off" name="cidade"/>

</div>

<div class="field-wrap">

<label>

Email<span class="req">*</span>

</label>

<input type="email"required autocomplete="off" name="email"/>

</div>

<div class="field-wrap">

<label>

Usuário (Nickname)<span class="req">*</span>

</label>

<input type="text"required autocomplete="off" name="usuario"/>

</div>

<div class="field-wrap">

<label>

Senha<span class="req">*</span>

</label>

<input type="password"required autocomplete="off" name="senha"/>

</div>

<p class="forgot"><a href="index.php">Já está cadatrado? Entre em sua conta.</a></p>

<input type="hidden" name="cad_users" value="cad" />

<button type="submit" class="button button-block" name="cadastrar" />Registrar-se</button><br />

<button type="reset" class="button button-block"/>Limpar Campos</button>

</form>

</div>

</div>

</div><!-- tab-content -->

</div> <!-- /form -->

<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

<script src="js/index.js"></script>

</body>

</html>

Acima está o meu código, é muito simples, usuário digita seus dados e é efetuado o cadastro. Porém este código não está enviando os dados para o MySQL!!!

Porém se eu vou no MySQL, e inserir manualmente os dados, na página login reconhece o cadastro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

está acontecendo comigo a mesma coisa no meu código, faça o seguinte tire a linha completa que vou passar e passe o erro que aparece no código. Faça o teste.

error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);

Compartilhar este post


Link para o post
Compartilhar em outros sites

está acontecendo comigo a mesma coisa no meu código, faça o seguinte tire a linha completa que vou passar e passe o erro que aparece no código. Faça o teste.

error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);

Apareceu isso ae embaixo.

fm2hs9.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu form está mandando o action para login.php. Deixe só assim que o INSERT funciona:

<form name="logar" method="post"> 

Mas é interessante que abandone mysql_pconnect, estude mysqli ou PDO.

Deixe o action do <form> vazio ou nem o informe ou crie uma pagina chamada login.php e todo esse codigo php você cola lá.

Retirei o action não funcionou, declarei action="" também não funcionou. Se eu passar para MySQLi o :

mysql_select_db para mysqli_select_db

mostra que essa declaração não existe. Nossa, fiz tudo certinho, para que no cadastro não funcione.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei o problema, realmente neste caso, não precisaria do action="=" da tag <form> e também que no meu banco de dados não havia AUTO_INCREMENT na Primary Key.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Tudo bem pessoal?
       
      No código abaixo, estou fazendo uma consulta nas tabelas, banners e banners_referencia
      Meu objetivo é trazer resultados com valores iguais ao nome da cidade declarada na $cidade ou resultados com a referencia Total.
      O problema é que está trazendo todos os resultados. Tenho 10 linhas, 1 com o nome da cidade e duas com o valor Total, então o resultado teria que ser de apenas 3 linhas, mas mostra tudo.
       
      $banner = "SELECT A.*, B.* FROM banners A, banners_referencia B WHERE B.cod_referencia = A.cod_referencia AND A.cidade = '$cidade' OR B.referencia = 'Total' ORDER BY RAND()";
      $banner = mysqli_query($conexao, $banner) or die ("Banner não encontrado");
      while($busca= mysqli_fetch_array($banner)){
          print $busca['cidade'].'<br>';
      };
       
      Alguém consegue me ajudar?
    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá.
      Estou atualizando meu conhecimento com Front-End e me deparei com o seguinte problema.
      Criei um sistema para fazer o upload de imagens e alguns campos text.
      Algo bem simples para depois começar a estudar javascript para mostrar a miniatura....
      Mas quando saio do navegador Chrome ou da aba por mais de 3 minutos, ao retornar o navegador as vezes atualiza ou nem chega atualizar mas limpa os campos.
      Estou usando um Smart Motorola com Android, mas um amigo testou no iPhone e acontece a mesma coisa.
      Gostaria de saber se há como usar javascript para evitar isso?
      Agradeço desde já.

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <title>Uploader</title>
      </head>
      <body>
          <form action="?" method="post" enctype="multipart/form-data">
              <br><br>
              <div>selecione a imagem 1</div>
              <input type="file" name="foto1" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem1">
              
              <br><br>
              <input type="file" name="foto2" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem2">
              
              <br><br>

              <input type="file" name="foto3" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem3">
              
              <br><br>
              <input type="submit" value="Enviar">
              <br><br>
          </form>
      <?php
      if ($_SERVER['REQUEST_METHOD'] == 'POST')
      {
          vardump ($_FILES);
      }
      ?>
      </body>
      </html>
       
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
×

Informação importante

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