Jump to content
aantunesl

Erro ao gravar no banco de dados

Recommended Posts

Pessoal, estou precisando da ajuda de vocês.
Fiz um cadastro ( form ), e estava gravando Usuario, Senha e Email, porem depois que adicionei novos campos, não esta gravando. Alguem pode da uma olhada no codigo por favor?

<!-- FORM CADASTRO.PHP -->

<html>
<head>
<title> Cadastre-se </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type='text/javascript' src='js/jquery.js'></script>
        <script type='text/javascript' src='js/cep.js'></script>
</head>
<body>
<form method="POST" action="gravar.php">

<!-- login -->
<input type="text" name="login" placeholder="Usario" id="login"><br>
<input type="password" name="senha" placeholder="Senha" id="senha"><br>
<!-- fim login -->

<input type="text" name="email" placeholder="Email" id="email"><br>
<input type="text" name="cel" placeholder="DDD+Celular" id="cel"><br>

<!-- endereco -->
            <input type="text" name="cep" placeholder="CEP so numeros" id="cep" maxlength="8"> <br>          
            <input type="text" name="rua" placeholder="Rua" id="rua">       <br>     
            <input type="text" name="numero" placeholder="Num" id="numero"><br>
            <input type="text" name="complemento" placeholder="Complemento" id="complemento"><br>
            <input type="text" name="bairro" placeholder="Bairro" id="bairro"><br>
            <input type="text" name="cidade" placeholder="Cidade" id="cidade">   <br>         
            <input type="text" name="estado" placeholder="Estado" id="estado"><br>
            <!-- fim do endereco -->
            
            
<input type="submit" value="Cadastrar" id="cadastrar" name="cadastrar">
</form>
</body>
</html>

Agora, vejam o arquivo "gravar.php":

<?php
 
$login = $_POST['login'];
$senha = MD5($_POST['senha']);
$email = $_POST['email'];
$cel = $_POST['cel'];
$rua = $_POST['rua'];
$numero = $_POST['numero'];
$complemento = $_POST['complemento'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$cep = $_POST['cep'];

$connect = mysql_connect('localhost','mydb','123mudar');
$db = mysql_select_db('mydb');
$query_select = "SELECT login FROM usuarios WHERE login = '$login'";
$select = mysql_query($query_select,$connect);
$array = mysql_fetch_array($select);
$logarray = $array['login'];
 
    if($login == "" || $login == null){
        echo"<script language='javascript' type='text/javascript'>alert('O campo login deve ser preenchido');window.location.href='cadastro.php';</script>";
 
        }else{
            if($logarray == $login){
 
                echo"<script language='javascript' type='text/javascript'>alert('Esse login já existe');window.location.href='cadastro.php';</script>";
                die();
 
            }else{
                $query = "INSERT INTO usuarios (login,senha,email,cel,rua,numero,complemento,bairro,cidade,estado,cep) VALUES ('$login','$senha','$email','$cel','$rua','$numero','$complemento','$bairro','$cidade','$estado','$cep')";
                $insert = mysql_query($query,$connect);
                 
                if($insert){
                    echo"<script language='javascript' type='text/javascript'>alert('Cadastrado com sucesso!');window.location.href='login.php'</script>";
                }else{
                    echo"<script language='javascript' type='text/javascript'>alert('Erro!');window.location.href='cadastro.php'</script>";
                }
            }
        }
?>



Share this post


Link to post
Share on other sites

Use o mysql_error e poste o código de erro.

http://php.net/manual/pt_BR/function.mysql-error.php

Nunca usei o mysql_error, poderia me informar onde coloco isso?

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";

mysql_select_db("kossu", $link);
mysql_query("SELECT * FROM nonexistenttable", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
?>

Share this post


Link to post
Share on other sites


if(isset($_POST['btnCadastrar'])){

$login = $_POST['login'];

$senha = MD5($_POST['senha']);

$email = $_POST['email'];

$cel = $_POST['cel'];

$rua = $_POST['rua'];

$numero = $_POST['numero'];

$complemento = $_POST['complemento'];

$bairro = $_POST['bairro'];

$cidade = $_POST['cidade'];

$estado = $_POST['estado'];

$cep = $_POST['cep'];

}

Share this post


Link to post
Share on other sites
if(isset($_POST['btnCadastrar'])){
    $login = $_POST['login'];
    $senha = MD5($_POST['senha']);
    $email = $_POST['email'];
    $cel = $_POST['cel'];
    $rua = $_POST['rua'];
    $numero = $_POST['numero'];
    $complemento = $_POST['complemento'];
    $bairro = $_POST['bairro']; 
    $cidade = $_POST['cidade'];
    $estado = $_POST['estado'];
    $cep = $_POST['cep'];

}

Apareceu a mensagem: "o campo login deve ser preenchido"

Eu preenchi todos os campos rsrs...

Share this post


Link to post
Share on other sites

Segundo erro: Possível, sua tabela, do banco de dados, tem o id, auto increment?

Sim, tem o auto increment.

Veja o SQL:

Create table usuarios (
ID Int UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
login Varchar(12),
senha Varchar(10),
email Varchar(40),
cel Varchar(13),
rua Varchar(70),
numero Varchar(70),
complemento Varchar(70),
bairro Varchar(40),
cidade Varchar(40),
estado Varchar(40),
cep Varchar(70),
nascimento Varchar(10),
cpf Varchar(13),
sexo Varchar(1),
estadocivil Varchar(40),
filhos Varchar(40),
emailface Varchar(40),
senhaface Varchar(40),
emailtwitter Varchar(40),
senhatwitter Varchar(40),
trabalha Varchar(40),
escolaridade Varchar(40),
profissao Varchar(40),
Primary Key (ID)) ENGINE = MyISAM;

Share this post


Link to post
Share on other sites

Sim, tem o auto increment.

Veja o SQL:

Create table usuarios (
ID Int UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
login Varchar(12),
senha Varchar(10),
email Varchar(40),
cel Varchar(13),
rua Varchar(70),
numero Varchar(70),
complemento Varchar(70),
bairro Varchar(40),
cidade Varchar(40),
estado Varchar(40),
cep Varchar(70),
nascimento Varchar(10),
cpf Varchar(13),
sexo Varchar(1),
estadocivil Varchar(40),
filhos Varchar(40),
emailface Varchar(40),
senhaface Varchar(40),
emailtwitter Varchar(40),
senhatwitter Varchar(40),
trabalha Varchar(40),
escolaridade Varchar(40),
profissao Varchar(40),
Primary Key (ID)) ENGINE = MyISAM;

Os campos que você não está inserindo aceitam o valor null?

Share this post


Link to post
Share on other sites
else{
$query = "INSERT INTO usuarios (login,senha,email,cel,rua,numero,complemento,bairro,cidade,estado,cep) VALUES ('$login','$senha','$email','$cel','$rua','$numero','$complemento','$bairro','$cidade','$estado','$cep')";
$insert = mysql_query($query,$connect);

if($insert){
echo"<script language='javascript' type='text/javascript'>alert('Cadastrado com sucesso!');window.location.href='login.php'</script>";
}else{
echo mysql_errno();
//echo"<script language='javascript' type='text/javascript'>alert('Erro!');window.location.href='cadastro.php'</script>";
}

Coloque o mysql_errno(); logo apos query que está falhando.

E deixe comentado a linha de baixo para você consegui visualizar o erro retornado.

Share this post


Link to post
Share on other sites
else{
$query = "INSERT INTO usuarios (login,senha,email,cel,rua,numero,complemento,bairro,cidade,estado,cep) VALUES ('$login','$senha','$email','$cel','$rua','$numero','$complemento','$bairro','$cidade','$estado','$cep')";
$insert = mysql_query($query,$connect);

if($insert){
echo"<script language='javascript' type='text/javascript'>alert('Cadastrado com sucesso!');window.location.href='login.php'</script>";
}else{
echo mysql_errno();
//echo"<script language='javascript' type='text/javascript'>alert('Erro!');window.location.href='cadastro.php'</script>";
}

Coloque o mysql_errno(); logo apos query que está falhando.

E deixe comentado a linha de baixo para você consegui visualizar o erro retornado.

Aqui aponta dois erros:

Linha: 0 do gravar.php

Linha: 15 do gravar.php

Veja o código:

<?php

$login = $_POST['login'];
$senha = MD5($_POST['senha']);
$email = $_POST['email'];
$cel = $_POST['cel'];
$rua = $_POST['rua'];
$numero = $_POST['numero'];
$complemento = $_POST['complemento'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$cep = $_POST['cep'];

$connect = mysql_connect('localhost','mydb','123mudar');
$db = mysql_select_db('mydb');
$query_select = "SELECT login FROM usuarios WHERE login = '$login'";
$select = mysql_query($query_select,$connect);
$array = mysql_fetch_array($select);
$logarray = $array['login'];
 
    if($login == "" || $login == null){
        echo"<script language='javascript' type='text/javascript'>alert('O campo login deve ser preenchido');window.location.href='cadastro.php';</script>";
 
        }else{
            if($logarray == $login){
 
                echo"<script language='javascript' type='text/javascript'>alert('Esse login já existe');window.location.href='cadastro.php';</script>";
                die();
 
            }else{
                $query = "INSERT INTO usuarios (login,senha,email,cel,rua,numero,complemento,bairro,cidade,estado,cep) VALUES ('$login','$senha','$email','$cel','$rua','$numero','$complemento','$bairro','$cidade','$estado','$cep')";
                $insert = mysql_query($query,$connect);
                 
                if($insert){
                    echo"<script language='javascript' type='text/javascript'>alert('Cadastrado com sucesso!');window.location.href='login.php'</script>";
                }else{
                    echo mysql_errno();
                }
            }
        }
?>

Share this post


Link to post
Share on other sites

O mysql_errno() retorna o texto do erro da ultima função MySQL, ou '' (uma string vazia) se não houve erro.

No seu caso oque ele retornou?

Linha: 0 - Retorna o erro: {main}( )

Linha: 15 - Retorna o erro: mysql_connect ( )

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

×

Important Information

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