Ir ao conteúdo
  • Cadastre-se

GabrielSennaMs

Membro Pleno
  • Posts

    335
  • Cadastrado em

  • Última visita

posts postados por GabrielSennaMs

  1. Olha isso não vai funcionar, e se isso funciona em algum site com o Wordpress significa que houve uma modificação dos arquivo de arquitetura do Wordpress.

     

    O WordPress é baseado em uma arquitetura orientada a eventos. Isso significa internamente que o núcleo do WordPress é preenchido com várias ações e filtros para modificar a execução do programa ou para alterar o conteúdo durante o tempo de execução.

     

    A requisição "POST" do formulário está tentando passar pela arquitetura do Wordpress e enviando a solicitação para o arquivo dentro do tema do Wordpress, e isso pode até funcionar porém, não recomendo e não é recorreto.

    A requisição deve ser enviada para o arquivo "admin-post"

    Esse arquivo vai manipular o pedido e enviar ele para uma ação pre-definida

     

    Exemplo utilizando o método POST

    Dentro do form você deve especificar o valor da action(ação)

    <form action="<?php echo esc_url(admin_url('admin-post.php') ); ?>" method="post">
    	<input type="hidden" name="action" value="enviar_email">
    </form>

    Exemplo utilizando o método GET

    <a href="<?php echo esc_url(admin_url('admin-post.php') ); ?>?action=ação">Requisição utilizando o método GET</a>

     

    Corrigindo o action do form e adicionando o action(ação pre-definida) você deve registra a ação pre-definida no arquivo de Functions do tema.

    add_action('admin_post_{nome da ação pre-definida}', 'nome da função callback' ); // Caso seu sistema queira alterna a function callback, caso tenha um usuario logado.
    add_action('admin_post_nopriv_{nome da ação pre-definida}', 'nome da função callback' ); // Caso não haja um usuario conectado
    
    function nome da função callback() {
        status_header(200);
        var_dump($_POST);
        die();
    }

    Registrando a action(ação pre-definida) e definindo uma Callback Function, você pode trabalhar e manipular a requisição do Formulário na Callback function.

    Dentro da Callback function você pode inserir o código de envio de email.

     

    Você também pode usar algum plugin para facilitar o seu trabalho.

    Você também pode usar o WordPress internal AJAX API.

     

    Aqui tem um artigo falando sobre https://www.sitepoint.com/handling-post-requests-the-wordpress-way/

  2. Eu ainda não revisei o código todo porém, eu acho que o erro está na página restrita na linha 4 é 5.

    você errou na nomenclatura da Superglobals $_SESSION.

    Seu exemplo:

    @$log = $_session['login_user'];
    @$pass = $_session['senha_user'];

    O correto é

    @$log = $_SESSION['login_user'];
    @$pass = $_SESSION['senha_user'];

    Bom tirando isso seus código tem muitas brechas e falhas operacionais.

    Não recomendo você fazer essa consultar no sql para retornar todos os valores, faça a verificação do login e da senha na consulta do sql.

    Não recomendo você utilizar o "include" para recuperar os dados, métodos e class de algo que você realmente vai precisar para sua aplicação funcionar, recomendo a utilização do "require" e "require_once".

  3. Bom existe muitas maneira de criar um sistema que altere o tema do site.

    Acabei de criar um pequeno script em JS(javascript) com a Biblioteca Jquery para alterar as classes dos elementos assim alterando a Cor de texto e o Background dos elementos.

    <!DOCTYPE html>
    <html lang="pt-br">
      <head>
      <meta charset="utf-8">
      <title>Portal - Dehill</title>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
      <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
      <style>
        /* Class com o tema Light */
        .classLight{
          background: #ffffff;
          color: #000000;
          transition: 0.4s;
        }
        /* Class com o tema Dark */
        .classDark{
          background: #000000;
          color: #ffffff;
          transition: 0.4s;
        }
        /* Class para ajustar o botão no canto superior direito */
        .interruptor{
          position: fixed; /* Posição fixa */
          top: 20px;  /* Posição fixa a 20 px do top da página */
          right: 20px; /* Posição fixa a 20 px da direita da página */
          font-size: 24px; /* Tamanho da fonte do botão */
          text-decoration: none; /* Como o botão é um elemento do tipo "a" é melhor remover o sublinhamento dele*/
          color: #3CC6E8; /* Cor inicial do botão*/
        }
      </style>
    </head>
    <body class="classLight">
    
      <!-- Botão -->
      <a href="javascript:void(0)" class="interruptor">
        <i class="faz fa-moon"></i>
      </a>
      <!-- /Botão -->
    
      <!-- Codigo javascript utilizando a Biblioteca Jquery -->
      <script type="text/javascript">
        var tema = false // Variável que determina se o tema está ativo ou não
        $(function(){
          $(".interruptor").on("click", function(){
            tema = (tema == true)? false : true // Alterando a variável tema para ativo ou não
            if(tema == true){ // Condição para determinar a troca de tema 
              $(".interruptor").html('<i class="far fa-sun"></i>') // Alterando o icone no botão
              $(".interruptor").css("color", "#FFC47D") // Alterando a cor do botão
              $(".classLight").toggleClass("classDark classLight") // Selecinado todos os elemento com a class "classLight", removendo a class "classLight" e adicionado a class "classDark"
            }else{
              $(".interruptor").html('<i class="faz fa-moon"></i>') // Alterando o icone no botão
              $(".interruptor").css("color", "#3CC6E8") // Alterando a cor do botão
              $(".classDark").toggleClass("classDark classLight") // Selecinado todos os elemento com a class "classDark", removendo a class "classDark" e adicionado a class "classLigh"
            }
          })
        })
      </script>
      <!-- /Codigo javascript utilizando a Biblioteca Jquery -->
    
    </body>
    </html>

    Bom para manipular o código JS é necessário o básico de conhecimento em Jquery, Eu tentei comentar para facilitar o código para você.

    E para ter um ícone da lua e do sol que você pediu eu utilizei uma Biblioteca de ícones chamada de Fontawesome.

     

  4. O erro se encontra na instrução condicional (if) na linha 9.

    if($_POST == NULL){

    Você especifico que a condição necessária para inserir os dados seja a variável $_POST retornar o valor null(nulo) porém, quando nós fazemos uma requisição post, os valores do formulário são salvos na variável $_POST.

     

    O correto nessa condicional, seria você verificar se uma requisição utilizando o método post foi feita.

    if($_SERVER["REQUEST_METHOD"] == "POST" and isset($_POST)){

     

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!