Ir ao conteúdo
  • Cadastre-se

Problema ao cadastrar


Eder Cuer

Posts recomendados

Olá galera estou com um probleminha no meu sisteminha de cadastro de usuários, olhem o código:

cadastro_usuario.php



<?php
include 'include/conexao.php';

if ( isset ($_GET['excluir']) ) {

$id_pessoa = $_GET['excluir'];
$sql = "DELETE FROM usuario
WHERE cod_user = $id";
mysql_query($sql,$con);

}

if ( isset ($_POST['cadastrar']) ) {
$nome = $_POST['nome'];
$data_nasc = $_POST['data_nasc'];
$sexo = $_POST['sexo'];
$cpf = $_POST['cpf'];
$rg = $_POST['rg'];
$cep = $_POST['cep'];
$endereco = $_POST['endereco'];
$numero = $_POST['numero'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$telefone = $_POST['telefone'];
$celular = $_POST['celular'];
$email = $_POST['email'];
$login = $_POST['login'];
$senha = $_POST['senha'];
$estado = $_POST['cod_estado'];

$sql = "INSERT INTO usuario
(nome, rg, cpf, endereco, telefone, celular, email, sexo, data_nasc, bairro, cep, login, senha, cod_estado)
VALUES ('$nome',$rg,$cpf,'$endereco','$telefone','$celular','$email','$sexo','$data_nasc','$bairro','$cep','$login','$senha', $estado)";

mysql_query($sql,$con);
// echo mysql_error(); ~> para ver erros.
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastro Usuário</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">

$(document).ready(function(){

$("select[name=estado]").change(function(){

$("select[name=cidade]").html('<option value="0">Carregando...</option>');

$.post("cidades.php",
{estado:$(this).val()},
function(valor){

$("select[name=cidade]").html(valor);

}
)

})

})

</script>
<style type="text/css">
<!--
.style2 {font-size: 10px}
-->
</style>
</head>

<body>
<form action="cadastro_usuario.php" method="POST">
<table width="681" border="1">
<tr>
<td colspan="4"><div align="center">Dados Pessoais</div></td>
</tr>
<tr>
<td width="134">Nome:</td>
<td width="223"><label>
<input type="text" name="nome" id="nome" />
</label></td>
<td width="113">Sobrenome:</td>
<td width="183"><label>
<input type="text" name="sobrenome" id="sobrenome" />
</label></td>
</tr>
<tr>
<td>Data de Nascimento:</td>
<td><label>
<input type="text" name="data_nasc" id="data_nasc" />
</label></td>
<td>Sexo:</td>
<td>Masculino
<label>
<input type="radio" name="sexo" id="masc" value="masculino" />
Feminino
<input type="radio" name="sexo" id="fem" value="feminino" />
</label></td>
</tr>
<tr>
<td>CPF:</td>
<td><label>
<input type="text" name="cpf" id="cpf" />
<span class="style2"> *somente números</span></label></td>
<td>RG:</td>
<td><label>
<input type="text" name="rg" id="rg" />
</label></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="4"><div align="center">Informações de Endereço</div></td>
</tr>
<tr>
<td>Cep:</td>
<td><input type="text" name="cep" id="cep" /></td>
<td>Endereço:</td>
<td><input type="text" name="endereco" id="endereco" /></td>
</tr>
<tr>
<td>Estado:</td>
<td><label>
<select name="estado" id="estado">
<option value="0">Escolha um estado</option>
<?php
$sql = mysql_query("SELECT * FROM estado ORDER BY nome ASC");
while($monta = mysql_fetch_assoc($sql)){
echo '<option value=" ' .$monta['cod_estado'].' "> '.$monta['nome'].'</option>';
}
?>
</select>
</label></td>
<td>Cidade:</td>
<td><label>
<select name="cidade" id="cidade">
</select>
</label></td>
</tr>
<tr>
<td>Bairro:</td>
<td><label>
<input type="text" name="bairro" id="bairro" />
</label></td>
<td> </td>
<td><label></label></td>
</tr>
<tr>
<td>Telefone:</td>
<td><label>
<input type="text" name="telefone" id="telefone" />
</label></td>
<td>Celular:</td>
<td><label>
<input type="text" name="celular" id="celular" />
</label></td>
</tr>
<tr>
<td>Email:</td>
<td><label>
<input type="text" name="email" id="email" />
</label></td>
<td> </td>
<td><label></label></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="4"><div align="center">Login</div></td>
</tr>
<tr>
<td>Login:</td>
<td><input type="text" name="login" id="login" /></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Senha:</td>
<td><label>
<input type="text" name="senha" id="senha" />
</label></td>
<td>Confirme a senha:</td>
<td><label>
<input type="text" name="conf_senha" id="conf_senha" />
</label></td>
</tr>
<tr>
<td>Email:</td>
<td><label>
<input type="text" name="email2" id="email2" />
</label></td>
<td>Confirme o email:</td>
<td><label>
<input type="text" name="conf_email" id="conf_email" />
</label></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><label>
<input type="submit" name="cadastrar" id="cadastrar" value="Cadastrar" />
</label></td>
<td><label>
<input type="submit" name="limpar" id="limpar" value="Limpar" />
</label></td>
<td> </td>
<td> </td>
</tr>
</table>
</form>

<?php
$sql = "SELECT cod_user, usuario.nome, rg, cpf, endereco, telefone, celular, email, sexo, data_nasc, bairro, cep, login, senha, cidade.nome
FROM usuario
INNER JOIN cidade ON cidade.cod_cid = usuario.cod_cid
;";
$result = mysql_query($sql, $con);

?>

<table width="1057" border="1">
<tr>
<td width="48">Nome</td>
<td width="34">RG </td>
<td width="39">CPF</td>
<td width="66">Endereço</td>
<td width="59">Telefone</td>
<td width="88">Celular</td>
<td width="93">Email </td>
<td width="49">Sexo</td>
<td width="72">Nascimento</td>
<td width="140">Bairro</td>
<td width="99">Cidade</td>
<td width="99">CEP</td>
<td width="46">Login</td>
<td width="37">Senha</td>
</tr>
<?php
for ( $i = 0 ; $i < mysql_num_rows($result); $i++ ) {
$id = mysql_result($result, $i, 'cod_user');
$nome = mysql_result($result, $i, 'nome');
$rg = mysql_result($result, $i, 'rg');
$cpf = mysql_result($result, $i, 'cpf');
$endereco = mysql_result($result, $i, 'endereco');
$telefone = mysql_result($result, $i, 'telefone');
$celular = mysql_result($result, $i, 'celular');
$email = mysql_result($result, $i, 'email');
$sexo = mysql_result($result, $i, 'sexo');
$data_nasc = mysql_result($result, $i, 'data_nasc');
$bairro = mysql_result($result, $i, 'bairro');
$cidade = mysql_result($result, $i, 'cidade.nome');
$cep = mysql_result($result, $i, 'cep');
$login = mysql_result($result, $i, 'login');
$senha = mysql_result($result, $i, 'senha');
echo '<tr>
<td>'. $nome . '</td>
<td>' . $rg . '</td>
<td>' . $cpf . '</td>
<td>' . $endereco . '</td>
<td>' . $telefone . '</td>
<td>' . $celular . '</td>
<td>' . $email . '</td>
<td>' . $sexo . '</td>
<td>' . $data_nasc . '</td>
<td>' . $bairro . '</td>
<td>' . htmlentities($cidade) . '</td>
<td>' . $cep . '</td>
<td>' . $login . '</td>
<td>' . $senha . '</td>
<td><button onclick="verifica('.$id.');">Excluir</button></td>
</tr>';

}
?>
</table>
<script type="text/javascript">
function verifica(id) {

if ( confirm ("Deseja mesmo excluir ?") ) {
window.location = '?excluir=' + id;
return;
}
else {

return false;
}

}
</script>
</body>
</html>

conexao.php



<?php

$con = mysql_connect('localhost','root','') or die( mysql_error() );

$bd = mysql_select_db('freta_db',$con) or die( mysql_error() );



?>

cidades.php



<?php

include 'include/conexao.php';

$estado = $_POST['estado'];

$sql = "SELECT * FROM cidade WHERE cod_estado = '$estado' ORDER BY nome ASC";
$qr = mysql_query($sql) or die(mysql_error());

if(mysql_num_rows($qr) == 0){
echo '<option value="0">'.htmlentities('Sem cadastros no momento').'</option>';

}else{
while($ln = mysql_fetch_assoc($qr)){
echo '<option value="0">Escolha a cidade</option>';
echo '<option value=">'.$ln['id'].'">'.htmlentities($ln['nome']).'</option>';
}
}

?>

Não da nenhum erro, ele simplesmente não cadastra, e não exclui o usuário.

Tentei muitas coisas mas não consegui resolver, se alguém puder me ajudar eu agradeço.

Link para o comentário
Compartilhar em outros sites

  • Moderador

certamente.

<input type="submit" name="cadastrar" id="cadastrar" value="Cadastrar" />

quando se usa submit nao precisa de name para enviar via "post", porque o submit é o botao que executa o action do formulario.

sugiro que você deixe seu formulario em um arquivo e crie um outro arquivo pra recuperar os dados enviados.

tipo assim:

formulario.php


<form action="recebeDados.php" method="post">

campos...

<input type="submit" value="cadastrar"/>
</form>

recebeDados.php


<?php
$nome = $_POST["nome"];
....


$insere = "insert into....";

?>

Link para o comentário
Compartilhar em outros sites

Também não funcionou, ficou assim


<form action="cadastro_user.php" method="POST">

cadastro_user.php:


<?php
if ( isset ($_POST['cadastrar']) ) {
$nome = mysql_real_escape_string($_POST['nome']);
$data_nasc = mysql_real_escape_string($_POST['data_nasc']);
$sexo = mysql_real_escape_string($_POST['sexo']);
$cpf = mysql_real_escape_string($_POST['cpf']);
$rg = mysql_real_escape_string($_POST['rg']);
$cep = mysql_real_escape_string($_POST['cpf']);
$endereco = mysql_real_escape_string($_POST['endereco']);
$numero = mysql_real_escape_string($_POST['numero']);
$bairro = mysql_real_escape_string($_POST['bairro']);
$cidade = mysql_real_escape_string($_POST['cidade']);
$telefone = mysql_real_escape_string($_POST['telefone']);
$celular = mysql_real_escape_string($_POST['celular']);
$email = mysql_real_escape_string($_POST['email']);
$login = mysql_real_escape_string($_POST['login']);
$senha = mysql_real_escape_string($_POST['senha']);
$estado = mysql_real_escape_string($_POST['estado']);

$sql = "INSERT INTO usuario
(`nome`, `rg`, `cpf`, `endereco`, `telefone`, `celular`, `email`, `sexo`, `data_nasc`, `bairro`, `cep`, `login`, `senha`, `cod_estado`)
VALUES ('$nome','$rg','$cpf','$endereco','$telefone','$celular','$email','$sexo','$data_nasc','$bairro','$cep','$login','$senha', '$estado');";

mysql_query($sql,$con);
// echo mysql_error(); ~> para ver erros.
}
?>

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Você não está conectando com o banco, se o seu código for só isso ai.

O arquivo cadastro_user.php precisa conectar com o banco!

Em todo caso, experimente fazer ao invés de duas linhas separadas, isso:

mysql_query($sql) or die(mysql_error());

E nos mostre se retornou algum erro. Se não retornou, debugue a condição lógica (o IF) para verificar se está entrando ali mesmo. Em ultimo caso, debugue o POST enviado utilizando alguma ferramenta como HTTP Watch Professional (IE) e/ou Firebug (Firefox).

Link para o comentário
Compartilhar em outros sites

Eae galera, desculpa demorar para postar... eu consegui resolver meu problema, vou mostrar onde estava o erro.

Em uma parte do javascript estava assim:


$("select[name=cidade]").html(valor);

Então troquei o name para cod_cid:


$("select[name=cod_cid]").html(valor);

Nos atributos da tag html também troquei o nome para cod_cid, assim:


<select name="cod_cid" id="cod_cid">
<option value="0">Escolha a cidade</option>
</select>

E percebi que na hora de receber os valores eu estava usando uma variavel $cidade a mais, então tirei uma e ficou assim:


if($_SERVER['REQUEST_METHOD']=="POST") {
$nome = mysql_real_escape_string($_POST['nome']);
$sobrenome = mysql_real_escape_string($_POST['sobrenome']);
$data_nasc = mysql_real_escape_string($_POST['data_nasc']);
$sexo = mysql_real_escape_string($_POST['sexo']);
$cpf = mysql_real_escape_string($_POST['cpf']);
$rg = mysql_real_escape_string($_POST['rg']);
$cep = mysql_real_escape_string($_POST['cpf']);
$endereco = mysql_real_escape_string($_POST['endereco']);
$bairro = mysql_real_escape_string($_POST['bairro']);
$telefone = mysql_real_escape_string($_POST['telefone']);
$celular = mysql_real_escape_string($_POST['celular']);
$email = mysql_real_escape_string($_POST['email']);
$login = mysql_real_escape_string($_POST['login']);
$senha = mysql_real_escape_string($_POST['senha']);
$cid = mysql_real_escape_string($_POST['cod_cid']);

E lembrando também que só funciona com o


$_SERVER['REQUEST_METHOD']=="POST"

com isset também não cadastra...

Então é isso galera, valeu mesmo pela ajuda. Qualquer coisa me manda uma pm :D

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!