Ir ao conteúdo
  • Cadastre-se

carecazn

Membro Pleno
  • Posts

    306
  • Cadastrado em

  • Última visita

posts postados por carecazn

  1.      Resolvido o problema, ficou desta forma

    <a href="#servico1"></a>
    <a href="#servico2"></a>
    <a href="#servico3"></a>
    
    e na mesma página
    
    <a id="servico1">&nbsp;</a>
    <a id="servico2">&nbsp;</a>
    <a id="servico3">&nbsp;</a>

         Apenas acrescentei &nbsp; um espaço no id que recebe a âncora, não utilizei o javascript!

     

         Obrigado a todos!

  2. 4 horas atrás, DiF disse:

    @carecazn

    Aconteceu o erro porque você atribuiu o ID do campo nome  para o resto dos outros inputs.

     

    Somente o class pode ser usado mais de uma vez.

    Faça assim:

    
    <input class="removeClass formDes" type="text" name="nome" placeholder="* Nome"/>
    <input class="removeClass formDes" type="email" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" placeholder="* Email"/>
    <input class="removeClass formDes" type="tel" autocomplete="off" name="fone-fixo" pattern=".{14,14}" maxlength="14" onkeypress="mascara(this,fixo)" placeholder="* Telefone fixo"/>
    <input class="removeClass formDes" type="tel" autocomplete="off" name="fone-cel" maxlength="15" onkeypress="mascara(this,telefone)" placeholder="Telefone Celular" />
    <input class="removeClass formDes" type="text" name="assunto" placeholder="* Assunto"/>
    <textarea class="removeClass formDes" name="mensagem" rows="3" placeholder="* Mensagem"></textarea>
    
    <input class="removeClass formDes" type="submit" class="btn" name="envia" value="Enviar Contato" />

    jQuery

    
    $(document).ready(function() {
    	$('.removeClass').removeClass('formDes').addClass('formAtivo');
    });

    Desta forma ele aplica a classe formAtivo em todos os campos que contenham a class removeClass

     

         Funcionou perfeitamente!!

     

         Desativo o javascript, aparece a mensagem do 

    <noscript class="no-script text-center">
      <p class="">Por favor ative o javascript do seu navegador para enviar este formulário!</p>
    </noscript>

         E desativa os inputs e o textarea, ficou muito bacana!! 

    adicionado 0 minutos depois
    agora, carecazn disse:

     

         Funcionou perfeitamente!!

     

         Desativo o javascript, aparece a mensagem do 

    
    <noscript class="no-script text-center">
      <p class="">Por favor ative o javascript do seu navegador para enviar este formulário!</p>
    </noscript>

         E desativa os inputs e o textarea, ficou muito bacana!! 

         Muito obrigado!!

    • Curtir 1
  3.      Boa noite, @DiF, neste caso é bom fazer com as classes, pois, já vou aprendendo a trabalhar com o jQuery.

     

    Fiz assim,

    <script>
    $(document).ready(function() {
    $('#removeClass').removeClass('formDes').addClass('formAtivo');
    });
    </script>
    <input id="removeClass" class="formDes" type="text" name="nome" placeholder="* Nome"/>
    <input id="removeClass" class="formDes" type="email" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" placeholder="* Email"/>
    <input id="removeClass" class="formDes" type="tel" autocomplete="off" name="fone-fixo" pattern=".{14,14}" maxlength="14" onkeypress="mascara(this,fixo)" placeholder="* Telefone fixo"/>
    <input id="removeClass" class="formDes" type="tel" autocomplete="off" name="fone-cel" maxlength="15" onkeypress="mascara(this,telefone)" placeholder="Telefone Celular" />
    <input id="removeClass" class="formDes" type="text" name="assunto" placeholder="* Assunto"/>
    <textarea id="removeClass" class="formDes" name="mensagem" rows="3" placeholder="* Mensagem"></textarea>
    
    <input id="removeClass" class="formDes" type="submit" class="btn" name="envia" value="Enviar Contato" />

    Neste caso ele removeu apenas a classe do Name

    No css fiz assim,

    .formDes {pointer-events:none;outline:none;text-indent:-1px;}
    .formAtivo{pointer-events:inherit;}

    Funcionou Perfeitamente a não ser por este pequeno problema, removeu a classe formDes e atribuiu a classe formAtivo apenas no campo Nome.

     

    Mesmo eu colocando o mesmo id para todos os campos.

    • Curtir 1
  4. 3 horas atrás, DiF disse:

    @carecazn Estive pensando nesse noscript. Ele é uma mão na roda quando você quer informar que o javascript está desabilitado, porém não serve para bloquear o formulário.

     

    Com base nisso fiz algumas pesquisas e testes e resolvi da seguinte maneira:

     

    Você define o formulário por padrão desabilitado. E através do javascript você habilita o formulário. Então com isso..ele só vai funcionar SE e Somente SE o javascript estiver habilitado!

     

    É uma solução bem simples e não requer gambiarra!

    Você pode simplesmente desabilitar todo o formulário ou somente o botão de enviar.. aí fica a seu critério. Em todo o caso vou postar a solução completa que desabilita todo o formulário.

     

    Exemplo:

     

    HTML

    
    <form action="#" method="post">
      <input type="text" class="campos" name="nome" placeholder="Nome" disabled/>
      <input type="text" class="campos" name="email" placeholder="E-mail" disabled/>
      <input type="text" class="campos" name="sugestoes" placeholder="sugestoes" disabled/>
      <input type="submit" id="submit"  value="Mandar" disabled/> 	
    </form>

    Perceba que em todos os campos ele é definido como padrão "disabled" 

     

    Com javascript vamos habilita-lo usando o jQuery:

    Importe o jquery do jeito que quiser primeiro. eu particularmente uso o CDN do google

    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

    Com o jQuery importado o código é bem simples:

     

    
    $(document).ready(function(){
        $("#submit").prop("disabled",!$("#submit").prop("disabled"));
        $(".campos").prop("disabled",!$(".campos").prop("disabled"));
    });

    Basicamente estamos desabilitando o botão de enviar e os campos SE o javascript for desabilitado.

    Caso esteja habilitado ele permite que envie o formulário.

     

    PS: é uma solução simples e elegante!

     

     

         Rsrsrsrsrsrs, PS: é uma solução simples e elegante!, foi a melhor, rsrsrsrsrsrs, vou implementar com certeza, muito obrigado!!

     

         Tenho uma 200 aulas de jQuery, logo logo vou estudar para melhorar meus projetos.

    • Curtir 1
  5.      Boa tarde, eu tenho um formulário de contato com a validação em javascript, porém, se o usuário estiver com o javascript desativado estou apresentando uma mensagem usando as tag's 

    <noscript class="no-script text-center">
      <p class="">Por favor ative o javascript do seu navegador para enviar este formulário!</p>
    </noscript>

    e quero saber como eu fação para quando estiver desativado o javascript apresentar o formulário desativo.

     

         Não tenho nenhum conhecimento na programação javascript então neste caso vou precisar que desenhe como se faz, rsrsrsrs

  6. 27 minutos atrás, dif disse:

    por exemplo,  você pode usar o action do formulário para requisitar o arquivo php   e retirar aquelas verificações de isset por exemplo(o primeiro.   já o segundo pode deixar porque é a verificação do recaptcha)

     

    algumas linhas do phpmailer por exemplo não for usar, não precisa colocar.

    exemplos:

    
    $mail-> addcc($cc, utf8_decode('acrescentar o nome do email 1'));
    $mail-> addbcc($bcc, utf8_decode('acrescentar o nome do email 2'));
    $mail-> addreplyto($cc, utf8_decode('acrescentar o nome do email 3'));

    só coloque se você pretende enviar cópias ocultas e resposta a outros e-mails.

     

    a função

    
    $mail-> msghtml($body);

    eu não reconheço...  mas sim   

    
    $mail->body = $body

     

    o atributo

    
     $mail-> smtpdebug = 0;

    pode retirar se quiser, ele é só usado para debugar o envio.

     

    enfim... você pode reduzir um pouco as linhas e deixar  só as coisas que de fato está utilizando!

     

    sobre o que falei antes de usar o action para requisitar o arquivo eu quis dizer algo assim:

    
    <form method="post" action="processadados.php">
       
    </form>  

    este processadados.php seria o arquivo que contém toda aquela parte do php de validação e envio do e-mail.

    desta forma você pode eliminar os usos excessivos do isset! 

    os e-mails eu utilizo os 3, a função $mail-> msghtml($body);, tem na documentação da classe, no site abaixo da função diz que serve para criar uma mensagem a partir de uma cadeia html, ainda não sei formatar em html, porém, estou pesquisando para aprender a enviar formatado, a pessoa que enviou o contato também receberá uma cópia e eu gostaria de enviar como os e-mail marketing, acho que fica visivelmente melhor, este $mail-> smtpdebug = 0;, vou tirar realmente não utilizo pra nada, ainda insisto que você deve gravar vídeo aulas e disponibilizar no youtube, você vê o que muita gente procura aqui no fórum e com certeza o que buscam aqui já procuraram em muitos lugares e não encontraram, acredito que você fazendo as vídeo aulas e monetizando além de ajudar muita gente ainda tem um retorno financeiro, rsrsrsrsrs.

     

    vejo bastante programadores que fazer vários cursos gratuitos e também tem os cursos pagos, então, quem vê os cursos grátis e se identificam com a sua didática no ensino com certeza compram os cursos pagos, só acho, rsrsrsrsrsrs  

    adicionado 22 minutos depois

    @dif, estou pesquisando para utilizar o noscript que você mencionou, porém, só achei vídeo aulas em inglês, rsrsrsrs, como eu faço para utiliza-lo?

    • Curtir 1
  7. 2 minutos atrás, DiF disse:

    @carecazn Você põe a validação no arquivo php que recebe os dados.

    Pode colocar logo abaixo de onde recebe os valores do formulário.

     

    Em tempo, vejo que seu código está bastante "sujo" você poderia retirar algumas coisas dali se quiser. 

     

    exemplo de validação de campo vazio:

    
    $nome = $_POST["nome"];
    $email = $_POST["email"];
    
    
    if(empty($nome)  OR empty($email)):
       echo "Há um campo que não foi preenchido";
     exit;
    endif;

    O preg_match() é um validador que analisa a expressão regular pode ser usada para verificar se é numérico ou não.. mas você pode fazer a verificação desta forma também:

    
    $telefone = $_POST["telefone"];
    
    
    if(!ctype_digit($telefone)):
      echo "O campo de telefone só deve conter números";
    exit;
    endif;

    Ou seja a função ctype_digit()  retorna TRUE se a variável contiver um valor numérico.

    Na validação usei a negação.. com  o sinal de ! 

    Então em palavras fica:   IF NOT ctype_digit($telefone)....  retorna false, isso quer dizer que a pessoa digitou um caractere não numérico.

     

    É interessante você validar por javascript para não permitir a entrada de dados não numéricos!

     

    Como esta sujo?

    O que eu posso retirar?

  8. 4 horas atrás, DiF disse:

    @carecazn

    Existem N formas de resolver isso.

     

    1)Usar o Noscript  e verificar se o javascript está habilitado ou não. Se estiver você mostra o formulário, se não estiver, você mostra o formulário desabilitado e com uma mensagem "por favor ative seu javascript"

     

    2)Verificar com php os campos digitados.

    Para verificar se é número no campo  use a função ctype_digit()

    Para verificar se o campo é vazio, use o empty()

     

    Essas funções eu uso diretamente no campo?

    Eu tentei usar função preg_match, ela verifica tudo certo, aparece a informação de erro, porém o formulário é enviado, mesmo com os campos vazios, eu não estou sabendo onde colocar a função de forma correta, ou fazer uma outra condição, o problema seria onde fazer essa condição, se eu coloco ela antes da validação do recaptcha ou depois dela, eu criei uma condição antes do recaptcha, e ela parou de funcionar. 

    adicionado 2 minutos depois
    agora, carecazn disse:

     

    Essas funções eu uso diretamente no campo?

    Eu tentei usar função preg_match, ela verifica tudo certo, aparece a informação de erro, porém o formulário é enviado, mesmo com os campos vazios, eu não estou sabendo onde colocar a função de forma correta, ou fazer uma outra condição, o problema seria onde fazer essa condição, se eu coloco ela antes da validação do recaptcha ou depois dela, eu criei uma condição antes do recaptcha, e ela parou de funcionar. 

     

    Tem como fazer uma função que aplique diretamente no input?

    Para que ela funciona independente?

    e tem outra coisa, precisa parar o script, pois, ele esta apresentando o erro, porém, ainda envia o formulário.

  9.      Bom dia, estou desenvolvendo um formulário de contato, ele esta funcionando perfeitamente, porém, eu quero fazer a validação dos campos em PHP e não sei como fazer.

     

         Eu pensei em fazer as validações e apresentar abaixo do campo do formulário a informação  * Este campo é obrigatório! se o campo estiver vazio, esta com uma mascara que só permite números nos campos de telefone com javascript, eu também quero fazer a mesma função com o PHP, pois, se a Pessoa desativar o javascript o formulário continuará a funcionar perfeitamente acredito eu, rsrsrsrsrs

    <form method="post" action="" id="form_contact" name="cadastro" method="post" enctype="multipart/form-data">
    <?php /*apenas dispara o envio da mensagem caso houver/existir $_POST['enviar']*/
    if(isset($_POST['acao']) && $_POST['acao'] == 'enviar'){
    
    $url = 'https://www.google.com/recaptcha/api/siteverify';
    $secret = "Sua senha Secreta";
    
    $response = file_get_contents($url."?secret=".$secret."&response=".$_POST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR']);
    $data = json_decode($response);
    	
    if(isset($data -> success) AND $data->success == true){//inicia a verificação do Google recaptcha
    
    //Se for validado ele executa o envio do formulário
    $To = 'e-mail1';
    $cc = 'e-mail2';
    $bcc = 'e-mail3';
    
    $nomeTo = utf8_decode('Contato via Site');//Aparecerá quando você receber os e-mails
    $usuario = '[email protected]'; 
    $senha = 'sua senha'; 
    
    /*abaixo as veriaveis principais, que devem conter em seu formulario*/ 
    $nomeRemetente = utf8_decode($_POST['nome']);//Recupera o campo nome do formulário
    $emailRemetente = utf8_decode($_POST['email']);//Recupera o campo email do formulário
    $tel_fixo = utf8_decode($_POST['fone-fixo']);//Recupera o campo telefone fixo do formulário
    $tel_cel = utf8_decode($_POST['fone-cel']);//Recupera o campo telefone celular do formulário
    $assunto = utf8_decode($_POST['assunto']);//Recupera o campo Assunto do formulário
    
    $mensagem = wordwrap ($mensagem, 78, "<br />", true);
    $mensagem .= "<strong>Nome: </strong>".$nomeRemetente;
    $mensagem .= "<br>  <strong>Email: </strong>".$emailRemetente;
    $mensagem .= "<br>  <strong>Telefone Fixo: </strong>".$tel_fixo;
    $mensagem .= "<br>  <strong>Telefone Celular: </strong>".$tel_cel;
    $mensagem .= "<br>  <strong>Assunto: </strong>".$assunto;
    $mensagem .= "<br>  <strong>Mensagem: </strong>".utf8_decode($_POST['mensagem']);//Recupera o campo Mensagem do formulário
    
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; utf-8' . "\r\n";
    $headers .= 'SetFrom: '.$nome.' <'.$email.'>' . "\r\n";
    
    /*********************************** A PARTIR DAQUI NAO ALTERAR ************************************/ 
    
    require_once("phpmailer/PHPMailerAutoload.php");//Recupera o arquivo principal da classe phpMailer
    
    $Subject = $assunto;
    $Message = $mensagem;
    $Host = 'mail.'.substr(strstr($usuario, '@'), 1);
    $Username = $usuario;
    $Password = $senha;
    $Port = "587"; //Portande envio
    
    $mail = new PHPMailer();
    $body = $Message;
    $mail-> WordWrap = 78;
    $mail-> IsSMTP(); // telling the class to use SMTP
    $mail-> Host = $Host; // SMTP server 
    
    $mail-> SMTPDebug = 0; // enables SMTP debug information (for testing) 
    // 1 = errors and messages 
    // 2 = messages only 
    
    $mail-> SMTPAuth = true; // enable SMTP authentication 
    $mail-> Port = $Port; // set the SMTP port for the service server 
    $mail-> Username = $Username; // account username 
    $mail-> Password = $Password; // account password 
    $mail-> SetFrom($usuario, $nomeTo); 
    $mail-> Subject = $Subject;
    $mail-> MsgHTML($body);								
    
    $mail-> addAddress($To, utf8_decode('Nome que sera atribuido ao e-mail1'));
    $mail-> addCC($cc, utf8_decode('Acrescentar o nome do email 1'));
    $mail-> addBCC($bcc, utf8_decode('Acrescentar o nome do email 2'));
    $mail-> addReplyTo($cc, utf8_decode('Acrescentar o nome do email 3'));
    
    if($mail-> Send()){//Apresenta a mensagem de sucesso no envio substituindo o cabeçalho padrão do formulário e redireciona o usuário para index do site em 3 segundos
    echo '<div class="success" role="alert">
    <strong> Recebemos a sua mensagem</strong>, logo entraremos em contato!
    <i class="fa fa-check f-r" aria-hidden="true"></i>
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=\'index.php\'",3000)</script>';
    
    }elseif (!$mail-> Send()) {//Se não enviar a mensagem apresenta essa mensagem de erro substituindo o cabeçalho padrão do formulário e redireciona para index do site ou pra a página que você quiser em 8 segundos
    echo '<div class="error" role="alert">
    <strong> Mensagem não enviada</strong>, envie um e-mail para
    <strong>[email protected]</strong>
    <i class="fa fa-times f-r" aria-hidden="true"></i>
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=\'index.php\'",8000)</script>';
    }
    
    //Termina a validação do google
    }else{//Aqui termina a validação do google, se a Pessoa não clicou no formulário vai apresentar essa mensagem de erro que vai substituir o cabelalho padrão do formulário
    echo '<div class="error" role="alert">
    <strong> Mensagem não enviada, clique no botão: Não sou um robô</strong>
    <i class="fa fa-times f-r" aria-hidden="true"></i>
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=history.back();",5000)</script>';//Apresenta o erro e o usuário é redirecionado para página anterior em 5 segundos e guarda os dados que já foram digitados 
    }
    
    //Termina o envio do e-mail if isset
    }else {//Esta div aparece a todo momento assim que o usuário entra na página ela já aparece, note que é o cabeçalho do meu formulário, ele fica sempre visivel, e as mensagens de erro aparecem aqui também, se houver erro esse cabeçalho é substituido pelo cabeçalho de erro
    echo '<div class="padrão text-center" role="alert"><strong>Formulário de contato</strong></div>';
    }
    ?>
    
    <input required type="text" name="nome" placeholder="* Nome"/>
    <p>Este campo é obrigatório</p>
    
    <input required type="email" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" placeholder="* Email"/>
    
    <input required type="tel" autocomplete="off" name="fone-fixo" pattern=".{14,14}" maxlength="14" onkeypress="mascara(this,fixo)" placeholder="* Telefone fixo"/>
    
    <input required type="tel" autocomplete="off" name="fone-cel" maxlength="15" onkeypress="mascara(this,telefone)" placeholder="Telefone Celular" />
    
    <input required type="text" name="assunto" placeholder="* Assunto"/>
    
    <textarea required name="mensagem" rows="3" placeholder="* Mensagem"></textarea>
    
    <div class="col-12">
    <div class="g-recaptcha" data-theme="light" data-sitekey="sua chave do google" <!-- Já deixa o formulário um pouco menor para se adequar aos celulares pequenos -->
    style="transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;"></div>
    </div>
    
    <input type="hidden" name="acao" value="enviar"/>
    <input type="submit" class="btn" name="envia" value="Enviar Contato" />
    </form>

     

  10.      Boa noite @Vinny Marques, o meu arquivo esta assim

    RewriteEngine On
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?url=$1

    No arquivo de configuração esta assim

    $getUrl = strip_tags(trim(filter_input(INPUT_GET, 'url', FILTER_DEFAULT)));
    $setUrl = (empty($getUrl) ? 'index' : $getUrl);
    $Url = explode('/', $setUrl);

    E na index onde eu chamo as páginas esta assim

    <!--CONTEUDO-->
      <?php
      $Url[1] = (empty($Url[1]) ? null : $Url[1]);
    
      if (file_exists(REQUIRE_PATH . '/' . $Url[0] . '.php')):
          require REQUIRE_PATH . '/' . $Url[0] . '.php';
      elseif (file_exists(REQUIRE_PATH . '/' . $Url[0] . '/' . $Url[1] . '.php')):
          require REQUIRE_PATH . '/' . $Url[0] . '/' . $Url[1] . '.php';
      else:
          require REQUIRE_PATH . '/404.php';
      endif;
      ?>
      <!--CONTEUDO-->

    REQUIRE_PATH é a constante que usei para identificar as pastas onde estão os arquivos .php, fora desta pasta ou se tentarem acessar outra pasta entra no erro 404 ele atribui o arquivo de erro 404.php

  11. Em 12/12/2016 às 19:39, Nihal disse:

    @carecazn Qual problema está tendo com o modo tradicional? Se tiver acesso ao .htaccess possivelmente há como corrigir isto. Descreva o que está acontecendo, se tiver uma página de testes online melhor ainda.

     

    E qual o problema com os códigos que encontrou? O resto do seu javascript/jquery está funcionando corretamente?

         Boa noite Nihal, ele simplesmente não funciona.

    o .htaccess esta assim

    RewriteEngine On
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?url=$1

    aqui esta a configuração da URL amigável

    $getUrl = strip_tags(trim(filter_input(INPUT_GET, 'url', FILTER_DEFAULT)));
    $setUrl = (empty($getUrl) ? 'index' : $getUrl);
    $Url = explode('/', $setUrl);
    
    $Url[1] = (empty($Url[1]) ? null : $Url[1]);
    
      if (file_exists(REQUIRE_PATH . '/' . $Url[0] . '.php')):
          require REQUIRE_PATH . '/' . $Url[0] . '.php';
      elseif (file_exists(REQUIRE_PATH . '/' . $Url[0] . '/' . $Url[1] . '.php')):
          require REQUIRE_PATH . '/' . $Url[0] . '/' . $Url[1] . '.php';
      else:
          require REQUIRE_PATH . '/404.php';
      endif;

     

  12.      Boa noite, estou desenvolvendo um site onde quero fazer uma âncora para alguns serviços, porém, estou utilizando URL amigável e não estou conseguindo fazer funcionar no modo tradicional que seria

    <a href="#servico1"></a>
    <a href="#servico2"></a>
    <a href="#servico3"></a>
    
    e na mesma página
    
    <a id="servico1"></a>
    <a id="servico2"></a>
    <a id="servico3"></a>

      Tem como fazer que essa âncora funcione sem passar pela URL? Acredito que a URL amigável que esteja atrapalhando, pois funcionava antes.

    Pensei em fazer com javascript ou jquery, porém, os códigos que vi na internet não consegui fazer funcionar.

  13. Boa noite Pessoal, estou desenvolvendo um site e criei algumas variáveis para serem recuperadas em um switch

    <?php
    ob_start(); session_start();
    require_once "recaptchalib.php";
    require_once "conf/config.php";
    require_once "conf/functions.php";
    require_once "conf/conn.php";
    require_once "conf/logout.php";
    ?>
    <!DOCTYPE html>

     

    Na página config esta com algumas define e abaixo um switch

     

    switch($Url[0]):
    	case'index':
    		$pg_title = 'Titulo da página';
    		$pg_desc = 'Descrição';
    		$pg_chave = 'Palavras chave';
    	break;
    	
    	default:
    		$pg_title = 'Erro 404';
    		$pg_desc = 'Descrição erro 404';
    		$pg_chave = 'erro 404';
    	break;
    endswitch;

    A function tem a configuração da URL amigável

    <?php
    function getHome(){
     $getUrl = strip_tags(trim(filter_input(INPUT_GET, 'url', FILTER_DEFAULT)));
     $setUrl = (empty($getUrl) ? 'index' : $getUrl);
     $Url = explode('/', $setUrl);
     
     $Url[1] = (empty($Url[1]) ? NULL : $Url[1]);
     
     if(file_exists('pg/'.$Url[0].'.php')){
      require_once('pg/'.$Url[0].'.php');
     }elseif(file_exists('pg/'.$Url[0].'/'.$Url[1].'.php')){
      require_once('pg/'.$Url[0].'/'.$Url[1].'.php');
     }else{
      require_once('pg/404.php');
     }
    }
    function setHeader(){
    require_once('pg/header.php');
    }

    No caso  cada página tem o seu título e as meta tags, porém o switch não esta funcionando, não consigo recuperar as variáveis nas páginas.

    As páginas estão assim

    <title><?= pg_title; ?></title>
    <meta name="description" content="<?= $pg_desc; ?>" />
    <meta name="keywords" content="<?= $pg_chave; ?>" />

    E assim segue nas outras páginas

     

  14.      Boa noite, o meu problema é o seguinte, no site que desenvolvi ele aparece igual a imagem abaixo no celular, o topo do site é fixo, no exemplo da imagem abaixo, seria o MIRROR FASHION todo fixo no topo, quando rola o site para ver o conteúdo abaixo desaparece a barra de endereço e o topo do site fica abaixo da barra preta uns 5px, eu já usei margi-top ou padding-top, porém, logo ao entrar no site ele fica com aparência de destorcido, pois, acima do logo fica um espaço em branco enorme, rsrsrsrs, e só fica bom quando o internauta rola o site para ver o conteúdo abaixo.

         Alguém consegue me ajudar a resolver este problema?

     

    Olhem o site https://m.pagseguro.uol.com.br/mobile/index.jhtml

     

         Você acessa ele do celular rola o site, some a barra de endereço e não sobe um px do topo do site para baixo da barra preta.

     

    default-viewport.png

  15.      Boa noite Pessoal, a falta de conhecimento é um problema, fiz alguns testes e consegui resolver e acredito que foi sem gambiarra @dif, rsrsrsrs

    	if(isset($_POST['acao']) && $_POST['acao'] == 'enviar'){
    	Recupera todos os campos do formulário
    	if($mail-> Send()){//Se enviar o e-mail, apresenta a div sucesso
    	echo 'Div com fundo verde sucesso';
    	}
    	elseif (!$mail-> Send()) {//Se não enviar o e-mail apresenta a div com erro
    	echo 'Div com fundo vermelho erro';
    	}
    	}else{//E essa estará sempre ativa assim que acessar o formulário
    	echo 'Div com fundo Branco Padrão';
    	}

    Eu acredito muito que isso é simples, mas demorei bastante para descobrir, rsrsrsrsrs

  16. Eu estou vendo um curso no Youtube da Faculdade XTI, javascript, vou acompanhar o curso pra aprender e conseguir trabalhar com a linguagem eu programa por prazer, não ganho dinheiro com a programação, eu fiz o site da igreja e estou fazendo o da minha Esposa que se formou agora em nutrição, então, estamos tentando emplacar para que eu consiga ter mais tempo e me dedicar a programação, ai sim, quero fazer um curso, faculdade mesmo, eu gostei bastante de programar, no site da igreja eu fiz a área administrativa com login e senha, com sessão, recupera o Nome, no outro mais antigo que fiz da minha Esposa, diz bom dia, boa tarde, boa noite e boa madrugada, as frases ficaram personalizadas caso seja Homem ou Mulher.

    O problema é quando fica um tempo sem mexer, ai tem que ficar revendo o código para entender o que fiz naquela época, rsrsrsrsrsrs. Mas gosto muito, no da igreja tem nível de acesso também, todos estão usando banco de dados, no da igreja esta integrado com o facebook, porém, paramos de mexer no site também, estou esperando os meus Pastores por causa dos conteúdos, história da Igreja enfim, quando chegar a hora certa voltaremos a trabalhar com ele.

    • Curtir 1
  17. 2 minutos atrás, FabianoS disse:

    @@carecazn como o @dif falou com o jquery seria mais fácil mas da pra fazer assim.

     

    no  css você seta 2 divs com as cores que quer.

     

    
    .fundoVerde{background:##00ff00!important;}
    .fundoVerm{background:#FF0000!important;}

    depois que o usuário clicar em enviar você manda para validação. 

    no send voce volta para a pagina do formulario.

     

    
    if($mail->send()){
    // se enviar, redireciona para a pagina do formulario e atribui a variavel email o valor de "enviado".
    header("location:paginadoform.php?email=enviado")
    }else{
    // se não enviar, redireciona para a pagina do formulario e atribui a variavel email o valor de "naoenviado"
    header("location:paginadoform.php?email=naoenviado")
    }

     

    Na pagina do formulario, na div que quer o fundo de outra cor, você adiciona a classe na div. por exemplo.

     

    
    // verifica se ouve envio do email
    if(isset($_GET['email'])){
    // verifica se enviado se sim atribui a class do fundo verde
    	if($_GET['email'] == "enviado"){
    		echo "<div class='panel panel-default'>
    		<div class='panel-body cor_site bold fundoVerde' title=''>Formul&aacute;rio de contato
    		</div>
    		</div>";
    // verifica se enviado se nao atribui a class do fundo vermelho
    	}elseif($_GET['email'] == "naoenviado"){
    		echo "<div class='panel panel-default'>
    		<div class='panel-body cor_site bold fundoVerm' title=''>Formul&aacute;rio de contato
    		</div>
    		</div>";
    	}
    // se o usuario não tiver enviado ainda ai você mostra o div com fundo branco.
    }else{
    		echo "<div class='panel panel-default'>
    		<div class='panel-body cor_site bold fundoVerm' title=''>Formul&aacute;rio de contato
    		</div>
    		</div>";
    
    }

    Obs.: não sei qual div você quer mudar de cor, mas caso seja outra e so adicionar a classe do css.

     

     

     

     

     

    Assim não da erro, porém, não mostra a div com fundo branco
    
    if($mail-> Send()){
    echo '<div class="panel panel-default">
    <div class="panel-body cor_site bold" fundo verde title="Formul&aacute;rio de contato do Consult&oacute;rio de Nutri&ccedil;&atilde;o em Guarulhos e no centro de S&atilde;o Paulo">
    Formul&aacute;rio de contato
    </div>
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=\'index.php\'",2000)</script>';
    }
    
    elseif (!$mail-> Send()) {
    echo '<div class="panel panel-default">
    <div class="panel-body cor_site bold" fundo vermelho title="Formul&aacute;rio de contato do Consult&oacute;rio de Nutri&ccedil;&atilde;o em Guarulhos e no centro de S&atilde;o Paulo">
    Formul&aacute;rio de contato
    </div>
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=\'index.php\'",2000)</script>';}
    
    else {
    	echo '<div class="panel panel-default">
    <div class="panel-body cor_site bold" padrão fundo branco title="Formul&aacute;rio de contato do Consult&oacute;rio de Nutri&ccedil;&atilde;o em Guarulhos e no centro de S&atilde;o Paulo">
    Formul&aacute;rio de contato
    </div>
    </div>';
    }

     

  18. Eu, male má, consegui fazer tudo funcionar só com o PHP, agora estou usando o Bootstrap, mas não tenho nenhuma familiaridade com o jQuery, preciso estudar para entrar nessa linguagem. Eu já vi alguns tutoriais, mas apanho muito, rsrsrsrs, e ai um código que funciona em uma versão e quando muda a versão não funciona mais, rsrsrs.

  19. Ele esta com as tags do php, o problema são as condições, ´no caso seria uma div fundo branco, que vai sempre estar visível, ai se enviar mostro a div com fundo verde com a mensagem de enviado com sucesso, se der erro mostro a div com fundo vermelho com o erro que deu.

     

    <?php /*apenas dispara o envio da mensagem caso houver/existir $_POST['enviar']*/
    if(isset($_POST['acao']) && $_POST['acao'] == 'enviar'){
    
    $destinatarios = 'email';
    $nomeDestinatario = 'O que vai aparecer';
    $usuario = 'e-mail que será usado para o envio'; 
    $senha = 'a senha do e-mail'; 
    
    /*abaixo as veriaveis principais, que devem conter em seu formulario*/ 
    
    $nomeRemetente = $_POST['nome'];
    $email = $_POST['email'];
    $nome_empresa = $_POST['nome_empresa'];
    $assunto = $_POST['assunto'];
    $contato = $_POST['phone'];
    
    $mensagem = "<strong>Nome: </strong>".$nomeRemetente;
    $mensagem .= "<br>  <strong>Email: </strong>".$_POST['email'];
    $mensagem .= "<br>  <strong>Nome da Empresa: </strong>".$_POST['nome_empresa'];
    $mensagem .= "<br>  <strong>Contato: </strong>".$_POST['phone'];
    $mensagem .= "<br>  <strong>Mensagem: </strong>".$_POST['mensagem'];
    
    $mensagem = wordwrap ($mensagem, 70, "<br>", true);
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .= 'From: '.$nome.' <'.$email.'>' . "\r\n";
    $headers .= 'BCC: e-mail' . "\r\n";
    $headers .= 'BCC: e-mail' . "\r\n";
    $headers .= 'Cc: e-mail' . "\r\n";
    $headers .= 'ReplyTo: e-mail' . "\r\n";
    $headers .= 'ReplyTo: e-mail' . "\r\n";
    
    /*********************************** A PARTIR DAQUI NAO ALTERAR ************************************/ 
    
    require_once("phpmailer/PHPMailerAutoload.php");
    
    $To = $destinatarios;
    $Subject = $assunto;
    $Message = $mensagem;
    $Host = 'mail.'.substr(strstr($usuario, '@'), 1);
    $Username = $usuario;
    $Password = $senha;
    $Port = "587";
    $mail = new PHPMailer();
    $body = $Message;
    
    $mail-> IsSMTP(); // telling the class to use SMTP
    $mail-> Host = $Host; // SMTP server 
    
    $mail-> SMTPDebug = 0; // enables SMTP debug information (for testing) 
    // 1 = errors and messages 
    // 2 = messages only 
    
    $mail-> SMTPAuth = true; // enable SMTP authentication 
    $mail-> Port = $Port; // set the SMTP port for the service server 
    $mail-> Username = $Username; // account username 
    $mail-> Password = $Password; // account password 
    $mail-> SetFrom($usuario, $nomeDestinatario); 
    $mail-> Subject = $Subject;
    $mail-> MsgHTML($body);
    $mail-> AddAddress($To, ""); 
    
    if($mail-> Send()) { 
    echo '<div class="alert alert-success" role="alert">
    <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
    <span class="sr-only">Erro:</span>
    Recebemos a sua mensagem, logo entraremos em contato!
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=\'index.php\'",2000)</script>';
    }
    
    else{ 
    echo '<div class="alert alert-danger" role="alert">
    <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
    <span class="sr-only">Erro:</span>
    Mensagem não enviada! Entre em contato no e-mail, Obrigado!
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=\'index.php\'",2000)</script>';}
    }?>

    o código completo é esse, porém, as divs que vou mostrar é a que eu enviei no primeiro post que vai ser o cabeçalho do formulário eu vou tirar o alert e vou deixar só o PHP

    adicionado 6 minutos depois
    10 minutos atrás, carecazn disse:

    Ele esta com as tags do php, o problema são as condições, ´no caso seria uma div fundo branco, que vai sempre estar visível, ai se enviar mostro a div com fundo verde com a mensagem de enviado com sucesso, se der erro mostro a div com fundo vermelho com o erro que deu.

     

    
    <?php /*apenas dispara o envio da mensagem caso houver/existir $_POST['enviar']*/
    if(isset($_POST['acao']) && $_POST['acao'] == 'enviar'){
    
    $destinatarios = 'email';
    $nomeDestinatario = 'Contato via Site';
    $usuario = 'e-mail que será usado para o envio'; 
    $senha = 'a senha do e-mail'; 
    
    /*abaixo as veriaveis principais, que devem conter em seu formulario*/ 
    
    $nomeRemetente = $_POST['nome'];
    $email = $_POST['email'];
    $nome_empresa = $_POST['nome_empresa'];
    $assunto = $_POST['assunto'];
    $contato = $_POST['phone'];
    
    $mensagem = "<strong>Nome: </strong>".$nomeRemetente;
    $mensagem .= "<br>  <strong>Email: </strong>".$_POST['email'];
    $mensagem .= "<br>  <strong>Nome da Empresa: </strong>".$_POST['nome_empresa'];
    $mensagem .= "<br>  <strong>Contato: </strong>".$_POST['phone'];
    $mensagem .= "<br>  <strong>Mensagem: </strong>".$_POST['mensagem'];
    
    $mensagem = wordwrap ($mensagem, 70, "<br>", true);
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .= 'From: '.$nome.' <'.$email.'>' . "\r\n";
    $headers .= 'BCC: e-mail' . "\r\n";
    $headers .= 'BCC: e-mail' . "\r\n";
    $headers .= 'Cc: e-mail' . "\r\n";
    $headers .= 'ReplyTo: e-mail' . "\r\n";
    $headers .= 'ReplyTo: e-mail' . "\r\n";
    
    /*********************************** A PARTIR DAQUI NAO ALTERAR ************************************/ 
    
    require_once("phpmailer/PHPMailerAutoload.php");
    
    $To = $destinatarios;
    $Subject = $assunto;
    $Message = $mensagem;
    $Host = 'mail.'.substr(strstr($usuario, '@'), 1);
    $Username = $usuario;
    $Password = $senha;
    $Port = "587";
    $mail = new PHPMailer();
    $body = $Message;
    
    $mail-> IsSMTP(); // telling the class to use SMTP
    $mail-> Host = $Host; // SMTP server 
    
    $mail-> SMTPDebug = 0; // enables SMTP debug information (for testing) 
    // 1 = errors and messages 
    // 2 = messages only 
    
    $mail-> SMTPAuth = true; // enable SMTP authentication 
    $mail-> Port = $Port; // set the SMTP port for the service server 
    $mail-> Username = $Username; // account username 
    $mail-> Password = $Password; // account password 
    $mail-> SetFrom($usuario, $nomeDestinatario); 
    $mail-> Subject = $Subject;
    $mail-> MsgHTML($body);
    $mail-> AddAddress($To, ""); 
    
    if($mail-> Send()) { 
    echo '<div class="alert alert-success" role="alert">
    <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
    <span class="sr-only">Erro:</span>
    Recebemos a sua mensagem, logo entraremos em contato!
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=\'index.php\'",2000)</script>';
    }
    
    else{ 
    echo '<div class="alert alert-danger" role="alert">
    <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
    <span class="sr-only">Erro:</span>
    Mensagem não enviada! Entre em contato no e-mail, Obrigado!
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=\'index.php\'",2000)</script>';}
    }?>

    o código completo é esse, porém, as divs que vou mostrar é a que eu enviei no primeiro post que vai ser o cabeçalho do formulário eu vou tirar o alert e vou deixar só o PHP

    Essa é a parte que quero fazer as 3 condições com esta div.
    <div class="panel panel-default">
    <div class="panel-body cor_site bold" title="">Formulário de contato
    </div>
    </div>
    Sempre visivel com fundo branco para quando o usuário entrar na página ela estará visivel, ele vai preencher o formulário e clicar em enviar, se der certo aparece a mesma div com fundo verde e os dizerem que vou colocar e se der errado a mesma div com fundo vermelho com outras informações.
    
    Após o envio da mensagem ou se der erro, volta para o formulário com o cabeçalho com o fundo branco.
    
    
    if($mail-> Send()) { 
    echo '<div class="alert alert-success" role="alert">
    <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
    <span class="sr-only">Erro:</span>
    Recebemos a sua mensagem, logo entraremos em contato!
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=\'index.php\'",2000)</script>';
    }
    
    else{ 
    echo '<div class="alert alert-danger" role="alert">
    <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
    <span class="sr-only">Erro:</span>
    Mensagem não enviada! Entre em contato no e-mail, Obrigado!
    </div>';
    echo '<script language="javascript">window.setTimeout("location.href=\'index.php\'",2000)</script>';}

     

  20. Boa tarde Pessoal, eu tenho um formulário no site e o que eu quero fazer é o seguinte, quero usar o cabeçalho do formulário para resposta do envio da mensagem.

     

    if(isset($_POST['acao']) && $_POST['acao'] == 'enviar'){
    
    recupera todas as informações do formulário
    
    if($mail-> Send()) {
    Se enviar mostra a div abaixo com uma formatação com fundo verde por exemplo
    <div class="panel panel-default">
    <div class="panel-body cor_site bold" title="">Formul&aacute;rio de contato
    </div>
    </div>
    }
    elseif{
    Se enviar mostra a div abaixo com uma formatação com fundo vermelho por exemplo
    <div class="panel panel-default">
    <div class="panel-body cor_site bold" title="">Formul&aacute;rio de contato
    </div>
    </div>
    } else {
    E este é o que eu quero que sempre esteja visivel quando o internauta acessar a página,
    com certeza tem alguma coisa errada, pois, esta dando erro.
    <div class="panel panel-default">
    <div class="panel-body cor_site bold" title="">Formul&aacute;rio de contato
    </div>
    </div>
    }
    }

     

    Se existir a ação para enviar o contato e se der certo mostra a div com fundo verde,

    Se der erro mostra a mesma div com fundo vermelho,

    Se não existir nenhuma ação, mostrar a última div, tentei explicar o máximo possível.

    adicionado 3 minutos depois

    Todas as validações estão prontas e estão funcionando, é essa parte que eu não estou conseguindo fazer.

  21. Boa tarde, como eu faço para gravar todos o site no cookies e depois como eu faço para quando a pessoa entrar novamente no endereço do domínio ele carregar esses cookies?

    O site é bem levinho esta demorando 1,8s para carregar e menos de 200k a pagina inicial que é a que tem todas as fotos, as outras 3 páginas é só html.

    Todas as fotos foram compactadas e estão no tamanho certo, não estão sendo redimensionadas pelo css.

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!