Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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><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>";
}
}
}
?>tente usar a extensão mysqli
Primeiro erro: Use isset($_POST['btn']);
>
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";
?>Primeiro erro: Use isset($_POST['btn']);
Em qual linha insiro este codigo?
Qual a versão do seu PHP?
Qual a versão do seu PHP?
PHP 5.6.25
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'];
}Segundo erro: Possível, sua tabela, do banco de dados, tem o id, auto increment?
>
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...
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;
>
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?
Mas, no caso, tem que colocar o nome do seu botão né
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>";echo mysql_errno();
//echo"<script language='javascript' type='text/javascript'>alert('Erro!');window.location.href='cadastro.php'</script>";
}E deixe comentado a linha de baixo para você consegui visualizar o erro retornado.
Os campos que você não está inserindo aceitam o valor null?
Sim
>
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>";echo mysql_errno();
//echo"<script language='javascript' type='text/javascript'>alert('Erro!');window.location.href='cadastro.php'</script>";
}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();
}
}
}
?>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?
>
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 ( )
Alguem me ajuda, please!!
>
Linha: 0 - Retorna o erro: {main}( )
Linha: 15 - Retorna o erro: mysql_connect ( )
Mas qual é a descrição total do erro 15
Mas qual é a descrição total do erro 15
Não diz mais nada, só isso.
Linha: 0 - Função: {main}( )
Linha: 15 - Função: mysql_connect ( )
Use o mysql_error e poste o código de erro.
http://php.net/manual/pt_BR/function.mysql-error.php