Ir ao conteúdo

Felipe Paz

Membro Pleno
  • Posts

    204
  • Cadastrado em

  • Última visita

Tudo que Felipe Paz postou

  1. Olha, hoje programo em php, claro que há algumas coisas que ainda não sei mas aprendi tudo e totalmente online. Se há a possibilidade de fazer presencial algum curso, faça porque ae tu já sana todas as tuas dúvidas na hora, contudo, há muitos sites e play lists no youtube que ensinam do básico ao avançado. Se quiser posso te passar alguns sites e canais que acompanho e que nunca me deixaram na mão tanto gratuitos quanto pagos.
  2. Geralmente, para evitar isso, eu costumo acrescentar um utf8_decode($variavel) para inserir no banco de dados e depois, quando faço a solicitação, utilizo um utf8_encode($variavel) para trazer a formatação correta. Já tive problemas também de estar tudo "corretamente" definido e mesmo assim não ter a formatação correta. Então, mesmo tendo definido tudo como utf8, ainda acrescento mais essas funções para certificar de que a formatação estará correta tanto no banco de dados quanto na própria página.
  3. @DiF Exatamente isso. Eu só não sei converter esse valor recebido para date e então salvar no banco de dados.
  4. @DiF Não postei o código porque não tenho código. E sim, eu sei que o mask é apenas formatação do campo. Mas a dúvida é como pegar a string do input data e transformar em date no php. Esse é meu grande dilema agora. .. ^^
  5. E aí gurizada, beleza? É o seguinte, tentei de todas as maneiras criar um método num datepicker do materialize e não consegui. Inclusive, tarefa esta que o @DiF tentou ajudar mas alguma coisa fiz errado. Partindo para outro lado, deixando o campo mais "cru", formatei ele utilizando o maskedInput para, quando o usuário digitar a data, a mesma já aparece formatada como 00/00/0000. Mas a dúvida é: como pegar este valor do input e transformar em date no php? Já tentei date_create, new DateTime, strtotime e nada de conseguir pegar a data do input, converter em date e jogar para o banco de dados.
  6. Declarou o charset utf 8 no head da página? Posta o comentário, é sempre válido ver o código para poder identificar o que se passa.
  7. Lá vai <form action="" method="post" id="form-cad-vaga" name="form-cad-vaga"> <span class="col s12 red lighten-4 red-text text-darken-2 center" id="input-obrigatori-curriculos">Todos os compos com " * " são de preenchimento obrigatório.<br> Sua vaga será analisada pela administração e será publicada tão logo que possível.</span><br> <!-- Dados Gerais --> <span class="blue-text">Dados Gerais</span> <div class="row"> <div class="input-field col s12 m4 l4"> <input type="text" name="empresa" id="empresa" class="validate" required=""> <label for="empresa">Empresa*</label> </div> <div class="input-field col s12 m4 l4"> <input type="text" name="sup_imediato" id="sup_imediato" class="validate" required=""> <label for="sup_imediato">Superior Imediato*</label> </div> </div> <div class="row margin-top-input-curriculo"> <div class="input-field col s12 m4 l4"> <input type="text" name="telefone" id="telefone" class="validate" required=""> <label for="telefone">Telefone*</label> </div> <div class="input-field col s12 m4 l4"> <input type="email" name="email" id="email" class="validate" required=""> <label for="email">E-mail*</label> </div> </div> <div class="row margin-top-input-curriculo"> <div class="input-field col s12 m4 l4"> <input type="text" name="titulo" id="titulo" class="validate" required=""> <label for="titulo">Vaga*</label> </div> <div class="input-field col s12 m4 l4"> <input type="text" name="cargo" id="cargo" class="validate" required=""> <label for="cargo">Cargo*</label> </div> </div> <div class="row margin-top-input-curriculo"> <div class="input-field col s12 m4 l4"> <input type="date" name="expira" id="expira" class="datepicker" required=""> <label for="expira">Data de expiração</label> </div> <div class="input-field col s12 m4 l4"> <input type="text" name="remuneracao" id="remuneracao" class="validate" required=""> <label for="remuneracao">Remuneração*</label> </div> </div> <div class="row margin-top-input-curriculo"> <div class="input-field col s12 m8 l8"> <textarea name="descricao" id="descricao" cols="30" rows="10" class="materialize-textarea"></textarea> <label for="descricao">Descrição*</label> </div> </div> <div class="row margin-top-input-curriculo"> <div class="input-field col s12 m4 l4"> <input type="text" name="requisitos" id="requisitos" class="validate"> <label for="requisitos">Requisitos</label> </div> <div class="input-field col s12 m4 l4"> <input type="text" name="quantidade" id="quantidade" class="validate" required=""> <label for="quantidade">Quantidade*</label> </div> </div> <div class="row margin-top-input-curriculo"> <div class="input-field col s12 m4 l4"> <select name="sexo" id="sexo"> <option selected></option> <option value="a">Ambos</option> <option value="m">Masculino</option> <option value="f">Feminino</option> </select> <label for="">Sexo*</label> </div> <div class="input-field col s12 m4 l4"> <input type="text" name="idade" id="idade" class="validate"> <label for="idade">Idade</label> </div> </div> <div class="row margin-top-input-curriculo"> <div class="input-field col s12 m4 l4"> <select name="escolaridade" id="escolaridade"> <option selected></option> <option value="Ensino Superior">Ensino Superior</option> <option value="Ensino Médio">Ensino Médio</option> <option value="Ensino Fundamental">Ensino Fundamental</option> </select> <label>Escolaridade*</label> </div> <div class="input-field col s12 m4 l4"> <input type="text" name="curso" id="curso" class="validate"> <label for="curso">Curso</label> </div> </div> <div class="row margin-top-input-curriculo"> <div class="input-field col s12 m8 l8"> <input type="text" name="endereco" id="endereco" class="validate" required=""> <label for="endereco">Endereço*</label> </div> <div class="input-field col s2 m2 l2"> <input type="text" name="num_endereco" id="num_endereco" class="validate" required=""> <label for="num_endereco">Número*</label> </div> </div> <div class="row margin-top-input-curriculo"> <div class="input-field col s12 m4 l4"> <input type="text" name="bairro" id="bairro" class="validate" required=""> <label for="bairro">Bairro*</label> </div> <div class="input-field col s12 m4 l4"> <input type="text" name="cidade" id="cidade" class="validate" required=""> <label for="cidade">Cidade*</label> </div> </div> <div class="row"> <div class="col s4"> <button type="submit" name="btnCadVaga" id="btnCadVaga" class="btn waves waves-effect blue " style="margin-left: 10px;">Cadastrar<i class="material-icons right">send</i> </button> </div> </div> <!-- Fim dados Gerais --> </form> $(document).ready(function(){ $("#btnCadVaga").on("click", function(e){ e.preventDefault(); var empresa = $("#empresa").val(); var sup_imediato = $("#sup_imediato").val(); var telefone = $("#telefone").val(); var email = $("#email").val(); var titulo = $("#titulo").val(); var cargo = $("#cargo").val(); var expira = $("#expira").val(); var remuneracao = $("#remuneracao").val(); var descricao = $("#descricao").val(); var quantidade = $("#quantidade").val(); var sexo = $("#sexo").val(); var idade = $("#idade").val(); var requisitos = $("#requisitos").val(); var escolaridade = $("#escolaridade").val(); var curso = $("#curso").val(); var endereco = $("#endereco").val(); var num_endereco = $("#num_endereco").val(); var bairro = $("#bairro").val(); var cidade = $("#cidade").val(); if ( empresa == "" || sup_imediato == "" || telefone == "" || email == "" || titulo == "" || cargo == "" || remuneracao == "" || descricao == "" || quantidade == "" || sexo == "" || idade == "" || escolaridade == "" || endereco == "" || bairro == "" || cidade == "" ) { alert("Todos os campos com * são obrigatórios!"); } else { if(curso == "") { curso = escolaridade; } $.ajax({ url: "controles/cad_vaga.php", method: "post", dataType: "html", data: { empresa: empresa, sup_imediato: sup_imediato, telefone: telefone, email: email, titulo: titulo, cargo: cargo, expira: expira, remuneracao: remuneracao, descricao: descricao, quantidade: quantidade, sexo: sexo, idade: idade, requisitos: requisitos, escolaridade: escolaridade, curso: curso, endereco: endereco, num_endereco: num_endereco, bairro: bairro, cidade: cidade } }).done(function(retorno){ if(retorno == "1") { alert("Vaga cadastrada com sucesso!"); var empresa = $("#empresa").val(""); var sup_imediato = $("#sup_imediato").val(""); var telefone = $("#telefone").val(""); var email = $("#email").val(""); var titulo = $("#titulo").val(""); var cargo = $("#cargo").val(""); var remuneracao = $("#remuneracao").val(""); var descricao = $("#descricao").val(""); var quantidade = $("#quantidade").val(""); var sexo = $("#sexo").val(""); var idade = $("#idade").val(""); var requisitos = $("#requisitos").val(""); var escolaridade = $("#escolaridade").val(""); var curso = $("#curso").val(""); var endereco = $("#endereco").val(""); var num_endereco = $("#num_endereco").val(""); var bairro = $("#bairro").val(""); var cidade = $("#cidade").val(""); location.reload(); } else { alert(retorno); } }); } }); }); <?php include "../dao/conection.php"; $empresa = utf8_decode(htmlspecialchars(addslashes(trim($_POST['empresa'])))); $sup_imediato = utf8_decode(htmlspecialchars(addslashes(trim($_POST['sup_imediato'])))); $telefone = htmlspecialchars(addslashes(trim($_POST['telefone']))); $email = htmlspecialchars(addslashes(trim($_POST['email']))); $titulo = utf8_decode(htmlspecialchars(addslashes(trim($_POST['titulo'])))); $url = str_replace(" ", "+", $titulo); $cargo = utf8_decode(htmlspecialchars(addslashes(trim($_POST['cargo'])))); $expira = date_create($_POST['expira']); $expira = date_format($expira, "Y-m-d"); $remuneracao = htmlspecialchars(addslashes(trim($_POST['remuneracao']))); $descricao = utf8_decode(htmlspecialchars(addslashes(trim($_POST['descricao'])))); $quantidade = htmlspecialchars(addslashes(trim($_POST['quantidade']))); $sexo = htmlspecialchars(addslashes(trim($_POST['sexo']))); $idade = htmlspecialchars(addslashes(trim($_POST['idade']))); $requisitos = utf8_decode(htmlspecialchars(addslashes(trim($_POST['requisitos'])))); $escolaridade = utf8_decode(htmlspecialchars(addslashes(trim($_POST['escolaridade'])))); $curso = utf8_decode(htmlspecialchars(addslashes(trim($_POST['curso'])))); $endereco = htmlspecialchars(addslashes(trim($_POST['endereco']))); $num_endereco = htmlspecialchars(addslashes(trim($_POST['num_endereco']))); $bairro = utf8_decode(htmlspecialchars(addslashes(trim($_POST['bairro'])))); $cidade = utf8_decode(htmlspecialchars(addslashes(trim($_POST['cidade'])))); $estatus = "inativa"; $visualizada = "nao"; $sql = "INSERT INTO vaga (empresa, sup_imediato, telefone, email, titulo, url, cargo, remuneracao, descricao, quantidade, sexo, idade, requisitos, escolaridade, curso, endereco, num_endereco, bairro, cidade, estatus, visualizada) VALUES('$empresa', '$sup_imediato', '$telefone', '$email', '$titulo', '$url', '$cargo', '$remuneracao', '$descricao', '$quantidade', '$sexo', '$idade', '$requisitos', '$escolaridade', '$curso', '$endereco', '$num_endereco', '$bairro', '$cidade', '$estatus', '$visualizada')"; $query = mysqli_query($mysqli, $sql); if($query) { echo "1"; } else { echo "Falha na inclusão da vaga!"; } $mysqli->close(); ?>
  8. Ah, não me expliquei direito. Eu pego o input do date -> $("#expira").val() e envio via ajax para o php tratar e enviar para o servidor. Mas o php não reconhece o que foi passado, na verdade, mesmo fazendo um teste simples com alert para mostrar o que está no campo date não funciona. Este plugin faz parte do materialize. Este script que postei, eu peguei em algum lugar da internet que agora não me lembro onde, para mudar a modalzinha do calendário do inglês para o português.
  9. @DiF , tentei e não deu. O $("#expira").val() não pega o valor do input mesmo inserindo mais o parâmetro que tu me passou.
  10. @DiF é POST porque é um formulário de cadastro. Foi o que eu li, alguns outros inputs também por ajax dão problema mas eu declarei um por um e tratei no php. Aí deu certo, então, o serialize deve funcionar da mesma maneira. Ainda não voltei a mexer neste formulário mas assim que mexer eu posto a resposta se deu certo ou não.
  11. @DiF , pois é. Ele envia o dados pro input ficando, como exemplo Setando os campos do plugin fica $('.datepicker').pickadate({ monthsFull: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'], monthsShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'], weekdaysFull: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sabádo'], weekdaysShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'], weekdaysLetter: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], today: 'Hoje', clear: 'Limpar', close: 'Pronto', labelMonthNext: 'Próximo mês', labelMonthPrev: 'Mês anterior', labelMonthSelect: 'Selecione um mês', labelYearSelect: 'Selecione um ano', selectMonths: true, selectYears: 99 });
  12. @DiF , estou tentando inserir o form no banco mas quando aparece caracteres especiais, eles ficam desconfigurados no javascript. Eu preciso tratar isso antes de fazer a requisição php. Como eu trato isso? Olha um exemplo: empresa3=&cargo3=&tel-empresa3=&superior3=&data-entrada3=&data-saida3=& atividades3=&instiuicao=&curso=Ci%C3%AAncia%20da%20computa%C3%A7%C3%A3o Deveria aparecer ciência da computação e não Ci%C3%AAncia%20da%20computa%C3%A7%C3%A3o
  13. E aí, gurizada. beleza? É o seguinte, não sei se alguém usa o framework da Google, mas independente disso, como eu pego os dados do datepicker e transfiro pro banco de dados? Como fazer essa conversão?
  14. Como disse anteriormente, é o que estou tentando evitar -> declarar um por um, já que somados, dá mais de 50 inputs.
  15. Complementando, tudo o que vir depois do " = " é o conteúdo que faz parte da variável declarada no GET. Exemplo: <?php echo "<a href='minhapagina.php?action=ver&noticia=a+minha+noticia'>Ver notícia</a>"; $action = $_GET['action']; $noticia = $_GET['noticia']; echo "A ação é " . $action . " e o conteúdo é ".$noticia; ?> Para declarar mais variáveis você utiliza o &.
  16. E aí, gurizada. beleza? É o seguinte, estou criando um formulário de cadastro onde neste constam muitos inputs. Como fazer para passar todos esses inputs via php/jquery para o banco de dados sem a necessidade de declarar um por um? Valeu
  17. Já pensou se todos começassem a usar Wix e Wordpress? Wix, você não precisa ter o mínimo de conhecimento em programação, apenas arrasta e solta e publica. Wordpress, caso queira implementar mais ferramentas, aí deveria ter uma noçaozinha de programação web. Mas agora eu te pergunto? O que você tem a oferecer que seja melhor que estas e outras plataformas do gênero? Por que você seria mais um que não quer ou não pode criar uma identidade própria no desenvolvimento de sites ou sistemas web? Utilizando ou não frameworks, tudo é muito mais confiável e acertivo quando alguém está dedicado e focado em desenvolver algo do que simplesmente apelar para uma plataforma como as já citadas. Por exemplo eu, alguns vão dizer que é totalmente sem necessidade ou algo do tipo, mas quando desenvolvo sites, nunca copio ou reutilizo o mesmo código mesmo lá no final sabendo que o código vão ser praticamente o mesmo. De tanto, enquanto aprendo/aprendia tentar, retentar, escrever e reescrever, acabei pegando a mania de fazer todos os meus códigos na mão utilizando apenas o sublime text. É um saco quando insiro algum plugin e tento entender a configuração do plugin. Já quando faço meus códigos, me acho perfeitamente e faço tudo num instante. Enfim, se faça uma pergunta, o que eu quero? Aprender tudo isso, criar minha identidade ou fazer um diferencial ou apenas saber por conhecimento e partir pra arrasta e solta? Que a força esteja com você.
  18. Reabrindo o post para não criar outro tópico. Na alteração do htaccess, eu não consigo fazer as alterações estando tudo no mesmo nível. Um exemplo: Eu preciso criar da seguinte maneira Só que aí a pesquisas com url do tipo login.php? ... não funcionam quando alterado o htaccess. Alguém sabe resolver?
  19. @Jaedson Alves Se você é iniciante no PHP, desacostume-se já com o mysql. Ele já está praticamente em desuso e não é mais aconselhável o uso. Utilize o mysqli ou então o pdo. Coloco o código por completo pra poder ver aonde está o erro.
  20. @DiF mesmo que eu pegue apenas pelo número do id evitando, assim, caracteres fora do padrão, a página continua totalmente desconfigurada. Esses dias eu estava testando o funcionamento de uma url amigável, e quando criava uma variável e atribuía o $_GET a ela não funcionava. Eu tinha que, na parte onde mostraria o dado pêgo pela url, eu tive que inserir o $_GET diretamente. Exemplo $teste = $_GET['teste']; echo "O teste é $teste"; (Isto não funcionava) Agora se eu colocasse echo "O teste é ".$_GET['teste'];, aí sim funcionava. Pegando direto do banco de dados não tinha testado ainda mas não deveria ocorrer nenhum erro. Editado Estava testando aqui e o que causa a bagunça na formatação é que quando eu mudo no htaccess o caminho caminho.php?q=$id para caminho/$id, os níveis de acesso dos diretórios mudam. Esse mesmo caminho mencionado, ficaria um nível abaixo do arquivo css, porém, se eu mudar o nível de acesso para este caminho, as páginas como index (index.php), noticias (noticias.php), é perdem a formatação já que não foi encontrado o diretório de estilização e todos os demais. Eu utilizo um header.php em cada página para buscar os menus e o footer.php, deixando apenas o conteúdo próprio em cada respectiva página, e mesmo assim, os páginas principais e estão no mesmo nível que o header e o footer. =[ Editado Na verdade, o por quê eu ainda não sei, mas ele altera os diretórios dos arquivos. Tive que criar novos diretórios para as páginas principais, porém, quando faço a pesquisa pela url, ele não encontra a página. No htaccess está assim RewriteRule ^noticia/$id pages/noticias.php?q=$1 E o link está assim <a href='noticia/$id'>
  21. E aí gurizada, beleza? É o seguinte: estou tendo problemas com minhas url amigáveis quando, através do get, há uma query. Explico: Quando eu acesso a página noticias.php, a mesma faz uma query caso exista a variável q, havendo esta variável, ela faz todo um while para pegar os dados e printar na página. Até aí tudo normal, sem maiores problemas. Os links para a página estão assim noticias.php?q=$id&url=$url A query é essa <?php if(isset($_GET['q']) && $_GET['q'] != "") { $noticia = $_GET['q']; $sql = "SELECT * FROM noticias WHERE id_noticia = '$noticia'"; $query = mysqli_query($mysqli, $sql); while ($res = mysqli_fetch_array($query)) { $id = $res['id_noticia']; $titulo = $res['titulo']; $url = $res['url']; $data = date_create($res['data']); $data = date_format($data, 'd/m/Y'); $anunciante = $res['anunciante']; $fonte = $res['fonte']; $descricao = $res['descricao']; $foto = $res['foto']; echo " <img src='img/$foto' alt='' title='$titulo'> <h1>$titulo</h1> $descricao <span>Fonte: <a href='$fonte' target='_blank'>$fonte</a></span> "; } } ?> Tudo funciona perfeitamente até eu mexer no .htaccess, deixando assim RewriteRule ^noticias/([0-9]+)/([0-9a-zA-Z]+) noticias.php?q=$id&url=$url Deixo os links como noticias/$i/$url E a partir disso acontece toda a M. Simplesmente a página fica toda desconfigurada. Como resolver?
  22. Especifica os caracteres que vão ser usados no site dentro do head. <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> </head> <body> </body> </html>
  23. E por que então não criar um painel apenas para o usuário comum e deixar outro para o administrador? Acho que ficaria mais fácil, menos trabalhoso e mais fácil de se administrar já que tendo um painel para ambos os perfis, seria mais complexa manutenção. Ficaria mais ou menos isso >> meusite.com.br/painelusuario.php / meusite.com.br/paineladmin.php. Ao autenticar o usuário, você cria sessões com alguns dados como login, senha e perfil de usuário. ao acessar a página um <?php if(!isset($_SESSION['login']) && !isset($_SESSION['senha']) && $_SESSION['perfil'] == 'administrador') { header('location: index.php'); } ?> Um exemplo bem chulo para representar a sessão. Não basta o usuário estar autenticado, o mesmo precisa ter o perfil administrador para poder acessar o painel admin.
  24. Acredito que você está fazendo um painel administrativo e como é este painel? Todos os usuários usarão o mesmo painel? Se sim, você pode setar uma session para armazenar os dados do usuário, quando o mesmo for fazer alguma ação, no select, update, delete ou qualquer que seja a ação, pode setar um perfil = administrador / usuario / colaborador e fazer essa condição quando alguma ação for executada. Tipo um exemplo: SELECT * FROM usuario WHERE perfil = 'administrador'. Geralmente quando eu faço algum painel que vai ter níveis de acesso, eu faço um segundo painel para ações básicas e que não precisem de acesso privilegiado ao sistema. Já no outro painel, eu seto os perfis de acordo com o nível de acesso do usuário.
  25. Como o lucas postou, você deve ou indicar o arquivo que receberá os valores no action do formulário ou deixar o código na própria página do formulário, para fins didáticos, é claro. Ficaria mais ou menos assim: <html> <head> </head> <body> <form method="post" action=""> <input type="text" name="texto"><br /> <input type="submit" name="testar" value="Exibir texto"> </form> <?php if(isset($_POST['texto']) && $_POST['texto'] != "") { $texto = $_POST['texto']; echo $texto; } ?> </body> </html> Resumidamente o que acontece?? O php testa se existe (isset) a variável $_POST['texto'] e se ela existir, verifica se a mesma não é vazia. Sendo true, a variável $texto armazena o que vai ser passado através de post e imprime com o echo o valor de $texto. No action, poderia colocar um segundo arquivo, incluindo esse php e fazendo a mesma coisa apenas com arquivos diferentes.

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!