PHP é à quinta-feira - Aprender a programar
Ora cá estamos nós para mais uma rubrica. Uma das coisas que me tenho apercebido é que nos vossos comentários têm dado pouco feedback relativamente à rubrica, isto é, se estão a gostar, se o ritmo está bom, se os exemplos são simples ou difíceis, se os conseguíram por a funcionar, etc etc. Com o vosso feedback podemos fazer ainda melhor e ir de encontro aos vossas expectativas.

Bem, para hoje pensei em algo diferente. E que tal se os “gurus” e “não gurus” em PHP, que visitam o blog, deixarem aqui o seu contributo?
A ideia será a seguinte: Partilham algum script simples, repito simples (pode ser o vosso favorito, e que tanto jeito vos dá… - algo com um máximo de 15 a 20 linhas), e digam qual a sua finalidade. Depois podemos analisar/discutir todos os scripts disponibilizados e até escolher um TOP 3.
Que dizem? Hum, já estão a pensar nos presentes? Vou falar com o “Big Boss”, para ver se ele quer virar Papa Noel
Para dar o exemplo eu vou deixar o meu contributo (ok, ok, eu estou out dos presentes…regra aceite, isto se o Big Boss concordar com a ideia), como o tenho feito nas edições anteriores.
O exemplo que vos trago hoje tem por objectivo o seguinte: Um cliente acede a uma página (que vocês vão programar), e essa mesma página devolve-vos informações sobre o browser que estão a utilizar e qual o endereço IP utilizado. Parece complicado?
O PHP faz isso na boa, meia dúzia de linhas e está feito.
Se queremos “sacar” o IP do cliente, usamos a seguinte instrução: $_SERVER[‘REMOTE_ADDR’] e depois colocamos o seu conteúdo numa variável ($ip_cliente):
$ip_cliente = $_SERVER[‘REMOTE_ADDR’];
O próximo passo é sacar as informações do browser do cliente. Para isso vamos usar a instrução: $_SERVER[‘http_USER_AGENT] e colocamos o seu conteúdo também numa variável ($browser):
$browser = $_SERVER[‘HTTP_USER_AGENT’];
Bem, e já temos tudo o precisamos. Agora é só mandar escrever as nossas variáveis. Segue o script completo.

POSSÍVEL OUTPUT
Como veêm de complicado não tem nada. Experimentem abrir a página que criaram com o Ffox, IE ou Opera, para verem as diferenças. Com este código podemos fazer coisas como aquelas que às vezes aparecem nas páginas…Algo do tipo: Voçês está a usar Firefox.!!!
Agora aguardo pelos vosso scripts !!!
Arquivado na categoria: Tutoriais
35 comentários a “PHP é à quinta-feira - Aprender a programar”
Deixe o seu comentário
Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste weblog ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste weblog reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação de seu autor (nome completo e endereço válido de email) também poderão ser excluídos.









8 de Novembro de 2007 às 4:29 pm
Gostei da “aula” de hoje… isto fica parecido com um plugin que utilizo na área dos comentários, onde é apresentado o Browser e Sistema Operativo de quem comenta.

Podias fazer o teu próprio plugin… com a tua assinatura
Continuação…
8 de Novembro de 2007 às 4:34 pm
Excelente..tenho acompanhado desde o inicio e estou a gostar muito do modo como é explicado…simples e directo!
Continuação de bom trabalho.
8 de Novembro de 2007 às 4:44 pm
Ok Pinto… depois passa na tesouraria para levantar a verba
Fica combinado.
8 de Novembro de 2007 às 4:49 pm
Muito bons estes artigos sobre PHP estou a utilizar agora esta linguagem por isso saber estas pequenas coisas vam me dar muito geito.
Espero que continues com estas rubricas
8 de Novembro de 2007 às 4:53 pm
Posso concorrer?
É que se me disserem que sim coloco aqui todas as alterações que já fiz ao motor de wordpress do Peopleware e ganho isto com uma “perna às costas”!
Ou não posso porque o Vitor diz que o código é pertença do Peoplware?
Vou ter de apelar ao Provedor?
8 de Novembro de 2007 às 5:01 pm
muito fixe eu ja dei php e gostei mas ainda nao conhecia este codigo.
gostei bastante continua assim…
ja agora vou aceitar o teu desafio
fico a espera da proxima quinta feira
8 de Novembro de 2007 às 5:24 pm
ATENÇÃO ATENÇÃO !!!!
O desafio é para hoje !!!!
8 de Novembro de 2007 às 5:29 pm
Excelente esta rubrica. Apenas acho que cada tutorial podia conter mais algumas informações, pois penso que é pouca matéria para “estudar” durante uma semana inteira. Uma vez que o objectivo é iniciar os leigos (meu caso) nesta programação, acho que um pouco mais de cada vez só ia alimentar a vontade de programar cada vez mais e melhor. Grande abraço.
8 de Novembro de 2007 às 5:36 pm
Ora bem, duas funçõezitas muito simples que eu costumo usar:
[code]
//– Retorna uma string com o código HTML de um link
//– Ex.: getLink(’http://www.pplware.com’,'Peopleware’,'target=”_blank”‘);
//– Output: Peoplware
function getLink($url,$name,$params = ”) {
$link = ‘‘.$name.’‘;
return $link;
}
//– Retorna uma string com o código HTML de uma imagem
//– Ex.: getImage(’http://www.pplware.com/wp-images/logo_colibri.jpg’,'Projecto Colibri’,'class=”logo”‘);
//– Output:
function getImage($image,$alt,$params = “”,$desc = “”) {
if (exists($image,”,’url_file’)) {
$html = ”;
}
else
$html = $alt;
return $html;
}
[/code]
8 de Novembro de 2007 às 5:38 pm
isto fez mal o parsing do código… aqui está de forma melhor:
Ora bem, duas funçõezitas muito simples que eu costumo usar:
[code]
//– Retorna uma string com o código HTML de um link
//– Ex.: getLink(’http://www.pplware.com’,'Peopleware’,'target=”_blank”‘);
//– Output: <a href=”http://www.pplware.com” target=”_blank”>Peoplware</a>
function getLink($url,$name,$params = ”) {
$link = ‘<a href=”‘.$url.’”‘;
if (!empty($params))
$link .= ‘ ‘.$params;
$link .= ‘>’.$name.’</a>’;
return $link;
}
//– Retorna uma string com o código HTML de uma imagem
//– Ex.: getImage(’http://www.pplware.com/wp-images/logo_colibri.jpg’,'Projecto Colibri’,'class=”logo”‘);
//– Output: <img src=”http://www.pplware.com/wp-images/logo_colibri.jpg” alt=”Projecto Colibri” title=”Projecto Colibri” class=”logo” />
function getImage($image,$alt,$params = “”,$desc = “”) {
if (exists($image,”,’url_file’)) {
$html = ‘<img src=”‘.$image.’” alt=”‘.$alt.’” title=”‘.$alt.’”‘;
if (!empty($desc))
$html .= ‘ longdesc=”‘.$desc.’”‘;
if (!empty($params))
$html .= ‘ ‘.$params;
$html .= ‘ />’;
}
else
$html = $alt;
return $html;
}
[/code]
8 de Novembro de 2007 às 5:39 pm
/* Fiz esta função há uns anos porque me dava muito trabalho fazer multiplos addslashes
o objectivo é o fazer multiplos addslashes numa só linha e retornar o array, o uso que lhe dava era algo do genero:
list($nome, $cidade, $pais) = addMultiSlashes($_POST[”nome”], $_POST[”cidade”], $_POST[”pais”]);
e agora as variaveis $nome, $cidade e $pais têm o seu conteudo “slashed”
Decidi partilhar esta função e não outra para alertar o pessoal que este tipo de coisas deve ser feita antes
de fazer sql queries para evitar sql injections. Devem ter tambem em conta que se esperam um inteiro como por exemplo
um id devem verificar se é realmente um inteiro…
Sempre que possivel (ou seja, sempre :P) deve ser feita validação dos dados enviados, a regra é verificar apenas aquilo que
é esperado, ou seja… se quero 2 letras, um espaço e um nº tenho que “matchar” isso, e não o que não tudo o resto..
Já agora no meu velhinho site, podem ver mais programas e scripts em diversas linguagens.
CoolMaster
*/
function addMultiSlashes ($entities = FALSE) {
$args = func_get_args();
$ret = array();
foreach ($args as $arg) {
if ($entities)
$arg = htmlentities($arg);
$ret[] = addslashes($arg);
}
return $ret;
}
8 de Novembro de 2007 às 5:40 pm
Arre, não me lembrei que isto retirava a formatação do codigo… acho que no opera não aparecem os controlos para o code e não sei qual é de cor:] Paciencia.
8 de Novembro de 2007 às 5:53 pm
Aiiiiiiiiiiiii que o pessoal que anda a tentar aprender vai-lhe dar o treco depois de ver estes código…eh eh he .. Como esperava, anda aqui pessoal que já sabe umas coisas…
Pedro Pinto
8 de Novembro de 2007 às 7:07 pm
@nrocha
Aqui não dá para por bbcode, mas faz o parsing de algumas tags html
Boa função
@Pedro Pinto
Penso que não estão muito complicadas, e se estiverem estamos (pelo menos eu) disponíveis a explicar “passo-a-passo” as funções.
E, pelo menos da minha parte, “vivo” do PHP, por isso é normal que saiba mais uma coisita ou outra
Abraço
8 de Novembro de 2007 às 7:33 pm
Nunca gostei muito de programar, mas tive sempre curiosidade em aprender… nem que fosse meia dúzia de instruções para fazer qualquer coisa.
Desde que este rubrica começou, tenho acompanhado sempre com grande entusiasmo.
No início tive alguns problemas, mas depois de investir algum tempo no notepad ++, lá descobri.
Parabéns por esta iniciativa! Continuem.
8 de Novembro de 2007 às 7:53 pm
Sou programador PHP e sem como é importante esses mini-tutos, comecei a despertar o interesse com um desses, bela iniciativa!!!
8 de Novembro de 2007 às 8:05 pm
Pinto, trabalho muito bom.
Sou iniciado e tenho feito as aulas todas com sucesso.
Gostava que começasses a explicar como podemos pôr isto numa página de Internet.
Obrigado
8 de Novembro de 2007 às 8:21 pm
Acho melhor criarem um fórum para isto do PHP e outros
8 de Novembro de 2007 às 10:04 pm
Óptimo…
Para leigos curiosos como eu, isto é ouro sobre azul…
Continuem o excelente trabalho…
Obrigado
8 de Novembro de 2007 às 11:25 pm
E PHP + SQL também é útil?
8 de Novembro de 2007 às 11:28 pm
Genial. Adorei. Continuem.
Por causa disto estou a aprender PHP. E espero continuar.
Mantenham a boa disposição e os tutoriais.
Grande bem-haja.
9 de Novembro de 2007 às 12:07 am
Primeiro que tudo, quero dar os parabéns pela iniciativa. Hoje, trabalho por conta própria (webdeveloper) e praticamente só trabalho com PHP e Javascript (ajax).
Os primeiros passos em PHP também foram dados com estas pequenas coisas…
A primeira coisa que se visse que fiz, foi uma “galeria”, em que me bastava por numa pasta as fotos numeradas e um txt com a descrição…. Também podem aqui tentar algo assim!
Mas, agora cá fica um dos ultimos scrips que usei. Já todos foram a sites em que temos de meter um codigo de verificação por imagem. Aqui fica um php para gerar a imagem:
Agora, basta noutro php chamar a imagem gerada por este php e comparar o valor inserido com o guardado em sessão!
Simples, e aumenta a segurança dos nossos sistemas de login.
9 de Novembro de 2007 às 10:18 am
Já agora, como sabem o PHP e o MySQL andam de mãos dadas muitas vezes e é recomendado que se saiba o minimo de SQL para conseguir ter um site minimamente dinamico (claro que podem usar ficheiros ou outra coisa qualquer para gravar informações, mas o melhor é usar um DBMS).
Em 2002 fiz um documento que da uma introdução a linguagem SQL e tenta explicar e demonstrar o que se pode fazer e como se pode fazer.
Esta em inglês (que era muito fraco na altura, por isso peço desculpa:P)
Encontra-se aqui: http://coolmaster.webhs.org/docs/sql.txt
CoolMaster
9 de Novembro de 2007 às 10:48 am
@nrocha
Parabens pelo tutorial. Eu gostei..ta porreiro.
Temos de um dia destes pensar numa rúbrica “SQL aos Domingos - antes da missa
”
Um abraço
Pedro Pinto
9 de Novembro de 2007 às 11:10 am
ROTFL… “antes da missa” ..
14 de Novembro de 2007 às 4:13 pm
@ Bruno Bernardino:
Desculpa, mas há umas pontuações que não consigo perceber se são acentos, se é um apóstrofo, se são aspas. Já no post corrigido.
Preciso que passes a “papinha” pelo passador outra vez, se faz favor.
Abri ficheiro novo e escervi isto, tal e qual:
‘.$name.”;
return $link;
}
?>
e dá o seguinte erro:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\xampp\htdocs\programa04.php on line 6
Que é na linha 6, eu percebi. Onde está o erro, nem por isso. Onde está o erro? Porquê?
Obrigado,
Agapito
14 de Novembro de 2007 às 4:15 pm
Ok, já percebi que isto lê o php. Só para verem com quem estão a lidar…
Mesmo erro, mas com este código ( a ver se o vêem. No principio e fim são apostrofos):
‘ ‘.$name.”;
return $link;
}
?> ‘
Agapito
14 de Novembro de 2007 às 4:16 pm
Arre!
?php
‘function getLink($url,$name,$params = ”) {
‘$link = ‘ ‘.$name.’‘;
‘return $link;
‘}
?
(faltam os )
14 de Novembro de 2007 às 4:18 pm
Peço desculpa, mas não dá…
:((
14 de Novembro de 2007 às 4:18 pm
é o seguinte, tens de usar pelicas (’) e não apóstrofos (`), ou aspas (”).
Tenta copiar e colar o código e vê se consegues.
O erro dá porque se começas uma string com ‘, tens de acabar com ‘ e não com “.
14 de Novembro de 2007 às 8:28 pm
A ver se é desta que consigo mostrar o código. As plicas no início servem apenas para se ver o código completo, assim como os parentesis rectos
Além disto, quando escrevem ” .$url. ” e semelhantes, é para ser mesmo isso, ou é para se escrever o endereço html?
”.$name.”;
‘return $link;
‘}
‘?>
Obrigado pela paciência,
Agapito
14 de Novembro de 2007 às 11:17 pm
hehe, tenta colocar isso num ficheiro de texto online ou assim e manda o link, senão nunca mais.
de qualquer das formas, qualquer string/palavra começada por um dolar ($), significa que é uma variável, ou seja, pode ter qualquer valor, por exemplo, se tiveres
[code]
$url = “http://www.pplware.com”;
echo “O URL é”.$url.”, ok?”;
[/code]
Isto vai imprimir no browser:
[browser]
O URL é http://www.pplware.com, ok?
[/browser]
Percebes a ideia?
15 de Novembro de 2007 às 11:53 am
Até à parte de escrever as variáveis, percebi (obrigado PPLware pelo tutorial).
O que preciso de saber é se antes de escrever a function getLink(…), tenho de escrever o .$url. = endereço que quero mostrar, o .$name.= nome que lhe quero dar e o params a mesma coisa.
Assim , percebo que a função getLink vai procurar as variáveis url,name e params a essa parte do código, fazendo-se de seguida o echo da função (mas esta parte já não tenho a certeza).
Caso esteja completamente errado, vou ter de esperar pelos próximos tutoriais, a ver se aumento o vocabulário PHP.
Caso o site traduza os nomes acima com ($), aqui fica o link para o código que tenho escrito:
http://docs.google.com/Doc?id=dcwxbzqr_12d6m7cg
Muito obrigado,
Agapito
15 de Novembro de 2007 às 12:17 pm
@Agapito
Tá quase lá, trocaste o sítio onde tens de mandar os argumentos
O que deveria ser está aqui: http://www.brunobernardino.com/files/getlink.txt
Abraço e vejo-te no tutorial de hoje
15 de Novembro de 2007 às 1:38 pm
@Bernardino
Finalmente funciona. Eureka! Obrigado pela ajuda e pela paciência.
Obrigado ao Peopleware por interagir e ajudar os seus leitores desta maneira.
É sempre bom ter quem nos ajude. Continuem assim.
Agapito