Ir ao conteúdo
  • Cadastre-se

lucasgs13

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa tarde! Estou fazendo um sistema de cadastro de usuários utilizando PHP e Mysql, para um projeto de conclusão de curso e estou com dificuldades, já pesquisei em vários lugares mas não achei nada. Segue o MER O formulário de cadastro possui apenas os campos nome, ---o, estado e cidade. O código que eu fiz está cadastrando os campos nome e ---o na tabela tb_usuario e as tabelas tb_estados e tb_cidades estão povoadas com todos os estados e cidades do Brasil. Segue o código cadastro.php <!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 de Usuario</title></head><body><?phpini_set( 'display_errors', true );error_reporting( E_ALL );include "classes/Conexao.class.php";include "classes/Usuario.class.php";if (isset($_POST["btnInserir"])){ //echo "Foi clicado no botão inserir" //Instanciando objeto do tipo usuário $u = new Usuario (); $cod_cidade=0; $u -> setId (0); $u -> setNome ($_POST["txtNome"]); $u -> set---o ($_POST["rdb---o"]); //Instanciando um objeto do tipo conexão $c = new Conexao (); //verificando a cidade e o estado para o cod_cidade $comandoSql="select id_cidade from tb_cidades where nome='".$_POST["txtCidade"]."' && uf='".$_POST["txtEstado"]."'"; $cod_cidade=$c -> criarConsulta($comandoSql); $u -> setCidadeEstado ($cod_cidade); //Criando o comando SQL $comandoSql="insert into tb_usuario(nome, ---o, cod_cidade) values('".$u -> getNome()."','".$u -> get---o()."','".$u -> getCidadeEstado()."');"; //Realizando a inclusão $c -> criarConsulta($comandoSql);}?><h2>Cadastrar</h2>Digite os seus dados pessoais abaixo:<br /><br /><form name="form1" id="form1" method="post" action="">Nome: <input type="text" name="txtNome" id="txtNome" required><br /><br />---o: <input type="radio" value="Masculino" name="rdb---o" id="rdb---o_1">Masculino <input type="radio" value="Feminino" name="rdb---o" id="rdb---o_2">Feminino<br /><br />Estado: <input type="text" name="txtEstado"><br /><br />Cidade: <input type="text" name="txtCidade"><br /><br /><input type="submit" value="Cadastrar-se" name="btnInserir"><br /><br /></form></body></html> Segue o código Conexao.class.php <?phpclass Conexao { //atributos privados da classe que terao set e get private $local, $user, $pass, $banco; //atributos publicos da classe que nao precisam de set e get public $con, $result, $comandoSql; //metodo construtor que determina valores para os atributos privados function __construct() { $this->local="localhost"; $this->user="root"; $this->pass=""; $this->banco="bd_sistema"; } //metodos set e get para os atributos privados public function setLocal($novoLocal) { $this->local= $novoLocal; } public function getLocal() { return $this->local; } public function setUser($novoUser) { $this->user= $novoUser; } public function getUser() { return $this->user; } public function setPass($novaPass) { $this->pass= $novaPass; } public function getPass() { return $this->pass; } public function setBanco($novoBanco) { $this->banco= $novoBanco; } public function getBanco() { return $this->banco; } //funcao conectarBd() public function conectarBd() { $this->con=@mysql_pconnect($this->getLocal(), $this->getUser(), $this->getPass()); if(!$this->con) { echo "Problemas ao conectar o banco de dados"; die(); } else { if(!mysql_select_db($this->getBanco(), $this->con)) { echo "Problemas ao selecionar o banco de dados"; die(); } } } //fim da function conectarBd() // funcao criarConsulta() - responsavel por executar um comando sql passado como parametro public function criarConsulta($sql) { $this->conectarBd(); $this->comandoSql=$sql; //$result= mysql_query($comandoSql,$con) if($this->result= mysql_query($this->comandoSql, $this->con)) { return $this-> result; $this->desconectarBd(); } else { echo "Não foi possivel realizar comando sql! Erro: "; die(mysql_error()); $this->desconectarBd(); } } //fim da function criarConsulta() //funcao desconectarBd() - responsavel por finalizar uma conexao public function desconectarBd() { //mysql_close ($con) return mysql_close($this->con); echo "Desconexao ok"; } //fim da function desconectarBd()}?> Segue o codigo Usuario.class.php <!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>Classe Usuario</title></head><body><?php class Usuario { //atributos da classe usuario private $id, $nome, $---o, $cidade_estado; //metodos ou funcoes public function setId($novoId) { $this-> id = $novoId; } public function getId() { return $this-> id; } public function setNome($novoNome) { $this-> nome = $novoNome; } public function getNome() { return $this-> nome; } public function set---o($novo---o) { $this-> ---o = $novo---o; } public function get---o() { return $this-> ---o; } public function setCidadeEstado($novoCidadeEstado) { $this-> cidade_estado = $novoCidadeEstado; } public function getCidadeEstado() { return $this-> cidade_estado; } }//fim da classe Usuario?></body></html> O problema é que eu não estou conseguindo obter o id_cidade para preencher o cod_cidade. Não sei se a lógica está correta, mas na hora de inserir no campo cod_cidade da conflito de chave estrangeira, então a variável cod_cidade não deve estar pegando o id_cidade e é isso que estou tentando fazer. Conto com vocês!

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...