Jump to content

Camilavip

Members
  • Content count

    58
  • Joined

  • Last visited

Community Reputation

0 Comum

1 Follower

About Camilavip

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Camilavip

    Preencher combo box em três níveis

    Peguei um em um site internacional e fiz várias mudanças, mas ele está trazendo o resultado 0 e não o nome das cidades e bairros. praticamente funciona tudo. Quando seleciono o estado ele traz um 0, visto que tenho duas cidades somente, ele não traz o nome da cidade. Se seleciono o 0 referente a Belo Horizonte, ele me diz que não tem bairros, porque não tem mesmo nessa tabela que tenho, se seleciono Rio de Janeiro que também aparece 0 e que tem dois bairros, ele traz dois 0 Deixando tudo aqui completo, que é o arquivo index.php, o ajaxdata.php, as tabelas do banco e o arquivo de conexão, porém como referi acima, ele está funcionando, porém só não traz os nomes das cidades ou dos bairros, e sim o 0, então é um detalhe que não estou acertando para ao invés do 0 vir os nomes Não sei onde estou errando. No index.php <!DOCTYPE html> <html lang="en"> <head> <title>Dynamic Dependent Select Box using jQuery, Ajax and PHP</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script> </head> <body> <?php include_once 'config.php'; $query = "SELECT * FROM estados Order by estado"; $result = $db->query($query); ?> <div class="container"> <div class="row"> <div class="col-md-4 col-md-offset-4"> <form> <div class="form-group"> <label for="email">Estado</label> <select name="id_estado" id="id_estado" class="form-control" onchange="FetchCidade(this.value)" required> <option value="">Selecione o Estado</option> <?php if ($result->num_rows > 0 ) { while ($row = $result->fetch_assoc()) { echo '<option value='.$row['id_estado'].'>'.$row['estado'].'</option>'; } } ?> </select> </div> <div class="form-group"> <label for="pwd">Cidade</label> <select name="id_cidade" id="id_cidade" class="form-control" onchange="FetchBairro(this.value)" required> <option>Selecione a Cidade</option> </select> </div> <div class="form-group"> <label for="pwd">Bairro</label> <select name="id_bairro" id="id_bairro" class="form-control"> <option>Selecione o Bairro</option> </select> </div> </form> </div> </div> </div> <script type="text/javascript"> function FetchCidade(id){ $('#id_cidade').html(''); $('#id_bairro').html('<option>Selecione o bairro</option>'); $.ajax({ type:'post', url: 'ajaxdata.php', data : { id_estado : id}, success : function(data){ $('#id_cidade').html(data); } }) } function FetchBairro(id){ $('#id_bairro').html(''); $.ajax({ type:'post', url: 'ajaxdata.php', data : { id_cidade : id}, success : function(data){ $('#id_bairro').html(data); } }) } </script> </body> </html> ajaxdat.php <?php include_once 'config.php'; if (isset($_POST['id_estado'])) { $query = "SELECT * FROM cidades where id_estado=".$_POST['id_estado']; $result = $db->query($query); if ($result->num_rows > 0 ) { echo '<option value="">Selecione a cidade</option>'; while ($row = $result->fetch_assoc()) { echo '<option value='.$row['id_cidade'].'>'.$row['cidade'].'</option>'; } }else{ echo '<option>Cidade não encontrada</option>'; } }elseif (isset($_POST['id_cidade'])) { $query = "SELECT * FROM bairros where id_cidade=".$_POST['id_cidade']; $result = $db->query($query); if ($result->num_rows > 0 ) { echo '<option value="">Selecione o Bairro</option>'; while ($row = $result->fetch_assoc()) { echo '<option value='.$row['id_bairro'].'>'.$row['bairro'].'</option>'; } }else{ echo '<option>Bairro não encontrado</option>'; } } As tabelas -- -------------------------------------------------------- -- -- Table structure for table `bairros` -- CREATE TABLE `bairros` ( `id_bairro` int(11) NOT NULL, `id_cidade` varchar(155) NOT NULL, `bairro` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `bairros` -- INSERT INTO `bairros` (`id_bairro`, `id_cidade`, `bairro`) VALUES (1, 1, 'Centro'), (2, 1, 'Copacabana'); -- -------------------------------------------------------- -- -- Table structure for table `estados` -- CREATE TABLE `estados` ( `id_estado` int(11) NOT NULL, `estado` varchar(155) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `estados` -- INSERT INTO `estados` (`id_estado`, `estado`) VALUES (1, 'Rio de Janeiro'), (2, 'Minas Gerais'); -- -------------------------------------------------------- -- -- Table structure for table `cidades` -- CREATE TABLE `cidades` ( `id_cidade` int(11) NOT NULL, `id_estado` varchar(155) NOT NULL, `cidade` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `cidades` -- INSERT INTO `cidades` (`id_cidade`, `id_estado`, `cidade`) VALUES (1, 1, 'Rio de Janeiro'), (2, 2, 'Belo Horizonte'); -- -------------------------------------------------------- E o arquivo de conexao apenas para deixar tudo aqui <?php $host = 'localhost'; $username = 'usuario'; $pass = 'senha'; $db = 'banco'; $db = new mysqli($host,$username,$pass,$db); if ($db->connect_error) { die("Connection Failed". $db->connect_error); } ?>
  2. Camilavip

    Preencher combo box em três níveis

    Omar, você ainda não entendeu, eu não preciso catalogar os dados, eles vem do banco de dados, eu que cadastro, então não há necessidade de ter tudo, só vai ter o que eu cadastrar. O problema seria em como fazer esse select em 3 níveis, em que quando eu seleciono um ele puxa os outros que estão atrelados ao primeiro.
  3. Camilavip

    Preencher combo box em três níveis

    Com estados e cidades eu consigo, pois já tenho um que peguei na internet e adaptei. Mas no caso como mostrei acima não é ter um que já tenha, como visto nas tabelas no banco de dados, tantos os estados, cidades e bairros são cadastrados, e não precisando que já venham todos do Brasil
  4. Camilavip

    Preencher combo box em três níveis

    Queria saber como fazer esse select e quando eu trazer um estado ele já puxa as cidades contidos nele, e ao escolher a cidade ele trazer os bairros. Consegui pela internet mas só com estados e cidades. no caso em 2 níveis, e eu precisaria em 3, faço pelo mysqli Em estados no banco está assim CREATE TABLE `estados` ( `id_estado` int(10) NOT NULL, `estado` varchar(30) NOT NULL ) ENGINE=Aria DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `estados` -- INSERT INTO `estados` (`id_estado`, `estado`) VALUES (1, 'Rio de Janeiro'), (2, 'Minas Gerais'); Cidades CREATE TABLE `cidades` ( `id_cidade` int(10) NOT NULL, `id_estado` int(10) NOT NULL, `cidade` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `cidades` -- INSERT INTO `cidades` (`id_cidade`, `id_estado`, `cidade`) VALUES (1, 1, 'Rio de Janeiro'), (2, 2, 'Belo Horizonte'); E bairros CREATE TABLE `bairros` ( `id_bairro` int(10) NOT NULL, `id_cidade` int(10) NOT NULL, `bairro` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `bairros` -- INSERT INTO `bairros` (`id_bairro`, `id_cidade`, `bairro`) VALUES (1, 1, 'Centro'), (2, 1, 'Tijuca'), (3, 1, 'Leblon'), (4, 2, 'Pampulha');
  5. Camilavip

    Alteração não está permitindo campo vazio

    Não funcionou, creio que aqui abaixo é que esse código define se o campo pode ser vazio ou não if (!empty($_POST['ativo'])) { $campos[] = sprintf("ativo= '%s'", $_POST['ativo']); }
  6. Oi, estou em um formulário de alteração, e quando vou deixar um campo vazio ou com valor 0, ele não faz a alteração. } else { if (isset($_POST['Alterar']) && $_POST['Alterar'] == "ok") { $campos = array(); if (!empty($_POST['login'])) { $campos[] = sprintf("login= '%s'", $_POST['login']); } if (!empty($_POST['senha'])) { $campos[] = sprintf("senha= '%s'", sha1($_POST['senha'])); } if (!empty($_POST['ativo'])) { $campos[] = sprintf("ativo= '%s'", $_POST['ativo']); } if (!empty($_POST['id'])): $sql = "UPDATE clientes SET ".implode(', ', $campos)." WHERE id_cliente = ".$_POST['id']; $query = $sqli->query($sql); else: return false; endif; echo "<script> alert('Edição efetuada com sucesso! Clique em OK');</script>"; } ?> Se eu deixar um campo vazio como login ou senha ele não faz o update neste campo, ou no ativo que é 0 ou 1, se eu trocar o 0 por um valor 2 ele aceita, mas não o valor 0 Obs: Espero que algumas pessoas não se importe de eu perguntar no fórum, eu até consegui outra forma de fazer o update, porém queria saber porque nesse caso não consigo. Estou aprendendo. No caso acima creio que o código não esteja permitindo isso, e queria saber o porque.
  7. Camilavip

    order by não estou conseguindo

    Obrigado mais uma vez
  8. Camilavip

    order by não estou conseguindo

    Um probleminha, estou tentando setar um order by limitado a um registro, e sendo o último, mas precisamente não consigo o resultado que quero. "SELECT * FROM clientes ORDER BY id_cliente DESC LIMIT 1"; Dessa forma eu consigo sempre trazer o último cliente cadastrado, mas eu tentei trazer o último cliente ativo ou mesmo se não tivesse algum inativo que ele não mostrasse nada "SELECT * FROM clientes ORDER BY ativo = 0 DESC LIMIT 1"; "SELECT * FROM clientes ORDER BY ativo= 0 DESC LIMIT 1"; "SELECT * FROM clientes ORDER BY ativo=0 DESC LIMIT 1"; "SELECT * FROM clientes ORDER BY ativo = '0' DESC LIMIT 1"; Tentei todos os exemplos, então se todos os clientes tivessem ativos com resultado 1 ele não me retornaria nada, mas ele me retorna sempre o primeiro cadastro na ordem por id. Algo errado
  9. Dessa vez venho perguntar por curiosidade mesmo, aprender. Me passou uma dúvida, se eu tiver digitando uma senha ela aparece para mim ****** no exemplo que eu tinha uma senha 123456 Mas se eu por exemplo ver o código fonte da página, a senha simplesmente é revelada. no input password 123456. Sei que é coisa louca, mas me pintou uma dúvida só. De uma pessoa está digitando um login e senha e sair do local, alguém querendo somente ver a senha da pessoa entra no código fonte rapidamente da página e pega a senha da pessoa para até usar posteriormente. São coisas difíceis de acontecer, mas sei que tem casos assim, e fiquei pensando, não existe jeito de ocultar uma senha mesmo se a pessoa exibir o código fonte da página? Isso de script para bloquear botão direito é coisa do passado e sei disso, o que pergunto seria uma forma de ocultar mesmo que a pessoa visse pelo código fonte.
  10. Camilavip

    Ativação por password_hash

    Dessa forma não adiantou
  11. Camilavip

    Ativação por password_hash

    Boa noite, fiz uma ativação no cadastro de clientes, pelo md5 funciona perfeitamente, e pelo password_hash até certo ponto. O link para criptografar e gerar um link pelo md5 $md5 = md5($id_cliente); E para ele concluir. $pdo->query("UPDATE clientes SET ativo_usuario='1' WHERE MD5(id_cliente) = '$h'"); Já no password_hash a primeira parte acertei $hash = password_hash($id_cliente, PASSWORD_DEFAULT); Mas o link não faz a a ativação $pdo->query("UPDATE clientes SET ativo_usuario='1' WHERE password_hash(id_cliente) = '$h'"); $pdo->query("UPDATE clientes SET ativo_usuario='1' WHERE hash(id_cliente) = '$h'"); Ou na verdade é algo que não sei inserir ali.
  12. Camilavip

    Fazer verificação de um formulário sem refresh

    Vou ver Omar, eu tenho outra forma de verificar se existe sem refresh, porém ele só verifica e não impede o cadastro, a forma que está impede o cadastro se houver um login ou email parecido, mas se tiver outros dados como endereço e outras coisas, no fim se ele verifica e ve que tem um login e email iguais ele faz o refresh e avisa, porém apaga todos os campos preenchidos. Tendo de refazer o cadastro novamente
  13. Boa noite, Alguém tem uma solução para um formulário na dar refresh antes de fazer uma consulta? No formulário que tenho ele verifica se no banco de dados já existe um login ou email , assim não cadastro duplicado um cliente, mas ele da um refresh quando insiro os dados e clico no botão de cadastrar, se estiver ok ele cadastra, se ele verificar um login ou email iguais no banco de dados ele volta a página avisando, mas acaba que assim ele apaga todos os dados inseridos, e tenho de digitar tudo novamente, queria que ele fizesse a consulta sem dar o refresh. <?php session_start(); ob_start(); $btnCadUsuario = filter_input(INPUT_POST, 'btnCadUsuario', FILTER_SANITIZE_STRING); if($btnCadUsuario){ include_once 'conexao.php'; $dados_rc = filter_input_array(INPUT_POST, FILTER_DEFAULT); $erro = false; $dados_st = array_map('strip_tags', $dados_rc); $dados = array_map('trim', $dados_st); if(in_array('',$dados)){ $erro = true; $_SESSION['msg'] = "Necessário preencher todos os campos"; }elseif((strlen($dados['senha'])) < 6){ $erro = true; $_SESSION['msg'] = "A senha deve ter no minímo 6 caracteres"; }elseif(stristr($dados['senha'], "'")) { $erro = true; $_SESSION['msg'] = "Caracter ( ' ) utilizado na senha é inválido"; }else{ $result_usuario = "SELECT id_cliente FROM clientes WHERE login='". $dados['login'] ."'"; $resultado_usuario = mysqli_query($conn, $result_usuario); if(($resultado_usuario) AND ($resultado_usuario->num_rows != 0)){ $erro = true; $_SESSION['msg'] = "Este login já está sendo utilizado"; } $result_usuario = "SELECT id_cliente FROM clientes WHERE email='". $dados['email'] ."'"; $resultado_usuario = mysqli_query($conn, $result_usuario); if(($resultado_usuario) AND ($resultado_usuario->num_rows != 0)){ $erro = true; $_SESSION['msg'] = "Este e-mail já está cadastrado"; } } //var_dump($dados); if(!$erro){ //var_dump($dados); $dados['senha'] = sha1($dados['senha']); $result_usuario = "INSERT INTO clientes (nome, email, login, senha) VALUES ( '" .$dados['nome']. "', '" .$dados['email']. "', '" .$dados['login']. "', '" .$dados['senha']. "' )"; $resultado_usario = mysqli_query($conn, $result_usuario); if(mysqli_insert_id($conn)){ $_SESSION['msgcad'] = "cliente cadastrada com sucesso"; header("Location: principal.php"); }else{ $_SESSION['msg'] = "Erro ao cadastrar o usuário"; } } } ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Cadastro de clientes</title> <link href="bootstrap/bootstrap.min.css" rel="stylesheet"> <script src="bootstrap/bootstrap.min.js"></script> </head> <body> <div class="container"> <h2>Cadastrar Usuário</h2> <?php if(isset($_SESSION['msg'])){ echo $_SESSION['msg']; unset($_SESSION['msg']); } ?> <form method="POST" action=""> <input type="text" name="nome" id="nome" class="form-control"><br> <input type="email" name="email" class="form-control"><br><br> <input type="text" name="login" class="form-control"><br><br> <input type="password" name="senha" id="senha" class="form-control"><br <center><input type="submit" name="btnCadUsuario" value="Cadastrar" class="btn btn-success" ></center><br><br> </form> </div> </div> </body> </html>
  14. Camilavip

    Gravando senha criptografada

    Obrigado pela força, não sou programadora, apenas tento aprender um pouco para melhorar o que tenho. Mas muitas pessoas acham que qualquer um que entra no fórum tem de ser programador ou dominar essa função. Pedir ajuda passa a ser um crime por alguns, e quem ajuda parece que deve ser condenado por isso. Obrigada por ajudar e não ficar questionando como muitos.
  15. Camilavip

    Gravando senha criptografada

    Já te respondi em outro fórum. Acho que você está incomodado com as pessoas que tem capacidade de ajudar outras. Creio não ser nada ético postar algo desse tipo sem conhecer as pessoas.
×

Important Information

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