Controle os estilos de cada tipo de input pelo css

Uma dica muito boa de css

Controle os estilos de cada tipo de input na sua página, veja o exemplo abaixo:

input[type="text"] {
font:bold 10px/12px verdana,arial,serif;
padding:3px;
}
input[type="button"], input[type="submit"] {
/* seus estilos */
}

Posted by Programador ASP

Tudo sobre File System Object - FSO

Se alguem tinha alguma dúvida sobre File System Object :D

Copie e cole este código numa página ASP, troque o caminho da imagem/arquivo e analise os atributos do mesmo!

<%
Set fso = CreateObject("Scripting.FileSystemObject ")
Set arquivo = fso.GetFile("C:\Inetpub\wwwroot\dgabc.com.br\leo.jpg")

response.Write("Data criação: <strong>" & arquivo.DateCreated & "</strong><br />")
response.Write("Data do ultimo acesso: <strong>" & arquivo.DateLastAccessed & "</strong><br />")
response.Write("Data da ultima modificação: <strong>" & arquivo.DateLastModified & "</strong><br />")
response.Write("Drive: <strong>" & arquivo.Drive & "</strong><br />")
response.Write("Nome: <strong>" & arquivo.Name & "</strong><br />")
response.Write("Caminho: <strong>" & arquivo.ParentFolder & "</strong><br />")
response.Write("Caminho completo: <strong>" & arquivo.Path & "</strong><br />")
response.Write("Nome: <strong>" & arquivo.ShortName & "</strong><br />")
response.Write("Caminho raiz: <strong>" & arquivo.ShortPath & "</strong><br />")
response.Write("Tamanho: <strong>" & arquivo.Size & "</strong><br />")
response.Write("Tipo: <strong>" & arquivo.Type & "</strong><br />")

set arquivo = nothing
set fso = nothing
%>


Abraços

Posted by Programador ASP

Novas vagas

- LIDER DE PROJETOS
EXPERIÊNCIA NECESSÁRIA - MAIS DE 5 ANOS COMO LIDER DE PROJETOS

- SUPORTE - SEXO FEMININO
CONHECIMENTOS EM WINDOWS/ PROJECT / DESEJAVEL LINUX

Valor proposto CLT R$ 1.500,00 - PJ R$ 2.700,00

INTERESSADOS ENVIAR C.VITAE O MAIS URGENTE POSSIVEL COM VALOR H/H

Enviar para: rh@pkgsystem.com.br

Concatenar variaveis ou strings asp e php

Como concatenar váriaveis ou strings asp ou php? O que seria concatenar primeiro?

O dicionario descreve concatenar como ligar, relacionar, encadear portanto se tratando de programação e variaveis ou strings vamos ligar, relacionar, encadear variaveis ou strings

Por exemplo em asp:

var1 = "www"
var2 = "leolima77"
var3 = "com.br"

Concatenando:

conc = var1 & "." & var2 & "." & var3

response.write(conc) ' resultado www.leolima77.com.br

No php:

$var1 = "leolima"
$var2 = "leolima77"
$var3 = "com.br"

Concatenando:

$conc = $var1 . "[@]" . $var2 . "." . $var3

echo $conc; // resultado leolima[@]leolima77.com.br

Dúvidas entrem em contato

abraços

Validar e-mail com ASP

Agora validação de email em asp com expressão regular!

O retorno é booleano (true ou false)

<%
'-----------------------------------------------------
'Funcao: IsEmail(strEmail)
'Sinopse: Verifica se o valor passado é um Email válido
'Parametro: strEmail
'Retorno: Booleano
'-----------------------------------------------------
Function IsEmail(strEmail)
Set regEx = New RegExp ' Cria o Objeto Expressão
regEx.IgnoreCase = True ' Sensitivo ou não
regEx.Global = True ' Não sei exatamente o que faz

'Caracteres Excluidos
regEx.Pattern = "[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1"
ResultadoHum = RegEx.Test(strEmail)
'Caracteres validos
regEx.Pattern = "@[\w\-]+\."
ResultadoDois = RegEx.Test(strEmail)
'Caracteres de fim
regEx.Pattern = "\.[a-zA-Z]{2,3}$"
ResultadoTres = RegEx.Test(strEmail)
Set regEx = Nothing

If Not (ResultadoHum) And ResultadoDois And ResultadoTres Then
IsEmail = True
Else
IsEmail = False
End If
End Function

'EXEMPLO DE CHAMADA
Response.Write IsEmail("email@provedor.com.br")
%>

Fonte: Codigo Fonte : Gabriel Fróes

posted by Programador ASP

Validar e-mail com PHP

<?php


   
function valida_email($endereco){

      
$pattern "^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-]+\.[a-zA-Z0-9\-\.]+$";

     
      if (
eregi($pattern$endereco)){

         return 
true;
      }
      else {
         return 
false;
      }   
   }
?>   

 <html>
   <body> 
      <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="emailForm">
        Email: <input type="text" name="email"><br/>
        <input type="submit" name="submitemail">
      </form>          

       <?php
         
if (isset($_POST['submitemail']))
         {

            if (
valida_email($_POST['email'])){

                echo 
"O email: ".$_POST['email']." é válido! ";

            }
            else{

                echo 
"O email: ".$_POST['email']." não é válido! ";

            }
         }
       
?>
    </body> 

 </html> 


Nesse código implementamos a função valida_email(). Uma vez implementada, essa função poderá ser chamada posteriormente no código. Essa função espera um parâmetro, que está representado por '$endereco' no código. Esse parâmetro será o endereço de e-mail que desejamos validar. Ao receber o parâmetro, ela o joga para a função ereg(), que pesquisa em '$endereco' para ver se encontra a expressão que lhe foi passada primeiramente. O que passamos para ereg() nesse caso foi:

^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-]+\.[a-zA-Z0-9\-\.]+$

Vamos explicar cada parte dessa expressão:

(1) ^[a-zA-Z0-9_\-\.]+ significa que ereg() deve procurar em '$endereco' algo que "inicie com pelo menos uma letra (de a até z e de A até Z), um número (de 0 até 9), underline (_), hífen (\-) ou ponto (\.) e posteriormente utilize, no máximo, uma combinação disso".

(2) @ significa que deve-se localizar um literal "@".

(3) [a-zA-Z0-9_\-]+ significa que deve-se localizar algo que contenha caracteres alfanuméricos, hífens ou underlines.

(4) \. procura por um ".".

(5) [a-zA-Z0-9\-\.]+$ procura no restante do endereço letras, números, hífens e pontos até o final da string.

A função valida_email() então retorna "true" se ereg() encontrar o que busca e o e-mail for, portanto, válido. Se o e-mail for inválido, valida_email() retornará "false".

Na parte seguinte do código, chamamos a função valida_email() dentro de um if() para verificar se o endereço contido em '$email' é válido. Não abordei aqui a forma como o valor de '$email' lhe foi atribuído, mas usualmente isso seria feito através de um formulário. A função valida_email() recebe o valor de '$email' (que assume o papel de '$endereco') e faz a verificação. Se o valor retornado for "true" escreve-se na tela "O e-mail é válido!", mas se for "false" escreve-se "O e-mail não é válido!".

Para entendermos bem o que está acontecendo, façamos uma simulação. Para isso, faremos uma atribuição direta para '$email'. Podemos, por exemplo, substituir as linhas 11 e 12 do nosso código pelo seguinte:

$email = "teste_.-._01@servidor_-_01.com.br";

» Nesse caso, teste_.-._01@servidor_-_01.com.br é aprovado em (1) que encontra o que procura em teste_.-._01, é aprovado em (2) que encontra @, é aprovado em (3) que encontra o que procura em servidor_-_01, é aprovado em (4) que encontra . e é finalmente aprovado em (5) que encontra o que procura em com.br. Portanto, nesse caso, valida_email() retorna "true".

Agora, substituamos as linhas 11 e 12 por:

$email = "teste@a2*.";

» Nesse segundo caso, teste@a2 *. é aprovado em (1) que encontra o que procura em teste, é aprovado em (2) que encontra @, mas é reprovado em (3) que encontrou * que não procurava. A pesquisa pára aqui, mas caso ela continuasse, teste@a2*. seria aprovado em (4) que encontra . mas seria novamente reprovado em (5) que não possui mais string onde procurar. Portanto, valida_email() retorna "false".

OBS: ereg() retornará "false" somente se encontrar um caractere que não estava procurando (como no caso do *) ou se não encontrar nenhum dos caracteres que estava procurando. O fato de 'teste' não possuir números ou hífens não faz com que ele seja reprovado em (1).

Pronto! Agora você poderá reduzir consideravelmente os e-mails inválidos informados por usuários aos seus formulários, tendo em vista que é impossível criar um sistema que barre 100% dos e-mails inválidos. E lembre-se: tenha cuidado ao tornar as coisas mais restritivas, uma vez que uma função de validação que rejeita 1% dos dados válidos é muito mais irritante que uma que permite 10% de dados inválidos.

Fonte: Plugmasters : Michel Franscisco

Posted by Programador PHP

Algumas vagas para programadores em São Paulo

Empresa de TI do segmento de previdência com 20 anos de atuação no mercado
localizada na Vila Olímpia-SP seleciona candidatos para:

Programador(a) VB, VB.NET e SQL

Com conhecimentos avançados em VB, VB.NET e SQL
Necessário experiência comprovada em empresas anteriores envolvendo as
especificações acima.

Indicar pretensão salarial / hora como PJ e qual a disponibilidade para início

Enviar curriculo no formato doc.(word)

Obs: Vaga preferencialmente para candidatos que residam em S.Paulo ou Grande S.Paulo.

Cidade : São Paulo - SP
Empresa: GPI SISTEMAS
Enviar email para: (EMAIL: rhti@gpi.com.br)

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Programação :: Programador HTML

Local:
Confidencial
São Paulo,SP

Anúncio:
Buscamos estudante com força de vontade, dedicação e vontade de aprender que entenda dos requisitos abaixo:

- HTML, CSS, Javascript, Tableless, Web Standarts
- conhecimentos básicos em ASP
- noções de Photoshop

Interessados estarão sujeitos a entrevista e teste de conhecimentos.

Salário: R$ 1500 - PJ

Data do anúncio:
28/09/2007

Contato:
Henrique

E-mail:
vagactivity@gmail.com

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Programação :: Analista Programador e de Sistemas

Local:
Tortuga Cia Zootecnica Agraria
São Paulo,SP

Anúncio:
- 03 anos de experiência em desenvolvimento;
- Profundos Conhecimentos: ASP, .net, html, CSS (Tableless), JavaScript, XML;
- Profundos Conhecimentos em SQL Server;
- Vaga CLT + Beneficios;
- Enviar Pretensão Salarial;

Data do anúncio:
28/09/2007

Contato:
Sinéas Borges

E-mail:
vagasti@tortuga.com.br

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Outros :: Programador PHP

Local:
Endo Publicidade
São Paulo,SP

Anúncio:
O candidato deve residirna Zona Sul SP.
Conhecimentos técnicos:
PHP – Intermediário ou avançado. Deve saber fazer conexões com banco de dados, formulário de inserção, alteração, exclusão, validação de senha, variável de seção, operações numéricas na "unha", sem utilização do scripts pré prontos. O hor. de trab das 10 às 19hrs. Contratação PJ. Salário de R$ 1200 à R$ 1500.

Data do anúncio:
27/09/2007

Contato:
Endo

E-mail:
endo@raves.com.br

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Outros :: Programador Flash Sênior

Local:
A1.Brasil
São Paulo,SP

Anúncio:
- AS2 e AS3
- Experiência em criação de hotsites e ferramentas interativas.
- programação orientada a objetos
- conhecimento de documentação
- animações em código
- noções de layout e motion

CV para douglas.bocalao@a1.com.br com pretensão salarial em regime PJ.

Data do anúncio:
27/09/2007

Contato:
Douglas Bocalão

E-mail:
douglas.bocalao@a1.com.br

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Programação :: Programador Flash

Local:
EverSystems / EverMedia
São Paulo,SP

Anúncio:
A agencia EverMedia, está com uma oportunidade para profissionais da área de programação.
Buscamos profissionais que possua experiência maior de um ano na linguagem Flash - Action Script.
A oportunidade é nivel Junior e possui remuneração de R$1000,00 á R$2000,00.
Caso tenha interesse. favor encaminhar cv atualizado, informando valor pretendido.
Atenciosamente.
Joyce Assis

Data do anúncio:
27/09/2007

Contato:
Joyce Assis

E-mail:
joyce.assis@eversystems.com.br

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Programação :: Programador HTML

Local:
EverSystems / EverMedia
São Paulo,SP

Anúncio:
A agencia EverMedia busca profissionais para atuar na área de programação de interface.
É necessário que pussoa experiência maior de um ano em: HTML, JavaScript, CSS, etc.
A oportunidade é nivel Junior e oferece remuneração de R$1000,00 á R$2000,00.
Caso tenha interesse. Favor entrar encaminhar cv atualizado, informando valor pretendido.

Data do anúncio:
27/09/2007

Contato:
Joyce Assis

E-mail:
joyce.assis@eversystems.com.br

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Outros :: Programador .Net

Local:
EverSystems / EverMedia
São Paulo,SP

Anúncio:
A agencia EverMedia está em busca de profissionais para atuar como Programador .Net Junior.
É necessário experiência maior de um ano em .Net e desejavel que já tenha atuado em projetos para desenvolvimento de WebSites.
Valor oferecido está em R$2000,00 á
R$2500,00.
Caso tenha interesse. Favor encaminhar cv atualizado e informe valor pretendido.

Atenciosamente,
Joyce Assis

Data do anúncio:
27/09/2007

Contato:
Joyce Silva Assis

E-mail:
joyce.assis@eversystems.com.br

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Programação :: Programador HTML

Local:
Agência Dot.
São Paulo,SP

Anúncio:
Vaga imediata para produtor html com duração até Dezembro.

Produção html, adaptação de scripts, layouts, bons conhecimentos em Dreamweaver, Photoshop, CSS e vontade de aprendizado.

Salário de $700,00 + VT.

Data do anúncio:
16/09/2007

Contato:
Murilo Cardoso

E-mail:
atendimento@agenciadot.com.br

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Outros :: Coordenador de Interface(HTML)

Local:
5A Consultoria em Gestão
São Paulo,SP

Anúncio:
Estamos selecionando profissionais para empresa de grande porte localizada na Zona Sul de São Paulo.

Forma de Contratação: PJ
Requisitos Obrigatórios:

Coordenação de interface
Coordenação de equipes
Tableless
JavaScript
HTML
DHTML
XHTML
CSS
Home Site
Photoshop

Data do anúncio:
16/09/2007

Contato:
Fernando

E-mail:
fernando@5a.com.br

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Programação :: Programador Flash

Local:
Management to Business
São Paulo,SC

Anúncio:
Procura-se profissional em flash para desenvolvimento de projeto em flash, salario a combinar.

Data do anúncio:
16/09/2007

Contato:
Wellington

E-mail:
wellington@mm2b.com.br

------------------------------------------------------------------------
------------------------------------------------------------------------

Tipo de Profissional:
Programação :: Programador Flash

Local:
Geosfera
A partir de qualquer cidade,SP

Anúncio:
Precisamos de free lancers p/ montagem de websites a partir de projetos gráficos desenvolvidos por nossa área de criação e de designers para a criação de novos layouts. São indispensáveis conhecimentos de flash.
Toda a relação entre o free lancer e nossa empresa é realizado online, sem necessidade de comparecimento à empresa, salvo raras exceções.

Data do anúncio:
19/09/2007

Contato:
João Paulo e/ou Luciana

E-mail:
freelancer@geosfera.com.br

------------------------------------------------------------------------
------------------------------------------------------------------------

Fonte: clickjobs

posted by www.leolima77.com.br

Testar a igualdade de strings - PHP

Com o PHP temos a possibilidade de testar a igualdade de strings de duas maneiras, com a função strcmp ou com a função strcasecmp. Vejamos alguns exemplos usando elas para fazer isso e como é o funcionamento delas. Testar a igualdade de strings considerando maiúsculas e minúsculas:
<?
$palavra1 = "Programar";
$palavra2 = "PROGRAMAR";

if(strcmp($palavra1, $palavra2) == 0)
echo "As duas palavras são iguais";
else
echo "As duas palavras são diferentes";
?>

Testar a igualdade de strings desconsiderando maiúsculas e minúsculas:

<?
$palavra1 = "Programar";
$palavra2 = "PROGRAMAR";

if(strcasecmp($palavra1, $palavra2) == 0)
echo "As duas palavras são iguais";
?>

Fonte: htmlstaff

Os coitadinhos da tecnologia

Os executivos da área de tecnologia dominam a lista das 10 pessoas mais ricas dos Estados Unidos, de acordo com a revista Forbes.

O co-fundador e chairman da Microsoft, Bill Gates, permanece como o homem mais rico dos Estados Unidos com fortuna avaliada em 59 bilhões de dólares.

Gates, no entanto, não é mais o homem mais rico do mundo. Em agosto, a Forbes informou que ele foi ultrapassado pelo mexicano Carlos Slim, dono do grupo de telecomunicações América Móvil (controlador da Claro, no Brasil).

Pela primeira vez, os fundadores do Google , Sergey Brin e Larry Page, aparecem entre os 10 executivos mais ricos dos Estados Unidos. Eles estão na 5ª colocação, com uma fortuna avaliada em 18,5 bilhões de dólares cada um. Eles são os mais jovens entre as pessoas mais ricas dos Estados Unidos, com 34 anos.

De forma geral, cinco dos 10 executivos mais ricos dos Estados Unidos são da área de tecnologia. Larry Ellison, da Oracle, e Michael Dell, da Dell, estão na 4ª e na 8ª posições, respectivamente, com fortunas avaliadas em 26 bilhões de dólares e 17,2 bilhões de dólares.

O co-fundador da Microsoft Paul Allen caiu da 5ª para a 11ª posição neste ano, com uma fortuna avaliada de 16,8 bilhões de dólares.

Fonte: htmlstaff

Funções muito uteis asp - sql injection - data por extenso - enviar email com cdonts

Tenho um post com algumas dessas funções já, inclui mais algumas muito uteis
Fiquem a vontade!!!

<%
Function valida_dados
(input)

lixo = array ("select", "insert", "update", "delete", "drop", "–", "'")
ValidaDados = true

for i = lBound(lixo) to ubound(lixo)
if (instr(input,lixo(i)) <> 0) then
ValidaDados = False
exit function

end if

next

end function

Function limpa_lixo(input)
lixo = array ("select" ,"drop" ,";" ,"–" ,"insert" ,"delete" ,"xp_")

for i = lBound(lixo) to uBound(lixo)

input = replace(input, lixo(i), "")
next
limpa_lixo = input

end Function

Function tira_aspas(texto)

tira_aspas = replace(texto ,"'" , "")

End function

function mandar_email(de, para, mensagem, assunto)
Set email = CreateObject("CDONTS.NewMail")

email.From = de
email.To = para
email.BodyFormat = 0

email.Subject = "Enviado do site - " & assunto

email.Body = mensagem

On Error Resume Next

email.Send Set email = Nothing end function

function data_completa ()

dia_semana = WeekdayName(Weekday(Date))

dia = day(date)

mes = MonthName(Month(Date))

ano = year(date)

response.write(dia_semana & ", " & dia & " de " & mes & " de " & ano)

end function


Como usar as benditas

'Retorna valor booleano - true ou false
ValidaDados
(variavel)


'Retorna o texto sem as palavras perigosas
response.write(limpa_lixo(variavel))

'Retorna o texto sem as aspas simples
tira_aspas(variavel)

'Envia email via cdonts

mandar_email(request.Form("de"), request.Form("para"), request.Form("mensagem"), request.Form("assunto"))


'Retorna a data por extenso, só que vc antes tem que setar o formato de hora do pais q vc está, como estamos no brasil 1046

session.LCID = 1046 data_completa () %>

qq coisa gritem Abraços

O que é um freelance?

Definição de freelance e introdução à motivação que pode ter uma pessoa para se converter em um desenvolvedor independente.

Habitualmente associa-se a imagem do freelance a uma pessoa independente, que não quer casar com ninguém e não deseja estar submetido a normas nem vínculos em relação a horários, formas de vestir, etc…

Cada vez mais este estereótipo está mudando para uma imagem muito mais real, devido à globalização, junto com o aumento da potência dos computadores e o barateamento dos custos necessários para poder trabalhar em casa (computador, conexão rápida a Internet, hospedagem web, etc). O que está claro é que muita gente tem todo o kit completo para ser um freelance, sem sequer se dedicar a isso.

Como um segundo ponto e já falando do Brasil, a precariedade de trabalho por conta alheia, "empurra" a muitas pessoas a proverem a sorte e oferecer seus serviços como Freelance. Obter um primeiro emprego é bastante complicado. Por muito que se saiba, sempre falta experiência em projetos, etc. Sendo assim, muitas pessoas optam por buscar por si mesmas os projetos, ou simplesmente aparece algum amigo ou conhecido que necessita uma web, uma funcionalidade pequena, una ferramenta para poder armazenar o estoque, etc. E, como esse amigo sabe que você domina a informática (que perigoso é isso) lhe comentam.

Com isto, consegue-se um primeiro projeto, que habitualmente dura bastante tempo, a metade do qual o utiliza para buscar informação em fóruns e páginas, para resolver suas dúvidas. Além disso, você se dá conta que é capaz de levar um projeto adiante e então começa a conhecer seus pontos fortes e aonde necessita de ajuda. Possivelmente, você pode requerer um designer, ou um programador a mais. Assim é como você vai entrando em contato com gente para realizar projetos, criando sua carteira de clientes e contatos com outras pessoas que se dedicam ao desenvolvimento freelance, igual que você. Estes contatos são muito importantes porque tanto você quanto outros profissionais podem necessitar dos serviços do outro, de forma que você poderá aumentar o volume de pedidos e também a carga de trabalho que poderia suportar se só fosse você o desenvolvedor.

Depois do primeiro projeto, sai o segundo e assim sucessivamente. Neste ponto há duas opções. Estar registrado como autônomo, colaborando com gente confiável para as seções que você não domina, ou montar uma empresa com gente que complemente seu trabalho.

As duas opções são boas, mas nesta série de artigos vamos dedicarmos aos primeiros, aqueles que são comerciais, designers, programadores, recepcionistas, telefonistas, secretário/a, etc. Tudo em um, embora haja tarefas mais ou menos interessantes e pior ou melhor valorizadas. Tudo isto o desenvolveremos nos próximos artigos.

Fonte: Criar Web

Posted by www.leolima77.com.br

Tabela de Funções da Linguagem ASP

FunçãoDescrição
Abs()Devolve o valor absoluto de um número
Array()Define um conjunto de valores identicos. O 1º indice tem o valor 0(zero)
Asc()Devolve e valor ASCII de um caracter
Atn()Devolve o arco-tangente de um número
CBool()Devolve True ou False de uma expressão
CByte()Devolve o valor Byte de um número
CCur()Devolve o valor na moeda currente
CDate()Devolve o valor da data corrente
CDbl()Devolve um valor em tipo DOULBLE
Chr()Devolve o caracter de um valor ASCII
CInt()Devolve um valor INTEIRO
CLong()Devolve um valor LONGO
Cos()Devolve o coseno de um angulo
CreateObject()Cria uma referencia a um objeto externo
Csng()Devolve um valor tipo SINGLE
Date()Devolve a data do servidor
DateAdd()Devolve a data + N dias
DateDiff()Devolve a diferença entre duas datas
DatePart()Devolve, a partir de uma certa data, a altura do ano
DateSerial()Devolve uma data para determinado Dia, Mes, Ano
DateValue()Devolve uma data válida
Day()Devolve o dia de uma data
Exp()Devolve o exponencial de um valor
Filter()Devolve o valor de uma determinada pesquisa num Array
Fix()Devolve o inteiro de um numero
FormatCurrency()Devolve um valor na moeda corrente
FormatDateTime()Devolve um valor na data corrente
FormatNumber()Devolve um numero em determinado formato
FormatPercent()Devolve a percentagem de um quociente
GetObject()Devolve e referencia de um objeto
Hex()Devolve o valor hexadecimal
InStr()Devolve a posição de uma string dentro de outra a contar do inicio
InStrRev()Devolve a posição de uma string dentro de outra a contar do fim
IsArray()Devolve True ou False sobre uma variavel array (Tabela)
IsDate()Devolve True ou False sobre se uma variavel é uma data valida ou não
IsEmpty()Devolve True ou False se uma variavel está vazia ou não
IsNull()Devolve True ou False se uma variavel é nula ou não
IsNumeric()Devolve True ou False se uma variável é numérica ou não
IsObject()Devolve True ou False se é um objecto válido ou não
Join()Devolve uma variável concatenando uma variável array
LBound()Devolve o menor valor da dimensão de um array
LCase()Devolve uma strig em minusculas
Left()Devolve um certo numero de caracteres á esquerda de uma string
Len()Devolve o comprimento de uma string
Log()Devolve o logaritmo de um numero
LTrim()Devolve uma string eliminando os espaços á esquerda
Mid()Devolve um numero de caracteres a partir de uma dada posição
Minute()Devolve o minuto de uma dada hora
Month()Devolve o mes de uma data
Monthdate()Devolve o nome do mes correspondente a uma data
Now()Devolve o data e a hora corrente
Oct()Devolve o valor octal de um numero
Replace()Devolve uma string alterada por outra
RGB()Devolve o valor de uma cor (R)=Red/Vermelho (G)=Green/Verde (B)=Blue/Azul
Right()Devolve um numero de caracteres á direita de uma string
Round()Devolve valores numéricos arredondados
Second()Devolve os segundos da hora corrente
Sgn()Devolve o sinal de um valor (1=positivo) (0=zero) (-1=negativo)
Sin()Devolve o seno de um angulo
Space()Devolve / introduz um numero de espaços entre duas strings
Split()Devolve um array atraves de uma string
Sqr()Devolve a raiz quadrada de um numero
StrComp()Devolve 1 ou -1 conforme as strigns são iguais ou diferentes
StrReverse()Devolve uma string invertendo os caracteres
String()Devolve um caracter repetido N vezes
Tan()Devolve a tangente de um numero
Time()Devolve a hora do sistema
Timevalue()Devolve uma hora válida
TypeName()Devolve o tipo de variável
UBound()Devolve o maior valor da dimensão de um array
Ucase()Devolve uma string em maiusculas
VarType()

Devolve um numero correspondente ao tipo de variável


0-Vazia ; 1-Nula ; 2-Integer ; 3-Long ; 4-Single ; 5-Double ; 6-Currency


7-Data ; 8-String ; 9-Object ; 10-Error ; 11-Booleano ; 12-Variant ; 13-DAO


17-Byte ; 8192-Array

Weekday()Devolve o dia da semana, um numero (1=Domingo), etc.
WeekDayName()Devolve por extenso o dia da semana
Year()Devolve o ano da data

O que é Web 2.0

Até hoje não se tem definido o que é a web 2.0. No fim do artigo sobre Web 2.0 da Wikipédia , até o momento não existe consenso sobre o que exatamente é a Web 2.0. Na história, só é possível analisar um fato histórico depois de algum tempo de acontecido e como a Web 2.0 está em construção, ele ainda não tem sua forma final. Nós estamos moldando a Web 2.0.

O termo Web 2.0 foi criado por Tim O'Reilly e tem o seguinte conceito na wikipédia:

"Web 2.0 é a mudança para uma internet como plataforma, e um entendimento das regras para obter sucesso nesta nova plataforma. Entre outras, a regra mais importante é desenvolver aplicativos que aproveitem os efeitos de rede para se tornarem melhores quanto mais são usados pelas pessoas, aproveitando a inteligência coletiva."

Porém, para facilitar o entendimento do termo com uma visão brasileira, pedi ajuda a algumas pessoas envolvidas na web brasileira. Como são eles que constroem nossa Web 2.0, sua visão é essencial para uma resposta. Como o objetivo é uma resposta simples e objetiva, pedi a eles que limitassem a resposta a 128 caracteres. Não existe resposta certa ou errada, apenas diferentes pontos de vista. Ordenei conforme as repostas foram chegando. Obrigado a todos pela colaboração.
O resultado do que é a web 2.0, você confere abaixo:

"Melhor aproveitamento da inteligência coletiva e do poder de processamento da máquina cliente. Poder às pessoas."
Marco Gomes - co-criador do boo-box

"A Web 2.0 representa a transição para um novo paradigma onde a colaboração ganha força suficiente para concorrer com os meios tradicionais de geração de conteúdo."
Renato Shirakashi - criador do Rec6

"Mudança ocorrida na vida dos usuários que com a banda larga passam mais tempo on-line e exercem massivamente o potencial interativo da Internet."
Carlos Nepomuceno - autor do livro Conhecimento em Rede

"Web 2.0 é um buzz word que define conteúdo gerado pelo usuário e com foco no compartilhamento de informações. Tudo regado a AJAX."
Nando Vieira - criador do spesa

"Web 2.0 é um novo paradigma na utilização e criação de web sites mais participativos e colaborativos."
Fabio Seixas - criador do Camiseteria

"Web 2.0 é o momento em que o mercado, por força dos usuários, voltou a dar importância para web depois do estouro da bolha."
Paulo Rodrigo Teixeira - criador do 0BR

"Web 2.0 é o termo usado para identificar uma nova forma de navegar pela internet e, conseqüentemente, de desenvolver aplicações orientadas à esta nova geração de internautas."
Diego Polo - criador do linkk

"Web 2.0 é como chamamos, depois de uma profunda análise histórica da web, um conjunto de práticas que ao longo dos anos provaram dar resultado."
Gilberto Jr - criador do Outrolado

"A Web 2.0 aponta para uma mídia popular, independente de grandes corporações, recriada pelos seus próprios usuários."
Frederick van Amstel - é mestrando em Tecnologia pela UTFPR e edita o blog Usabilidoido

"O registro dos fluxos de conversação entre usuários e o registro destes fluxos ao redor de aplicações."
Mauro Amaral - editor do CarreiraSolo.org

"Ajax, redes sociais, CGM: as definições mais comuns pra Web 2.0, ou um jeito para se voltar a falar de internet? Para mim nada mudou, tudo evoluiu."
Michel Lent - sócio-diretor da 10 Minutos

"Web 2.0 é buzzword, é fato que a internet está sofrendo transformações, mas precisamos rotulá-la para que essas mudanças tenham validade? Pra maioria da população mundial, que ainda está offline, essa é a Web 1.0."
Edney Souza - editor do blog Interney

"Sinaliza uma fase na web onde se pratica a liberdade de falar e ser
ouvido. É uma consequência natural do desenvolvimento da internet."
Vicente Tardin - editor do Webinsider

"Web 2.0 usa a web como plataforma de socialização e interação entre usuários graças ao compartilhamento e criação conjunta de conteúdo."
Guilherme Felitti - repórter do IDG Now! e mestrando em Web 2.0

"Na web 2.0 não somos mais nômades caçadores-coletores: temos nome, plantamos conteúdo, colhemos conhecimento e criamos novos mundos."
Rene de Paula Jr - projetos especiais, Yahoo! Brasil e editor do blog Roda e Avisa

"Alguém ouviu falar em TV 2.0 quando as transmissões passaram a ser coloridas ou via satélite?"
Marcelo Sant'Iago - presidente do Conselho Consultivo do IAB Brasil e mantém o blog Poucas e Boas.

E você? Qual a sua definição para a Web 2.0?

Fonte: Web 2.0 BR

Posted by Programador PHP

Jackson Five - Esqueçe o PHP ou ASP e relaxa

Deixa de lado a programação e curta um pouquinho...rs...como diria nossa ex-prefeita "relaxa e goza"...kkkk...sem noção a veia...rs

apresentação do humorista marco luque...o cara é bom...procurem por mais coisas dele no youtube




abraços

Simplicidade deve sempre ser foco na web 2.0

As três regras para aproveitar a tecnologia da web 2.0 são ter um bom arquiteto de informação, separar o conteúdo da forma e dar atenção ao que o usuário diz. Tudo focando a simplicidade.

Foi esse o consenso de especialistas em debate promovido hoje, em São Paulo, durante o seminário Web 2.0, promovido pela INFO.

Guilherme Coelho, sócio-diretor da ZeroUm Digital, tentou seguir essas premissas no desenvolvimento da suíte Aprex, que reúne uma série de recursos da web 2.0. "Estávamos fazendo o Aprex de um jeito em 2004, mas um ano depois jogamos tudo fora, pois surgiu o AJAX", conta.

A nova tecnologia facilitava o uso de recursos providos por navegadores, como XML e JavaScript, possibilitando maior interatividade com o usuário. Mas para Marcelo Negrini, fundador da Zazambia, mais importante do que usar Aprex é ter o CSS como religião. "O CSS facilita tudo, pois coloca as coisas na página já na ordem certa", afirma.

Além de usar esses recursos, o importante na nova web, de acordo com Marcelo, é garantir a compatibilidade das aplicações com os diferentes navegadores. "Essa é a maior vantagem de usar Flex ou Silverlight. É possível focar na aplicação sem se preocupar com a compatibilidade", completa Rafael Martinelli, diretor da DClick.

Qual é a melhor alternativa? "O Silverlight e o Flex são muito parecidos em capacidade de desenvolvimento", diz Marcelo. Para ele, os erros cometidos pelos programadores são os mesmos com os dois recursos e até as técnicas para controlar peso de página são parecidas.

Fonte: Info Online

Paginação ASP

E ae


Depois de muito tempo sem postar, vou postar alguma coisa sobre páginação de dados com asp e access


Crie um novo arquivo e dê o nome de paginacao.asp.


Vou colocar o arquivo abaixo, com as devidas explicações, em outra cor. Vale lembrar que esta é uma das maneiras de paginar os dados, existem várias outras


<%

'Efetuando a conexão com a base de dados criada

Set Conn = Server.CreateObject("AdoDb.Connection")

Conn .Open "Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\caminho do seu banco de dados"


'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo numa variavel, no caso "rs", pois vamos utilizar algumas funções deste objeto

Set rs = Server.CreateObject("adodb.recordset")


rs.PageSize = 5 'quantidade de registros por página. Você pode alterar conforme sua necessidade.


'Vamos fazer a busca na tabela contatos

SQL = "select * from contatos"

rs.Open SQL,Conn,3,3 'Se der algum erro nessa linha troque o ultimo 3 pelo numero 1


'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor 'que zero, se é maior que o número total de páginas, etc.

if rs.EOF then

Response.Write "nenhum registro encontrado"

else

'Definindo em qual pagina o visitante está

if Request.QueryString("pagina") = "" then

intpagina = 1

else

if cint(Request.QueryString("pagina")) < intpagina="1"> rs.PageCount then

intpagina = rs.PageCount

else

intpagina = Request.QueryString("pagina")

end if

end if

end if

end if 'Fim das verificações de exceções


'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta

rs.AbsolutePage = intpagina


' Inicia o contador que vai controlar os registros mostrados

intrec = 0


'Enquanto o contador for menor que a quantidade de registros mostrados ou 'não for o final do arquivo

While intrec <> rs.PageSize and not rs.EOF


'------------------- AQUI VEM TUDO O QUE SERÁ PAGINADO -----------------------

response.write rs("nome") & " - " & rs("telefone") & " - " & rs("email")

'-----------------------------------------------------------------------------------------



rs.MoveNext


' Acrescenta +1 ao contador

intrec = intrec + 1



'Se for EOF (fim de arquivo), imprimir branco na tela

Wend 'fim do loop


'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”.

if intpagina > 1 then

%>

<a href="" pagina="<%=intpagina-1%>">Anterior</a>

<%

end if


'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página

if strcomp(intpagina,RS.PageCount) <> 0 then

%>

<a href="" pagina="<%=intpagina%>">Próxima</a>

<%

end if


rs.close 'Fechando a conexão

Set rs = nothing 'Destruindo a variavel

%>


Shirimmmm...Está pronta a paginação dos seus dados


Dúvidas entrem em contato

Google Apps - Configuracao no plesk da Maxihost

E ae...Blz?

Google apps...\o/

Ha um certo tempo atras tinha criado uma conta no google apps pro meu dominio, só que não entendi direito, li de cima em baixo as configurações e necas, era em inglês, deixei pra lá.
Mas nesse fim de mês(Maio) tivemos problemas em nossos servidores de email, o uol (sim...rs...este é o provedor de email da empresa), e tivemos que arranjar um jeito de solucionar isso...ficamos um dia inteiro matutando alguma forma de resolver isso...pensamos, pensamos e não resolvemos nada até a hora de ir embora, esperando chegar o outro dia e tentar resolver.

Indo embora pra casa, lembrei do danado do google apps...tinha noção que era alguma coisa do gigante google voltada para empresas, resolvi pesquisar em casa.

Ai descobri todo o poder dessa ferramenta...o google disponibilizou toda a sua estrutura de servidor e sistema de email(gmail), diga-se de passagem SUPIMPAS, para as empresas...personalizando os emails com seus respectivos dominios.

Como não achei nada na internet falando sobre isso para o painel de controle da maxihost, "o plesk", tive que me virar sozinho, consegui depois de 2 dias...rs. Segue a configuração:

Configuração dos registros MX: Plesk Maxihost
Efetue login na sua conta plesk da maxihost.
Clique no icone "DNS", será exibida uma listagens de endereços.
Apague os registros MX.
Clique no icone "Adicionar novo registro de DNS".
Selecione o tipo de registro como "MX"
No campo "Insira o domínio de e-mail" deixe em branco
No campo "" coloque o seguinte endereço: ASPMX.L.GOOGLE.COM
Selecione agora no campo "Prioridade do servidor" a prioridade 10
Clique em OK e pronto, seus registros MX agora estão configurados para apontar para o Google. Lembre-se de que alterações nos registros MX podem levar até 48 horas para serem implementadas.

Dentro do gmail vc pode configurar para receber emails de outras contas, pelo metodo "POP", mas isso é para outro post.

Até mais

Estou sem site

Decidi reformular meu site, migrei de servidor(AuriumHost->MaxiHost), como tem algumas diferenças resolvi fazer outro layout, totalmente diferente daquele cinzão que estava, vai ter mais cor agora...só um pouquinho a mais...rs...vai ter bastante cinza ainda....gosto do cinza não sei pq.

A programação vai ser modificada tb, mas mantendo a administração em asp e o rosto em php, prefiro o asp na administração pq consigo manipular melhor upload de imagens com os componentes do dito cujo :)

É isso ai...coloquei os ultimos trabalhos na página de construção pra não ficar vazia de tudo e fazer um marketing básico....rs!!!!

Por falar em marketing, segue os ultimos trabalhos realizados:

www.knockoutbr.com
www.criacaoiltda.com.br
www.meioambienteindustrial.com.br/empresasustentavel
www.braziliancarbonbureau.com.br
www.alefotografo.com.br

Aguardem meu site

abraços

Evitando injecao SQL

Depois de muito tempo sem postar vai ai algumas orientações de como você pode evitar um ataque de injeção SQL :


1- Estabeleça uma política de segurança rígida e criteriosa limitando o acesso dos seus usuários. Isto quer dizer que você deve dar somente os poderes necessários aos seus usuários. Não de acesso de escrita a tabelas e dê somente acesso as tabelas que o usuário vai precisar.


2- Faça a validação da entrada de dados no formulário e não permita os caracteres inválidos como : (’) , (–) e (;) nem de palavras maliciosas como insert , drop , delete, xp_ . Abaixo algumas funções que você pode usar:


- Substituindo o apóstrofe(’) pelo duplo apóstrofe (”)


<%

Function ExpurgaApostrofe(texto)

ExpurgaApostrofe = replace( texto , “‘” , “””)

End function


%>


- Substituindo os caracteres e palavras maliciosas por vazio(”").


<%

Function LimpaLixo( input )


dim lixo

dim textoOK


lixo = array ( “select” , “drop” , ”;” , “–” , “insert” , “delete” , ”xp_”)


textoOK = input



for i = 0 to uBound(lixo)

textoOK = replace( textoOK , lixo(i) , “”)

next


LimpaLixo = textoOK


end Function

%>


- Rejeitando os dados maliciosos:


<%


Function ValidaDados( input )


lixo = array ( “select” , “insert” , “update” , “delete” , “drop” , “–” , “‘”)


ValidaDados = true


for i = lBound (lixo) to ubound(llixo)

if ( instr(1 , input , lixo(i) , vbtextcompare ) <> 0 ) then

ValidaDados = False

exit function}


end if

next

end function

%>


3- Limite a entrada de texto para o usuário no formulário de entrada de dados. Se o campo nome deve ter somente 10 caracteres restrinja a isto a entrada de dados no formulário. O mesmo vale para a senha.


4- Faça o tratamento adequado de erros não permitindo que mensagens de erros exponham informações sobre a estrutura dos seus dados.


5- Faça um log para auditoria dos erros ocorridos e das operações mais importantes da aplicação.


Segurança é coisa séria e vale a pena tomar todas as precauções a nosso alcance para preservar nossos dados e nossos empregos.

Danilo Gentili e Oscar Filho no Pânico

Para descontrair um pouco!!!!

Conexão MySQL ODBC - Video

Pra quem entende espanhol, ai um video explicando como se instala o driver ODBC para conectar um banco de dados MySQL.




Enjoy...kkkkk...i hate espanish but the explanation is good


Agora o código ASP

<%

Set Conexao = Server.CreateObject("ADODB.Connection") Conexao.Open "driver=<a href="http://www.mysql.com/">MySQL ODBC 3.51</a> Driver;DATABASE=nome_banco;SERVER=ip_servidor;UID=usuario;
PASSWORD=senha"

%>


Analisando o código:

Conexao.Open "driver=MySQL ODBC 3.51 (indica a versão do MySQL e a abertura da conexão a partir dele.

DATABASE=nome_banco (executa a conexão com o banco de dados, deve ser especificado o nome do banco de dados utilizado).

SERVER=ip_servidor (indica o IP do servidor)

UID=usuario (o usuário do banco de dados)

PASSWORD=senha (senha utilizada pelo usuário do banco de dados).


Dúvidas entrem em contato

Abraços

Include - Incluir arquivos ASP

Para incluir arquivos em ASP deve-se utilizar os include.

Incluir arquivos em uma página consiste em inserir um pedaço de código que temos alojado em um arquivo a parte dentro do código da página ASP que estamos programando. Deste modo, podemos salvar um arquivo código das páginas que utilizamos habitualmente, como poderia ser o cabeçalho de nossas páginas ou a moldura que apresentam todas as páginas do site, e inclusive scripts em ASP que se dediquem a realizar algumas ações muito repetidas, como conexões com bases de dados. Trabalhar realizando includes é muito prático, pois não escrevemos duas vezes o mesmo código e além disso, se tivermos que muda-lo em algum momento somente teríamos que mudar o código desse arquivo a parte e todas as páginas serão modificadas automaticamente.

Para incluir arquivos em ASP deve-se utilizar os tópicos include que já vimos em capítulos anteriores, mas que revisaremos neste capítulo. Também, vamos mostrar limitações desta técnica e alguma possível solução.

Incluir arquivos

Utiliza-se com o enunciado de include, que pode ter duas formas:

<!--#include virtual="/planilha.asp"-->

<!--#include file="planilha.asp"-->

As diferenças entre realizar o include "virtual" ao invés de "file" consistem em que a primeira tem em conta a raiz de seu domínio e com a segunda se tem em conta o lugar onde está o documento no qual estamos incluindo o arquivo. À princípio, pode ser mais útil trabalhar com o modo "virtual" pois se movemos de diretório as páginas de nosso site os includes continuarão funcionando. Vendo vários exemplos poderemos entendê-lo melhor.

<!--#include virtual="/planinhas/cabecalho.asp"-->

Incluímos um arquivo chamado cabeçalho que está no diretório planilhas, que está por sua vez na raiz do domínio. Com este método o include funcionará independentemente de onde estiver o arquivo que o inclui.

<!--#include file="planilhas/cabecalho.asp"-->

Isto só funcionará se o arquivo que realiza o include estiver na raiz do domínio. Mas falhará se estivermos em qualquer subdiretório do domínio.

<!--#include file="../planilhas/cabecalho.asp"-->

Assim, conseguiríamos que funcionasse se o arquivo o qual incluímos o cabeçalho estiver em um subdiretório imediatamente depois da raiz do domínio.

Include e a segurança

À princípio podemos utilizar qualquer extensão no arquivo que vamos incluir. As extensões mais correntes são .txt, .inc, .html ou .asp. Entretanto, é recomendável por motivos de segurança, nomeá-los como .asp, sobretudo se inserimos código ASP dentro do arquivo a incluir.

O motivo pelo qual é mais seguro nomear os includes com extensão .asp é que se um usuário tentar acessar ao arquivo que se inclui diretamente teclando sua URL na barra de endereços do navegador, algo assim como http://www.dominio.com/arquivos_a_incluir/funcoes_comuns.inc, receberia como resposta o código completo e sem executar do include e, provavelmente, não nos interesse que vejam esse código de nosso web site. É especialmente delicado este problema quando dentro do código colocamos informação crítica como pode ser a cadeia e conexão à base de dados.

Com a extensão .asp nos asseguramos que, no caso de que um usuário consiga acessar aos includes, estes se executarão no servidor e se eliminarão todos os códigos ASP que não desejarmos distribuir.

Modo de funcionamento e problemática

O modo de funcionar deste tipo de includes consiste em que primeiro se inserem os arquivos na página, criando um conjunto que será formado pelo arquivo fonte e todos os includes inseridos dentro dele. Uma vez criado esse grande diretório, executam-se os scripts ASP.

Poderia haver um problema se quisermos incluir um arquivo cujo nome devemos extrair de uma variável ASP. Imaginem que temos que incluir um arquivo que temos seu nome numa variável. Assim:

<%

arquivoInclude = "meuarquivo.html"

%>

<!--#include virtual=arquivoInclude-->

Como o código ASP não se executa até depois de haver incluído o arquivo, na hora de incluí-lo não se resolveu o nome que se deseja incluir. Com outras palavras, ASP não sabe o que é que vale a variável arquivoInclude quando vai incluí-lo, portanto não realiza o include tal como desejaríamos.

Para dar um bom parâmetro a uma página web e que sua utilização seja fácil mais cedo ou mais tarde, o anterior será um inconveniente. Portanto, podemos resolver o problema da seguinte forma, criando uma função que realize o include do arquivo. Vejamos como seria essa função:

<%

function inclui(arquivo)

arquivo= request.serverVariaveis("APPL_PHYSICAL_PATH") & arquivo

set confile = createObject("scripting.filesystemobject")

set fich = confile.openTextFile(arquivo)

while not fich.atEndOfStream

lineactual = fich.readLine

response.write(lineactual)

wend

end function

%>


Teríamos que comentar várias coisinhas sobre esta função. Recebe o nome do arquivo que desejamos abrir. Para construir a rota completa deste arquivo teremos que utilizar o objeto request para extrair a variável do servidor que contem a rota do disco rígido onde se encontra o domínio. Uma vez construído o nome do arquivo com sua rota, criamos o arquivo nas 2 seguintes linhas. Finalmente, fazemos um loop que vai extraindo do arquivo o texto correspondente e imprimindo na página.

Somente destacamos um ponto contra esta forma de incluir os arquivos. Trata-se de que não poderemos incluir nada mais que código HTML, nunca código ASP, pois não se executaria e ficaria impresso na página junto com o código HTML. É uma limitação significativa, mas nos casos nos quais somente necessitamos incluir texto pode servir muito bem.

Linguagem ASP (Active Server Pages)

Introdução

ASP é a sigla para Active Server Pages, ou, interpretando, "Páginas Ativas de Servidor". Trata-se de uma linguagem para Web criada pela Microsoft. Seu objetivo é permitir a criação de páginas e aplicações Web dinâmicas, ou seja, que de alguma forma, permita interação com o usuário. Este artigo, mostrará o funcionamento da linguagem ASP e indicará alguns aspectos que ajudarão quem deseja aprender esta linguagem. Espera-se que o leitor tenha, ao menos, conhecimento básico de HTML e lógica de programação para entender o texto.

ASP - Como funciona

Todo arquivo feito em ASP tem extensão .asp. Este arquivo possui código em HTML e scripts, que contém as instruções que geram algum tipo de interatividade com o usuário. Por exemplo, o cadastro em um site, uma compra em um site de comércio, data e hora atual, ver e mandar e-mails são exemplos de interações que o ASP pode proporcionar. O ASP também permite acesso a banco de dados que suportam ODBC (Open Data Base Connectivity) e acesso por ADO (Active Data Objects).

As páginas em ASP, os scripts ou os serviços requeridos não são executados no computador de quem acessa essas páginas. Ao acessar uma página desse tipo, o servidor que a hospeda deverá ter suporte a ASP e então processar as solicitações presentes na página e "entregar" o resultado no navegador do usuário, em formato HTML.

Para que o servidor possa processar as requisições e entregar o resultado ao visitante da página, é necessário que nele esteja instalado o IIS (Internet Information Server) ou outro programa-servidor capaz de processar páginas em linguagem ASP. Explicando de forma simplificada, ao visitar um site em ASP, qualquer solicitação é enviada ao IIS para ser processada e, em seguida, os resultados são entregues ao visitante, através de informações em HTML exibidas no navegador.

O que a linguagem ASP oferece

A linguagem ASP possui várias vantagens:

Independência do navegador - qualquer navegador de internet, em qualquer sistema operacional, pode acessar sites em ASP, pois todo o processamento de informações é feita no servidor e somente os resultados são mostrados ao usuário;

Código-fonte protegido - os visitantes de sites em ASP somente enxergam os resultados do processamento em páginas HTML, o que impede que o código-fonte seja visualizado;

Banco de dados - a linguagem ASP funciona muito bem para visualizar e manipular informações em bancos de dados que suportam OBDC;

Linguagem similar ao Visual Basic - se você já programa em Visual Basic terá muita facilidade em aprender ASP, pois ambas as linguagens são parecidas;

Aprendizado descomplicado - mesmo que você não conheça Visual Basic, poderá aprender ASP sem dificuldades. A linguagem é clara e cheia de recursos.

Exemplo de uma página em ASP

Agora que você já sabe como as páginas em ASP são processadas, veremos um exemplo bastante simples, que mostra por quê é interessante usar ASP em vez de simples páginas HTML. Vamos criar uma página em ASP, salvá-la, executá-la e, em seguida, veremos os resultados. O código para a página é mostrado a seguir:

<%@ LANGUAGE= VBscript %>

<HTML>

<HEAD>

<TITLE> Exemplo de página em ASP </TITLE>

</HEAD>

<BODY>

Olá visitante! A hora atual é <%=time%> e estamos no dia <%=day(now)%>

<p> Serviço informativo!<P>

<%for repetidor = 1 to 3%>

<font size = <%=repetidor%>> Cortesia Leo Lima

<%=repetidor%></FONT><br>

<%next%>


</BODY>

Salvando a página acima em formato ASP (nome.asp), basta executá-la e o resultado será mostrado na tela:




Olá visitante! A hora atual é 19:24:31 e estamos no dia 14

Serviço Informativo!

Cortesia Leolima

Cortesia Leolima

Cortesia Leolima


No navegador, o local que informa o nome da página mostrará "Exemplo de página em ASP". Mas até então, trata-se de código HTML.

Entendendo o exemplo

Olhando o código vemos, por exemplo, o uso de % %. Isso serve para indicar onde estão os comandos em script, separando-os dos códigos em HTML.

Repare no seguinte código:

<%for repetidor = 1 to 3%>


<font size = <%=repetidor%>> Cortesia Leo Lima

<%=repetidor%></FONT><br>

Esse trecho faz com que a frase "Cortesia Leo Lima" apareça 3 vezes, sendo que em fontes de tamanho 1, 2 e 3 em medidas usadas em HMTL. A linha <%for repetidor = 1 to 3%> quer dizer que o trecho acima deve ser executado 3 vezes seguidas, de forma que repetidor (uma variável) receba valores a cada execução até chegar no número 3. Em seguida, font size recebe o valor atual de repetidor e mostra a frase "Cortesia Leo Lima" no tamanho correspondente ao valor.

Agora repare na linha Olá visitante! A hora atual é <%=time%> e estamos no dia <%=day(now)%><p>. As funções time e day(now) mostram a hora e data atual existente no servidor.

Em HTML não é possível executar os procedimentos do exemplo, pois essa linguagem é, basicamente, uma seqüência de textos com formatação.

Agora, um detalhe interessante: como já dito antes o usuário que visita um site em ASP não pode ver o código-fonte, somente o resultado do processamento das páginas em ASP. Assim, se o usuário quiser ver o código da página em ASP do exemplo acima, somente verá o seguinte código em HTML:

<HTML>

<HEAD>

<TITLE> Exemplo de página em ASP </TITLE>

</HEAD>

<BODY>

Olá visitante! A hora atual é 19:24:31 e estamos no dia 14<P>

<font size = 1> Cortesia Leo Lima </FONT><br>

<font size = 2> Cortesia Leo Lima </FONT><br>

<font size = 3> Cortesia Leo Lima </FONT><br>

</BODY>

</HTML>

Finalizando

ASP é linguagem com muitos recursos e mesmo assim não é difícil aprendê-la. É importante frisar que, se você criar páginas em ASP no Windows 98, poderá usar o programa PWS para testá-las. Outro detalhe: se hospedar páginas em ASP em provedores, certamente você pagará um preço maior do que se usasse, por exemplo, a linguagem PHP, pois a empresa de hospedagem necessita pagar uma licença de uso do servidor IIS.

Busca dinâmica interagindo AJAX, PHP e MySQL

E ai pessoal! Vou ensinar como fazer uma busca dinâmica interagindo AJAX, PHP e MySQL.

Bom, vamos lá:

1º passo: Antes de iniciarmos, é preciso criar a tabela "cliente" no nosso banco de dados "teste". A tabela conterá os campos: id, nome, cidade, uf. O campo id será inteiro e também nossa chave primária, os campos nome (por onde efetuaremos a consulta) e cidade serão varchar(50) e o campo uf será char(2) e conterá a sigla do estado.


CREATE TABLE cliente (
id int(6) unsigned NOT NULL default '0',
nome varchar(50) NOT NULL default '',
cidade varchar(50) NOT NULL default '',
uf char(2) NOT NULL default '',
PRIMARY KEY (id)
);


2º passo: Será a criação da página "index.html", que conterá o campo de busca e a chamada para a função ajax.




<html>
<head>
<title>Busca Dinamica</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script src="script.js"></script>

</head>
<body>
<table width="657" border="0" bgcolor="#f7f7f7">
<tr>
<td align="center" bgcolor="#CCCCCC"><strong><font color="#FF0000" size="1" face="Verdana, Arial, Helvetica, sans-serif">&lt;- Busca Dinamica -&gt;</font></strong></td>
</tr>
<tr>
<td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Digite aki o nome do cliente</strong></font>:
<!-- NOTE Q A CADA TECLA PRESSIONADA É CHAMADA A FUNÇÃO PESQUISA PASSANDO O QUE O USUARIO TEM DIGITADO ATÉ O MOMENTO -->
<input type="text" name="nome" onKeyUp="carregaAjax('pagina', 'busca_nome.php?valor=' + this.value)" onKeyDown="carregaAjax('pagina', 'busca_nome.php?valor=' + this.value)"></td>
</tr>
<tr>
<td>
<!-- AQUI SERÁ APRESENTADO O RESULTADO DA BUSCA DINÂMICA.. OU SEJA OS NOMES -->
<div id="pagina"></div></td>
</tr>
</table>
</body>
</html>


3º passo: Vamos agora construir o nosso arquivo "busca_nome.php" que conectará no banco e efetuará uma busca simples usando SQL.




<?php
if(!empty($_GET["valor"])){
// O campo valor conterá o que o usuário digitou até o momento
//Conecta ao banco, colocar parametros ip, usuario, senha
$conexao=mysql_connect("localhost","root","root");
//Seleciona o banco de dados que vai usar
mysql_select_db("teste");
// Executa a instrução SELECT passando o que o usuário digitou
$sql="select * from cliente where nome like '$_GET[valor]%'";
$resultado=mysql_query($sql) or die (mysql_error());
//Verifica a quantidade de registros retornados
$linhas=mysql_num_rows($resultado);
if($linhas>0){
// Executa um LOOP para mostrar os nomes das pessoas
// Vale lembrar que todos esses resultados serao mostrados dentro da pagina index.html dentro da DIV pagina
while($pegar=mysql_fetch_array($resultado))
echo "$pegar[nome] <br />";
}
}
?>


4º passo: A construção do nosso "script.js" que conterá as funções da metodologia AJAX.



function openAjax() {
var Ajax;
try {Ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers mais populares, como: Firefox, Safari, dentre outros.
}catch(ee){
try {Ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
}catch(e){
try {Ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
}catch(e){Ajax = false;}
}
}
return Ajax;
}


function carregaAjax(div, getURL) {
document.getElementById(div).style.display = "block";
if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
var exibeResultado = document.getElementById(div); // div que exibirá o resultado.
var Ajax = openAjax(); // Inicia o Ajax.
Ajax.open("GET", getURL, true); // fazendo a requisição
Ajax.onreadystatechange = function(){
if(Ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
exibeResultado.innerHTML = "<div>Carregando</div>";
}
if(Ajax.readyState == 4) { // Quando estiver tudo pronto.
if(Ajax.status == 200) {
var resultado = Ajax.responseText; // Coloca o retornado pelo Ajax nessa variável
resultado = resultado.replace(/\+/g,""); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
//resultado = resultado.replace(/ã/g,"a");
resultado = unescape(resultado); // Resolve o problema dos acentos
exibeResultado.innerHTML = resultado;
} else {
exibeResultado.innerHTML = "Por favor, tente novamente!";
}
}
}
Ajax.send(null); // submete
}
}



Veja alguns exemplos nos sites a seguir:

www.aramacan.com.br
www.smt.saobernardo.sp.gov.br

Conectar PHP + MySQL

mysql_connect



(PHP 3, PHP 4, PHP 5)


mysql_connect - Abre uma conexão com um servidor MySQL


Descrição


resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] )

Abre ou reutiliza uma conexão com um servidor MySQL.




Parâmetros




server


O servidor MySQL. Também pode incluir um número de porta, exemplo "servidor:porta" ou um caminho para um socket local, exemplo ":/caminho/para/socket" para o servidor local(localhost).


Se a diretiva do PHP mysql.default_host não estiver definida(padrão), então o valor padrão é 'localhost:3306'



username


O nome de usuário. O valor padrão é o nome do usuário que é o proprietário do processo do servidor. Por exemplo: root



password


A senha. O valor padrão é uma senha vazia.



new_link


Se uma segunda chamada é feita a mysql_connect() com os mesmos argumentos, não é estabelecida uma nova conexão, mas ao invés, o identificador da conexão que já esta aberta é retornado. O parâmetro new_link modifica este funcionamento e faz mysql_connect() sempre abrir uma nova conexão, mesmo que mysql_connect() seja chamado antes com os mesmos parâmetros.



client_flags


O parâmetro client_flags pode ser uma combinação das seguintes constantes: MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE ou MYSQL_CLIENT_INTERACTIVE. Leia a seção sobre Tabela 2 para maiores informações.







Valores de retorno


Retorna um identificador de conexão MySQL em caso de sucesso, ou FALSE em caso de falha.




Exemplos











Exemplo 1. Exemplo mysql_connect()








<?php

$link
= mysql_connect('localhost' , 'mysql_user', 'mysql_password'
);

if (!
$link
) {

die(
'Não foi possível conectar: ' . mysql_error
());

}

echo
'Conexão bem sucedida'
;

mysql_close
( $link
);

?>










Exemplo 2. Exemplo mysql_connect() usando a a sintaxe servidor: porta








<?php

// nós conectamos com example.com na porta 3307

$link
= mysql_connect ('example.com:3307' , 'mysql_user', 'mysql_password'
);

if (!
$link
) {

die(
'Não foi possível conectar: ' . mysql_error
());

}
echo
'Conexão bem sucedida'
;

mysql_close( $link
);

// nós conectamos com localhost na porta 3307

$link
= mysql_connect ('127.0.0.1:3307', 'mysql_user', 'mysql_password'
);

if (!
$link
) {

die(
'Não foi possível conectar: ' . mysql_error
());

}

echo
'Conexão bem sucedida'
;

mysql_close
( $link
);

?>