Thursday, May 5, 2016

Resolvido! Filtrar próximos aniversários PHP MySQL

Olá!

Essa noite estive fazendo um simples script PHP pra listar os próximos aniversariantes, mas me deparei com alguns desafios no tratamento de datas e cuidados com virada de ano etc, então como não achei nada semelhante na internet tive que improvisar e criar a solução que compartilho aqui.

Dei uma simplificada aqui no código pra explicar a solução, segue:




Dúvidas ou sugestões postem comentários! Abraços!
Postado originalmente no meu blog pessoal: http://bolivarbutzke.blogspot.com.br/2016/05/pegar-proximos-aniversarios-em-php.html

Friday, July 1, 2011

Encoding Codificação Retorno PagSeguro

Muitos problemas com este tal de retorno de pagSeguro. Um bem comum (eu imagino) é problema com codificação, que precisa ser ISO-8859-1.

Até no exemplo de página de retorno a primeira coisa que é feita no PHP é:

header('Content-Type: text/html; charset=ISO-8859-1');

Mas se você estiver com seu banco de dados em UTF-8, por exemplo, e suas páginas todas são UTF-8, primeiro você vai ter que dizer ao pagSeguro isso, o que pode ser feito adicionando essa informação na função de inicialização do pagSeguro em PHP que está disponível nos exemplos do site mesmo, a função ficá assim:

function pgs($args = array()) 
{
    if ('array'!=gettype($args)) $args=array();
    $default = array(
      'email_cobranca'  => 'seuemail@pagseguro.com.br',
      'tipo'            => 'CP',
      'moeda'           => 'BRL',
      'encoding'        => 'UTF-8',
    );
    $this->_config = $args+$default;
}

Com isso o pagSeguro sabe que você está enviando as informações no carrinho, dados do cliente e do produto em formato UTF-8, mas, quando ele te responder na página de retorno as informações virão em ISO-8859-1 igual... como resolver, depois de muita pesquisa, uma solução simples encontrei, basta fazer o seguinte:

mb_convert_encoding($_POST['CliNome'], 'UTF-8', 'ISO-8859-1,ASCII,UTF-8');

Faça isso para todos os campos String que vierem no post do pagSeguro e pronto. Campos com acentos e outros tantos serão salvos no banco de dados corretamente, sem isso, quando vinha uma cidade com nome 'Três de Maio', por exemplo, na minha base dedados MySQL estava salvando apenas 'Tr', os dados depois de qualquer acento eram perdidos.

Tem mais algumas informações úteis sobre este retorno que são abordadas pelo Dourado no site dele: http://dourado.net/2011/06/09/retorno-automatico-de-dados-do-pagseguro-em-phpmysql-com-produtos-versao-2-0/

Boa sorte pra quem for implementar!  Aproveitando o post, se você ainda não é cadastrado no PagSeguro, utilize o seguinte link para se cadastrar: https://pagseguro.uol.com.br/?ind=18984319

Wednesday, May 18, 2011

Adicionando Curtir Compartilhar Facebook Twitter

Para adicionar botão de compartilhar do twitter no seu site, é só acessar http://twitter.com/about/resources/tweetbutton, lá tem as opções para criar seu botão super fácil, no final ele gera um código pra adicionar no seu site tipo este:

<a href="http://twitter.com/share" 
class="twitter-share-button" 
data-count="vertical" 
data-via="BolivarButzke">Tweet</a>
<script type="text/javascript" 
src="http://platform.twitter.com/widgets.js">
</script>

E o resultado será algo assim:

Bom, pro botão de Curtir do Facebook pode usar o seguinte código:

<iframe src="http://www.facebook.com/plugins/like.php?href='.curPageURL().'&layout=button_count&show_faces=false&width=80&action=like&font=arial+grande&colorscheme=light" allowtransparency="true" style="border: medium none; overflow: hidden; width: 80px; height: 21px;" frameborder="0" scrolling="no"></iframe>

Sendo que a função PHP curPageURL() tem o seguite código:

function curPageURL() {
    /*
    RETORNA O ENDEREÇO URL DA PAGINA ONDE FOR CHAMADA
    echo $util->curPageURL();
    */
    $pageURL = 'http';
    if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
    $pageURL .= "://";
    if ($_SERVER["SERVER_PORT"] != "80") {
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    } else {
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }
    return $pageURL;
}

Encontrei este código na Internet, neste endereço http://www.webcheatsheet.com/PHP/get_current_page_url.php

O resultado do Like Facebook será algo assim:

Tuesday, May 17, 2011

Solução tamanho campos diferentes Windows vs Linux

Quando você define o valor size=35 em uma tag HTML input type=text, o tamanho deste campo será exibido de forma diferente dependendo do sistema operacional, nos meus testes no Firefox no Ubuntu (linux) os campos ficaram maiores detonando com o layout da página.

Pra resolver o problema, deixei de definir o tamanho das input pela size e passei a definir via CSS no próprio elemento da seguinte maneira style= width:350px; 


Labels: length size field firefox linux different windows tamanho input text 

Wednesday, May 11, 2011

Inicio

Olá visitante!

Obrigado pela visita. Meu nome é Bolívar, criei este site com objetivo de compartilhar um pouco do meu conhecimento, projetos e pesquisas que desenvolvo na área de programação para web, como forma de retribuir a todos os outros que também me ajudam e me ajudaram e aprender sobre o assunto.

Abraços