quinta-feira, 2 de dezembro de 2010

Enviar variável via javascript via POST

< form action='index_projeto.php' name='form' method='POST' >
< input type='hidden' name='nome_escola' id='nome_escola'value='' />
< input type='submit' style='display:none' />
< /form >

< script >document.forms[0].submit();< /script >

quarta-feira, 27 de outubro de 2010

Resolver problemas com aspas no campo TEXTAREA

Para os campos TEXTAREA, usar:
$observacao = addslashes(stripslashes(@$_POST["observacoes"]));

Evita os problemas quendo tem no campo: " D'Ávila "

domingo, 24 de outubro de 2010

Marcar todos os Checkbox

< script >

var checked = 0;
function marcarBox() {
if (checked == 0){
$('input:checkbox').attr('checked','checked');
checked = 1;
} else {
$('input:checkbox').attr('checked','');
checked = 0;
}
}
< / script >

< input onClick="marcarBox();" type="checkbox" />

sexta-feira, 22 de outubro de 2010

USO DE COOKIE

//Inicializa o cookie
setcookie("codigo");
//Pega o dado a ser atribuido ao cookie
$codigo_login = $result->data[0]["CODIGO"];

//seta o valor do cookie ao seu nome.
setcookie("codigo", $codigo_login);


NA OUTRA PÁGINA

setcookie("codigo");
if(isset($_COOKIE["codigo"])){
...
}

quarta-feira, 18 de agosto de 2010

Banner dinâmico

function abreImagemAbertura(teste, ordem) {
    var j = 0;
        var imagens = new Array();
        imagens = teste.split("*");
        document.getElementById('
slider_teste').style.height = "100px";
        document.getElementById('slider_teste').style.background = 'url(attachments/imagens/banners/'+imagens[ordem]+')';
    if (ordem + 1 == imagens.length -1 ){
            j = 0;
        }else{
            j = ordem +1;
        }
        setTimeout("abreImagemAbertura('"+teste+"',"+ j +")",2000);
}

terça-feira, 20 de julho de 2010

ORDENAÇÃO DE TABELA PELO TÍTULO

if( isset($_GET['ordenar']) ){
$SQL = "SELECT...FROM...ORDER BY ".$_GET['ordenar'] ." ";

}else if( !isset($_GET['ordenar']) ){
$SQL = "SELECT...FROM...ORDER BY ... ";
}

...

NOS TITULOS:
href='#' style='color:#5C5C5C' onclick="javascript:window.location.href='URL.php?ordenar=num_nt'; " > < u> Nº Nota Técnica < /u>

...

href='URL.php?p=1&ordenar=".$_GET['ordenar']."' ...

quinta-feira, 15 de julho de 2010

Somar valores em javascript

Essas funções javascript somam valores de dois textbox e coloca o valor formatado em um terceiro:

//Essa função formata uma string em moeda
function moeda_format(valor){


var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var SeparadorMilesimo = '.';
var SeparadorDecimal = ',';
len = valor.length;
for(i = 0; i < len; i++)
if ((valor.charAt(i) != '0') && (valor.charAt(i) != SeparadorDecimal)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(valor.charAt(i))!=-1) aux += valor.charAt(i);
aux += key;
len = aux.length;
if (len == 0) valor = '';
if (len == 1) valor = '0'+ SeparadorDecimal + '0' + aux;
if (len == 2) valor = '0'+ SeparadorDecimal + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += SeparadorMilesimo;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
valor = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
valor += aux2.charAt(i);
valor += SeparadorDecimal + aux.substr(len - 2, len);
}

return valor;
}

//Essa funcao realiza a soma e deve ser chamada no evento OnBlur dos textbox que terão os valores somados


function soma_valores(){

var vl_repasse = document.getElementById('repasse_empreendimento').value;
var vl_contrapartida = document.getElementById('contrapartida_empreendimento').value;
var vl_final = 0.0;
var vl_final_formatado = '';
if (vl_contrapartida == ''){
vl_contrapartida = 0.0;
}else{
vl_contrapartida = vl_contrapartida.replace(/\./g , '*');
vl_contrapartida = vl_contrapartida.replace(',', '.');
vl_contrapartida = vl_contrapartida.replace(/\*/g , '');
}

if (vl_repasse == ''){
vl_repasse = 0.0;
}else{
vl_repasse = vl_repasse.replace(/\./g , '*');

vl_repasse = vl_repasse.replace(',', '.');
vl_repasse = vl_repasse.replace(/\*/g , '');

}


vl_final = parseFloat(vl_repasse) + parseFloat(vl_contrapartida);
vl_final_formatado = vl_final.toString().replace('.', ',');
vl_final_formatado = vl_final_formatado.replace(',', '');
vl_final_formatado = moeda_format(vl_final_formatado);
document.getElementById('valor_total').value = vl_final_formatado;



}

quinta-feira, 1 de julho de 2010

Input type=FILE no Chrome

< style >
div.fileinputs {
position: relative;
margin-top: 0px;
margin-left: 0px;
}

div.fakefile {
position: absolute;
top: 0px;
left: 0px;
margin-top: 0px;
margin-left: 0px;
z-index: 1;
}

input.file {
position: relative;
text-align: right;
-moz-opacity:0 ;
filter:alpha(opacity: 0);
opacity: 0;
z-index: 2;

height: 30px;
width: 350px;
}


div.fakefile input {
margin-bottom: 5px;
margin-left: 0;
}

input.file.hidden {
position: relative;
text-align: right;
-moz-opacity:0 ;
filter:alpha(opacity: 0);
opacity: 0;
z-index: 2;
}
< / style>


echo " < div class='fileinputs' >
< input class='file' style='width:465px' name='file-original' type='file' id='file-original' onchange=\"document.getElementById('file-falso').value = this.value;\" />
< div class='fakefile'>
< input name='file-falso' type='text' id='file-falso' style='width:350px'/> < img style='margin-bottom:-7px' src='search.gif' />
< / div >
< / div >
";
} else{
echo "< input type='FILE' name='anexo_nt[]' id='anexo_nt[]' size='50' accept='application/msword' >"; }?>

terça-feira, 15 de junho de 2010

Desativar autocompletar em um formulário

< form method="POST" target="_main" autocomplete="OFF" >

quarta-feira, 9 de junho de 2010

Calendário Atualizado

Calendário que some no evento "Blur".

script

$('#dt_contrato').focus(function(){
var data = document.getElementById('data_serv').value;
$(this).calendario({
target:'#dt_contrato',
top:0,
left:145,
maxDate:data,
minDate:'01/01/2000'
});
document.getElementById('cal_' + this.id).style.display='block'
});
$('#dt_contrato').blur(function(){ document.getElementById('cal_' + this.id).style.display='none' });

script

terça-feira, 1 de junho de 2010

Manual PHP

Segue link com manual php:

torves.com/help/php_manual_pt_BR.rar

quinta-feira, 13 de maio de 2010

Problema no cache

Para forçar que a página PHP seja necessariamente carregada, é necesário passar um parâmetro randômico para que o navegador entenda a chamada como uma nova requisição.

Exemplo randomico = rand();
... teste.php?param1='teste'&rand='randomico'

segunda-feira, 10 de maio de 2010

Ajax IE

Para a atualização via ajax funcionar corretamente no IE, é necessário burlar o sistema de cache desse navegador, incluido um parâmetro gerado randômicamente, como pode ser visto no exemplo abaixo:

var randomnumber = Math.floor(Math.random()*1000001)
...
xmlhttp.open("GET", "lista_acoes_ajax.php?volta=sim&pendencia_id='+$pend_id.value+'&rand='+randomnumber", false );
...

Dessa forma, sempre que uma chamada Ajax é realizada, o IE entende a mesma como uma nova invocação. Caso contrário, ele não recarrega as informações, buscando-as diretamente na cache do browser.

terça-feira, 20 de abril de 2010

DOIS PROJETOS NO CAKE AO MESMO TEMPO

http://www.webmapit.com.br/wiki/index.php/MapServer

  • altere este parâmetro para uma porta disponível qualquer ( ex.: 8008)
Listen 8008
  • antes de executar o .bat de instalação, certifique-se de não ter nenhum serviço chamado Apache MS4W Web Server. Caso você já tenha o MS4W instalado com este nome, basta alterar o arquivo /ms4w/apache-install.bat e trocar a linha:
httpd -k install -n "Apache MS4W Web Server"
  • por um outro nome qualquer:
httpd -k install -n "Apache MapServer 5 beta"
    • Nota: você pode, por exemplo, instalar o MapServer 4.x no drive C: e o MapServer 5 no drive D: . Basta que os serviços tenham nomes e portas diferentes
  • feito isto, execute o arquivo /ms4w/apache-install.bat . Se tudo correr bem, você verá um terminal aparecer e a última mensagem exibida será:
...
O serviço de Apache MS4W Web Server foi iniciado com êxito.

Dica: edite o arquivo setenv.bat dentro da pasta ms4w e insira a linha a seguir no fim do arquivo :

cmd /k

Desta forma, quando você executar manualmente este arquivo terá a disposição um prompt com todos os utilitários da distribuição MS4W

Testes básicos

  • acesse o endereço http://localhost:[PORTA] ( ex.: http://localhost:8008/). Você deverá ver uma página web que começa com os dizeres:
MS4W - MapServer 4 Windows - version x.x.x
  • na seção Features desta página, clique no link que aparece como mapserv X.X.X at /cgi-bin/mapserv.exe ( http://localhost:[PORTA]/cgi-bin/mapserv.exe ). Você deverá ver a mensagem:
No query information to decode. QUERY_STRING is set, but empty.

quinta-feira, 15 de abril de 2010

CALENDÁRIO COM SABADO E DOMINGO BLOQUEADO

function ultimo_dia(mes,ano){if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12)return 31;if(mes==4||mes==6||mes==9||mes==11)return 30;if(mes==2)if(ano%400==0)return 29;if(mes==2)if(ano%100==0)return 28;
if(mes==2)if(ano%4==0)return 29;else return 28;}var nomeMes=new Array("Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro");
var hoje=new Date();var diaAtual=hoje.getDate();var mesAtual=hoje.getMonth()+1;var anoAtual=hoje.getFullYear();var dataAtual=diaAtual+'/'+mesAtual+'/'+anoAtual;
var contCalendario=0;jQuery.fn.calendario=function(options){var settings={target:'',targetDay:'',targetMonth:'',targetYear:'',minDate:'',maxDate:'',dateDefault:dataAtual,left:'0',top:'30',referencePosition:this,closeClick:true};options=jQuery.extend(settings,options);arrData=options.dateDefault.split('/');diaOriginal=parseInt(arrData[0],10);mesOriginal=parseInt(arrData[1],10)-1;anoOriginal=parseInt(arrData[2],10);var diaMinimo=0;var mesMinimo=0;var anoMinimo=0;if(options.minDate!=''){arrData=options.minDate.split('/');diaMinimo=parseInt(arrData[0],10);mesMinimo=parseInt(arrData[1],10)-1;anoMinimo=parseInt(arrData[2],10);}var diaMaximo=9999;var mesMaximo=9999;var anoMaximo=9999;if(options.maxDate!=''){arrData=options.maxDate.split('/');diaMaximo=parseInt(arrData[0],10);mesMaximo=parseInt(arrData[1],10)-1;anoMaximo=parseInt(arrData[2],10);}this.each(function(){if(jQuery(this).attr('id')==''){contCalendario++;jQuery(this).attr('id','chamada_cal_'+contCalendario);}idChamada=jQuery(this).attr('id');var mes=mesOriginal;var ano=anoOriginal;idCalendario='cal_'+idChamada;idCalendario=idCalendario.replace('_dia','').replace('_mes','').replace('_ano','');if($('#'+idCalendario).size()>0)return false;jQuery('body').append('
x«

mês ano

»
  • D
  • S
  • T
  • Q
  • Q
  • S
  • S
');
$('#'+idCalendario).append('');
$('#'+idCalendario).append('');
function preencher_calendario(idCalendario){var titulo=nomeMes[mes]+" "+ano;$('#'+idCalendario+' p.nome_mes').html(titulo);
$('#'+idCalendario+' ul.lista_dia li.dia_vazio').remove();$('#'+idCalendario+' ul.lista_dia li.dia').remove();

var primeiro=new Date();
primeiro.setFullYear(ano,mes,1);
var inicioSemana=primeiro.getDay();alert(inicioSemana);
for(i=0;i $('#'+idCalendario+' ul.lista_dia').append("
  • <\/li>");
    }

    var fimMes=ultimo_dia(mes+1,ano);
    for(i=1;i<=fimMes;i++){
    var teste = new Date();
    teste.setFullYear(ano,mes,i);
    if (teste.getDay() == 0 || teste.getDay() == 6){
    $('#'+idCalendario+' ul.lista_dia').append("
  • "+i+"<\/li>");;
    } else if((ano==anoMinimo&&mes==mesMinimo&&idiaMaximo)){
    $('#'+idCalendario+' ul.lista_dia').append("
  • "+i+"<\/li>");}
    else{if(options.target!=''||options.targetDay!=''||options.targetMonth!=''||options.targetYear!=''){
    $('#'+idCalendario+' ul.lista_dia').append("
  • "+i+"<\/a><\/li>");}
    else{$('#'+idCalendario+' ul.lista_dia').append("
  • "+i+"<\/li>");}}


    }

    if(mes==mesOriginal&&ano==anoOriginal){
    $('#'+idCalendario+' ul.lista_dia li.dia_n'+diaOriginal).addClass('default');}
    $('#'+idCalendario+' ul.lista_dia li a').click(function(){
    var dia=$.trim($(this).html());
    if(dia.length==1)dia='0'+dia;var mes=(1+parseInt($.trim($(this.parentNode.parentNode.parentNode).find('input[name="calendarioMes"]').val()),10)).toString();
    if(mes.length==1)mes='0'+mes;var ano=parseInt($.trim($(this.parentNode.parentNode.parentNode).find('input[name="calendarioAno"]').val()),10);if(options.target!=''&&$(options.target).size()>0){var tag=$(options.target).get(0).tagName.toLowerCase();if(tag=='input'){$(options.target).val(dia+'/'+mes+'/'+ano);}else{$(options.target).html(dia+'/'+mes+'/'+ano);}}if(options.targetDay!=''&&$(options.targetDay).size()>0){var tag=$(options.targetDay).get(0).tagName.toLowerCase();if(tag=='input'){$(options.targetDay).val(dia);}else{$(options.targetDay).html(dia);}}if(options.targetMonth!=''&&$(options.targetMonth).size()>0){var tag=$(options.targetMonth).get(0).tagName.toLowerCase();if(tag=='input'){$(options.targetMonth).val(mes);}else{$(options.targetMonth).html(mes);}}if(options.targetYear!=''&&$(options.targetYear).size()>0){var tag=$(options.targetYear).get(0).tagName.toLowerCase();if(tag=='input'){$(options.targetYear).val(ano);}else{$(options.targetYear).html(ano);}}if(options.closeClick)$('#'+idCalendario).remove();return false;});navegacaoCalendario(idCalendario);}function navegacaoCalendario(idCalendario){$('#'+idCalendario+' a.fechar').unbind();$('#'+idCalendario+' a.fechar').click(function(){$('#'+idCalendario).remove();return false;});if(ano==anoMinimo&&mes==mesMinimo){$('#'+idCalendario+' a.bt_voltar_mes').hide();}else{$('#'+idCalendario+' a.bt_voltar_mes').show();$('#'+idCalendario+' a.bt_voltar_mes').unbind();$('#'+idCalendario+' a.bt_voltar_mes').click(function(){mes=parseInt($('input[name="calendarioMes"]').val(),10);ano=parseInt($('input[name="calendarioAno"]').val(),10);mes--;if(mes<0){mes=11;ano--;}$('input[name="calendarioMes"]').val(mes);$('input[name="calendarioAno"]').val(ano);preencher_calendario(idCalendario);return false;});}if(ano==anoMaximo&&mes==mesMaximo){$('#'+idCalendario+' a.bt_avancar_mes').hide();}else{$('#'+idCalendario+' a.bt_avancar_mes').show();$('#'+idCalendario+' a.bt_avancar_mes').unbind();$('#'+idCalendario+' a.bt_avancar_mes').click(function(){mes=parseInt($('input[name="calendarioMes"]').val(),10);ano=parseInt($('input[name="calendarioAno"]').val(),10);mes++;if(mes==12){mes=0;ano++;}$('input[name="calendarioMes"]').val(mes);$('input[name="calendarioAno"]').val(ano);preencher_calendario(idCalendario);return false;});}}preencher_calendario(idCalendario);var posicoes=$(options.referencePosition).offset();var leftPosition=posicoes.left+parseInt(options.left,10);var topPosition=posicoes.top+parseInt(options.top,10);$('#'+idCalendario).css({'left':leftPosition,'top':topPosition});$('#'+idCalendario).show();});};
  • terça-feira, 13 de abril de 2010

    ADICIONAR DIAS/MESES - SQL

    select current_date + '4 days'::interval;

    select current_date + '4 months'::interval;

    sexta-feira, 9 de abril de 2010

    Converter DATA por extenso para PORTUGUÊS

    setlocale(LC_ALL, 'portuguese');
    strftime (" %A %d %e %B de %Y", time());

    terça-feira, 30 de março de 2010

    PEGAR URL PHP

    PAGINA INDEX.PHP

    session_start();
    setlocale(LC_CTYPE,"pt_BR");
    header("Content-Type: text/html; charset=ISO-8859-1",true);
    ?>
    < html >
    < fraimeset rows="100%,*">
    if (! isset($_SESSION['url'])){
    < freime src="login.php" frameborder="0" name="conteudo" scrolling="Auto" marginwidth="0" marginheight="0">
    } else{
    < freime src=" =$_SESSION['url']" frameborder="0" name="conteudo" scrolling="Auto" marginwidth="0" marginheight="0">
    }
    < / frameset >
    < noframes >
    < / html >


    COLOCAR NA PAGINA QUE CONTEM O TOPO/MENU.
    session_start();
    $url = $_SERVER["REQUEST_URI"];
    $_SESSION['url']= $url;

    segunda-feira, 29 de março de 2010

    Centralizar POPUP

    //pega a resolução do visitante
    w = screen.width;
    h = screen.height;

    //divide a resolução por 2, obtendo o centro do monitor
    meio_w = w/2;
    meio_h = h/2;

    //diminui o valor da metade da resolução pelo tamanho da janela, fazendo com q ela fique centralizada
    altura2 = 300/2;
    largura2 = 580/2;
    meio1 = meio_h-altura2;
    meio2 = meio_w-largura2;

    window.open(add_localidade_muninter.php,'mywindow6','width=750,height=540,left=2,top=2,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes')" action="relatorio_atend.php" method="post" target="mywindow6">

    window.showModalDialog('add_localidade_muninter.php?local=1'+ '&id_muni=' + id_muni,'','dialogWidth:580px;dialogHeight:300px;dialogTop='+meio1+';dialogLeft='+meio2+';center:yes; resizable:yes; help:no; scroll:yes; status:on;');

    quarta-feira, 24 de março de 2010

    Transformar em EXCEL / DOC

    //EXCEL
    header("Content-type: application/vnd.ms-excel");
    header("Content-type: application/force-download");
    header("Content-Disposition: attachment; filename=$rel.xls");
    header("Pragma: no-cache");



    //DOC
    header( 'Pragma: public' );
    header( 'Content-Type: application/msword' );
    header( 'Content-Disposition: attachment; filename="' . $the_filename . '.doc"' );

    Auto Completar CEP

    CEP

    input type="text" style='width:200px' name="cep" id="cep" maxlength="9" onkeypress="return txtBoxFormat(this, '99999-999', event);"
    a href="javascript: funcaowebservicecep();"
    completar endereço


    //JAVASCRIPT
    function getHTTPObject() {

    var xmlhttp;
    /*@cc_on
    @if (@_jscript_version >= 5)
    try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
    xmlhttp = false;
    }
    }
    @else
    xmlhttp = false;
    @end @*/
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
    xmlhttp = new XMLHttpRequest();
    } catch (e) {
    xmlhttp = false;
    }
    }
    return xmlhttp;
    }

    var http = getHTTPObject();

    function funcaowebservicecep(){
    http.open("GET", '../contato/buscarendereco.php?cep='+document.getElementById("cep").value, true);
    http.onreadystatechange = handleHttpResponse;
    http.send(null);

    var arr; //array com os dados retornados

    function handleHttpResponse(){
    if (http.readyState == 4){
    var response = http.responseText;
    eval("var arr = "+response); //cria objeto com o resultado
    document.getElementById("rua").value = arr.rua;
    document.getElementById("bairro").value = arr.bairro;
    document.getElementById("cidade").value = arr.cidade;
    document.getElementById("uf").value = arr.uf;
    }
    }

    }

    AutoCompletar

    //JAVASCRIPT
    function sugestoesMostra(filtro_busca2) {
    if(filtro_busca2.length == 0) {
    // Esconde as sugestões
    $('#sugestoes').hide();
    } else {
    $.post("http://10.56.1.4/syscontato/contato/ajaxBusca.php", {queryString: ""+filtro_busca2+""}, function(data){
    if(data.length >0) {
    $('#sugestoes').show();
    $('#sugestoesLista').html(data);
    }else{
    $('#sugestoes').hide();
    }
    });
    }
    }

    function sugestoesEnvia(thisValue) {
    $('#filtro_busca2').val(thisValue);
    setTimeout("$('#sugestoes').hide();", 200);
    }


    //PHP
    input name='filtro_busca2' id='filtro_busca2' style='width:260px' onkeyup='sugestoesMostra(this.value);' onblur='sugestoesEnvia();' type='text'
    < class="'sugestoes'" id="'sugestoes'" style="'display:">
    < class="'sugestoesLista'" id="'sugestoesLista'">< /div >
    < /div >

    //Outra pagina
    // Verifica se foi enviado uma string na busca.
    if(isset($_POST['queryString'])) {

    $z = "host='10.56.1.1' dbname='syscontatos' port=5432 user='syscontatos' password='sysc0n72705'";

    pg_connect($z) or die
    ("ERRO: Não foi possível conectar ao BD.");
    pg_query("SET NAMES 'ISO-8859-1'");

    $queryString = utf8_decode($_POST['queryString']);

    // Verifica se quantidade de caracteres é maior que zero.
    if(strlen($queryString) > 0) {

    /* Caso a quantidade de caracteres for maior que zero,
    entraremos aqui, onde é executado o SQL.
    */

    if( $_SESSION['sistema'] == '1'){
    $query = pg_query("select nome_contato from contatos
    where nome_contato ilike '%$queryString%' ORDER BY nome_contato limit 20");
    //where TO_ASCII(nome_contato, 'LATIN1') ilike TO_ASCII('%$queryString%', 'ISO-8859-1') ORDER BY nome_contato limit 20");


    }else if (!isset($_SESSION['sistema']) ){
    $query = pg_query("select nome_contato from contatos
    where nome_contato ilike '%$queryString%' and id_orgao <> 0 ORDER BY nome_contato limit 20");
    //where TO_ASCII(nome_contato, 'LATIN1') ilike TO_ASCII('%$queryString%', 'ISO-8859-1') and id_orgao <> 0 ORDER BY nome_contato limit 20");


    }
    /* Bom, referente ao SQL acima, altere o CAMPO e a
    TABELA para o seu caso.
    Note que a $queryString é passada com porcentagem
    (%), com isso caso o usuário digite aba retornaremos
    "abacate, abacaxi", se estiver em nossa tabela é claro.
    */
    if($query) {
    // Se a query for executada corretamente, entraremos nesta linha abaixo, onde é feito um laço de repetição, atribuindo os valores a variável $result.
    while ($result = pg_fetch_array($query)) {
    /* Abaixo mostraremos o resultado em lista,
    novamente altere onde diz CAMPO para o campo
    de sua tabela.
    */

    echo '
  • '.htmlentities($result[nome_contato]).'
  • ';
    /*
    No onClick uma função: sugestoesRecebe, na qual
    mencionei anteriormente que serve para atribuir
    o resultado ao campo texto.
    */
    }
    } else {
    echo 'ERRO: Ocorreu um problema com a consulta.';
    }
    }
    } else {
    echo 'Não é permitido acesso direto a esse script.';
    }
    ?>





    segunda-feira, 15 de março de 2010

    Histórico de Modificações Geosnic

    Pessoal, segue link com o histórico de modificações do Geosnic Bahia:
    Hitórico de modificação

    quinta-feira, 11 de março de 2010

    Validação de Telefone e CEP

    //valida telefone
    function validaTelefone(tel, idcampo){

    if (tel.value.length > 0){
    exp = /\(\d{2}\)\ \d{4}\-\d{4}/
    if(!exp.test(tel.value)){
    alert('Número de Telefone Inválido!');
    document.getElementById(idcampo).value = '';
    }

    }
    }
    //valida CEP
    function validaCEP(cep, idcampo){
    if (cep.value.length > 0){
    exp = /\d{2}\.\d{3}\-\d{3}/
    if(!exp.test(cep.value)){
    alert('Número do CEP Inválido!');
    document.getElementById(idcampo).value = '';
    }
    }
    }


    Para outros Scripts, consultar: http://forum.imasters.uol.com.br/index.php?/topic/222133-mascara-e-validacao-de-cpfcnpjcepdatatelefone/

    Validação de CPF

    // VALIDACAO DO CPF
    function validaCPF(cpf, idcampo){
    if (cpf != ''){
    if ( cpf == '000.000.000-00' ||
    cpf == '111.111.111-11' ||
    cpf == '222.222.222-22' ||
    cpf == '333.333.333-33' ||
    cpf == '444.444.444-44' ||
    cpf == '555.555.555-55' ||
    cpf == '666.666.666-66' ||
    cpf == '777.777.777-77' ||
    cpf == '888.888.888-88' ||
    cpf == '999.999.999-99'){

    alert('CPF Inválido!');
    document.getElementById(idcampo).value = '';
    }else{

    exp = /\.|\-/g
    cpf = cpf.toString().replace( exp, "" );
    var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
    var soma1=0, soma2=0;
    var vlr =11;
    for(i=0;i<9;i++){
    soma1+=eval(cpf.charAt(i)*(vlr-1));
    soma2+=eval(cpf.charAt(i)*vlr);
    vlr--;
    }
    soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
    soma2=(((soma2+(2*soma1))*10)%11);
    var digitoGerado=(soma1*10)+soma2;
    if(digitoGerado!=digitoDigitado) {
    alert('CPF Inválido!');
    document.getElementById(idcampo).value = '';
    }

    }

    }
    }

    VALIDACAO DO CNPJ

    // VALIDACAO DO CNPJ
    function validaCNPJ(cnpj, idcampo){
    //var cnpj = ObjCnpj.value;
    if (cnpj != ''){
    var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
    var dig1= new Number;
    var dig2= new Number;

    exp = /\.|\-|\//g
    cnpj = cnpj.toString().replace( exp, "" );
    var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));

    for(i = 0; i dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);
    dig2 += cnpj.charAt(i)*valida[i];
    }
    dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
    dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));

    if(((dig1*10)+dig2) != digito){
    alert('CNPJ Inválido!');
    document.getElementById(idcampo).value = '';
    }

    }
    }

    terça-feira, 9 de março de 2010

    Trac e SVN

    Para instalar o trac no Windows é necessário:

    1. Instalar o TortoiseSvn;
    2. Instalar bitnami-trac-0.11.6-0-windows-installer-r01.exe


    Instalados os softwares, para criar um projeto, é necessário executar os seguintes passos:

    1. Deverá ser criado o diretório que conterá o repositório do código. Para tanto deve ser executado o comando



    svnadmin create "caminho_do_diretorio". Supondo que a instalação do Trac tenha sido realizada no diretório C:\Trac, esse executável se encontra no caminho : C:\TRAC\subversion\bin

    Obs: Para tornar a integração mais fácil com o desenvolvimento do sistema, é aconselhavel salvar o repositório na pasta htdocs do servidor Apache.

    2. Para criar o projeto TRAC em si, deve ser digitada, na linha de comando, a seguinte informação:


    trac-admin caminho_para_projeto initenv.

    Por exemplo, se o TRAC ouver sido instalado na pasta C:\Trac, deve-se entrar na pasta C:\Trac\trac\Scripts e executar o comando, como pode ser visto no exemplo abaixo:

    C:\TRAC\trac\Scripts> trac-admin C:\Projetos\Teste initenv

    Após execução do comando, serão pedidas mais informações sobre o projeto, como o nome que irá aparecer no website e o caminho para o repositório de arquivos que, obrigatoriamente, deverá corresponder ao caminho do diretório do repositório criado no passo 1.



    Obs: Caso ocorram problemas de biblioteca na criação do repositório, é necessário copiar os arquivos da pasta Trac\subversion\bin para a pasta tortoisesvn\bin, que geralmente se enconta no diretório Arquivos de Programas


    3. Criado o projeto, deve-se modificar os arquivos svnserve.conf e passwd , que estão localizados na subpasta conf do diretório do repositório (criado no passo 1). O arquivo passwd deve conter o nome de usuário e a senha de acesso ao repositório, já o arquivo svnserve.conf contém as configurações de acesso ao mesmo. Modelos desses arquivos foram anexados ao manual.

    4. Por fim, para acessar a página do projeto TRAC digite, em um browser, http://10.56.1.4:8081/trac/nome_do_projeto. Já, para ter acesso aos arquivos do repositório, é preciso realizar o checkout através da ferramenta cliente do tortoise. Para tanto, será necessário digitar um endereço parecido com o exemplo abaixo:

    svn://10.56.1.4/ms4w/Apache/htdocs/syspleitos

    segunda-feira, 1 de março de 2010

    Utilizando o Método POST em Ajax

    var xmlhttp = setXmlHttp(); // Função Personalizada
    xmlhttp.open("POST", "http://localhost/post.php", true);
    xmlhttp.send("seus_dados=via_post");

    var xmlhttp = setXmlHttp(); // Função Personalizada
    xmlhttp.open("POST", "http://localhost/post.php", true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // Setando Content-type
    xmlhttp.send("seus_dados=via_post");

    Função para fechar um popup e enviar dados para outra pagina.


    function fechar(){
    window.close();
    var municipio = document.getElementById('municipio').value;
    var localidade = document.getElementById('localidade').value;

    opener.location.href='editar_form1.php?muni='+ municipio +'&local='+ localidade;

    }


    Ajax síncrono

    Abaixo, segue exemplo de utilização de ajax na modalidade síncrona. Essa forma é putil para evitar conflitos de escalonamento, uma vez que, na forma síncrona, o fluxo da página é interrompido e só retorna após a execução do scripst ajax:




    var xmlhttp = false;
    try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
    xmlhttp = false;
    }
    }

    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    xmlhttp = new XMLHttpRequest();
    }

    xmlhttp.open("GET", 'inserir_muninter.php?id_muni='+id_municipio+'&id_inter='+id_natu_inter+'&num_prot='+num_prot, false); //sincrono
    xmlhttp.setRequestHeader('Content-type', 'text/xml;charset=utf-8');
    xmlhttp.send(null);
    if(xmlhttp.responseText == 'erro'){
    alert('Dados duplicados!');

    }else{
    document.getElementById('add_muninter').innerHTML = xmlhttp.responseText;
    carregar_muninter_grid(num_prot);
    carregar_muninter(num_prot);
    }

    Nesse caso a opção false em negrito indica que a página inserir_muninter.php será chamada de modo síncrono. Além disso o "echo" executado nela (inserir_muninter.php) será retornado no responseText do objeto xmlhttp. Vale ressaltar que não é necessário perguntar o estado da requisição uma vez que a mesma é executado inteiramente antes do fluxo da página que chama o script continue a execução.

    quinta-feira, 4 de fevereiro de 2010

    Para pegar o endereço IP do cliente em uma aplicação PHP:

    $_SERVER["REMOTE_ADDR"];

    quarta-feira, 3 de fevereiro de 2010

    Bem-Vindo

    Bem-vindos ao blog Base de Conhecimento SEDUR. Aqui, deverão ser armazenadas nossas descobertas, além dos trechos de código e os comandos SQL mais utilizados.