Guardar $_POST PHP como XML

A 23 de Agosto de 2010, categoria PHP, por Carlos Gonçalves
4

Um dos principais objectivos ao criar formulários PHP é mantê-los seguros e protegidos contra spammers e programas automatizados. Com a quantidade de spam que o Akismet detém todos os dias, não preciso de vos lembrar sobre a importância de manter os formulários seguros. Uma vez que  90 e muitos % dos meus formulários são via POST, já despendi algum tempo a desenvolver algumas protecções e formas de debug.

Uma função que costumo utilizar para manter o controlo dos formulários POST é a minha função imprimir_xml(). A função recebe um array de dados (no meu caso, $ _POST), percorrendo todos os valores e transforma cada valor no formato XML, a partir do qual, posso guardar o XML num ficheiro ou colocar o XML numa Base de Dados.

A função pode ser usada em qualquer array ($ _SESSION e $ _GET, que também são boas opções!).

Código PHP

/* imprimir o conteúdo de uma url */
function imprimir_xml($arr, $wrapper = 'dados', $ciclo = 1)
{
	//variáveis úteis
	$break = "\n";

	//construir o conteudo
	if($ciclo == 1)
	{
		$output = '<?xml version="1.0" encoding="UTF-8" ?>'.$break;
	}

	$output.= tabelar_dados($ciclo - 1).'<'.$wrapper.'>'.$break;

	foreach($arr as $key => $valor)
	{
		if(!is_array($valor))
		{
			$output.= tabelar_dados($cuclo).'<'.htmlspecialchars($key).'>'.$valor.'</'.htmlspecialchars($key).'>'.$break;
		}
		else
		{
			$output.= imprimir_xml($valor,$key,$ciclo + 1).$break;
		}
	}

	$output.= tabelar_dados($ciclo - 1).'</'.$wrapper.'>';

	//retornar o output
	return $output;
}

/* Tabelar os dados */
function tabelar_dados($numero_tabelas)
{
	for($x = 1; $x <= $numero_tabelas; $x+)
	{
		$return.= "\t";
	}

	return $return;
}

De notar que esta função é usada de forma recursiva quando a informação é um array.

Como Usar

$_POST = array(
				'primeiro_nome'=>'Carlos',
				'ultimo_nome'=>'Gonçalves',
				'site_url'=>'http://cgoncalves.com',
				'linguagens_programacao'=>array('python','php','c#','asp'),
				'titulo'=>'Web Developer'
			);
echo imprimir_xml($_POST);

O Resultado

<?xml version="1.0" encoding="UTF-8">
<data>
	<primeiro_nome>Carlos</primeiro_nome>
	<ultimo_nome>Gonçalves</ultimo_nome>
	<site_url>http://cgoncalves.com</site_url>
	<linguagens_programacao>
		<0>python</0>
		<1>php</1>
		<2>c#</2>
		<3>asp</3>
	</linguagens_programacao>
	<titulo>Web Developer</titulo>
</data>
Actualmente, utilizo este script para gerar o XML que coloco num ficheiro, desta forma, posso fazer uma análise e gerar relatórios, ou simplesmente ajudar-me a fazer debug aos GET e POST.
Experimenta, e diz-me o que tu achas!

Muito FracoFracoRazoávelBomMuito Bom (1 votos, média: 5,00 num total de 5)
Loading ... Loading ...
Tags:
 

Confissões Excêntricas de um Programador – Parte 2

A 31 de Julho de 2010, categoria Confissões, Opiniões, Ideias e Dicas, por Carlos Gonçalves
5

excentrico   Confissões Excêntricas de um Programador   Parte 2Tenho muitas opiniões/pontos de vista controversos, e não tenho medo de os deitar cá para fora. Desde a minha última confissão, compilei mais algumas das confissões que quero fazer e sinto que hoje é o momento ideal para o fazer.

  1. Não vejo nada de errado abrir links em novas janelas. Queres que um PDF, um documento Word, ou um Excel abra na mesma janela? Muito menos se for a janela principal de um utilizador “amador”, pois esses vão de imediato fechar a janela em vez de apenas clicarem em “voltar”. Até eu faço isso. E se um link é usado apenas como referência ou link de apoio queres que ele abra na mesma janela? Claro que não.
  2. Já fiz alguns posts com alguns scripts que criei do MooTools, mas muito raramente os utilizo nos sites dos meus clientes, e isso não me aborrece em nada.
  3. Gostava que a sintaxe do PHP fosse mais parecida com a do JavaScript, de preferência com o MooTools. Programar em PHP é suposto  ser rápido, mas no que toca à flexibilidade está muito longe do JavaScript.
  4. Às vezes tenho mais orgulho de uma boa “solução alternativa” do que a solução final. Um bom programador precisa ser inteligente.
  5. Quando olho para alguns dos meus códigos CSS e PHP de alguns anos atrás, não percebo como é que consegui fazer aquilo. Isto é uma das vantagens de ser um programador – Sinceramente, sinto que posso melhorar a cada dia.
  6. Não gosto nada da homepage do sourceforge.net. Acho-a horrível, um grande software por trás mas uma horrível homepage.
  7. Embora não tenha nenhuma preferência nas novas versões do HTML ou do XHTML, não vejo muito valor na tag “<article>”, não vejo isso como um progresso. Porque não acabam com os estilos padrões nos elementos e deixam-nos definir os nossos, como no XML?
  8. Por mais que me custe dizer, o IE7 está a desaparecer mais rápido que o IE6. Os utilizadores do IE7 vão actualizar a sua versão enquanto os utilizadores do IE6 não.
  9. Prefiro o IE6 ao IE7.
  10. Não me arrependo por ter recusado uma oferta de participar numa comunidade mais activa sobre PHP, para posteriormente criar um livro. O compromisso ter-me-ia ocupado demasiado tempo  e prefiro escrever sobre isso no meu blog, sem contar que a nova geração de programadores raramente utilizam um livro de programação quando podem encontrar de tudo online.
  11. Embora não abdique tão cedo do MooTools, o Ext começa-me a puxar o bichinho da curiosidade. Claro que o Ext é mais como uma GUI, mas acho-o incrível e espero vir a usá-lo um dia destes.

Agora é a parte em que tu concordas comigo, fazes-me questões, ou mandas-me calar. Escolhe a tua opção!


Muito FracoFracoRazoávelBomMuito Bom (3 votos, média: 4,33 num total de 5)
Loading ... Loading ...
Tags:
 

Quanto Vale um Programador PHP?

A 22 de Julho de 2010, categoria Freelancer, Opiniões, Ideias e Dicas, por Carlos Gonçalves
2

oportunidade 300x255   Quanto Vale um Programador PHP?Talvez esta seja a eterna questão, uma vez que já é discutida há muito tempo.

O problema de se pagar bem a um programador PHP é porque existe muita oferta no mercado por programadores que trabalham por “meia dúzia de tostões”, então muita gente contrata-os. A maioria são ainda estudantes ou programadores que acabaram o curso, mas se formos a comparar o que é pago a um recém-licenciado que siga programação PHP, a discrepância ainda é grande para o mesmo recém-licenciado que siga programação Java.

Afinal de contas, porquê pagar mais, quando se pode pagar menos? Este ideologia está errada, pois o grande problema é que “qualquer pessoa” pode-se auto-denominar programador PHP, mas nem todos sabem programar correctamente. O problema de hoje em dia é que qualquer pessoa lê um ou dois tutoriais e já acha que sabe programar, pois o PHP permite essa facilidade, por ser uma linguagem mais “fácil”.

O que acaba acontecendo é que, os novatos, aceitam trabalhar por valores baixos, e para as empresas quanto menos pagarem melhor, só que isto não é só mau para nós, mas para as empresas também, pois o produto final, pode até funcionar exactamente igual como funcionaria sendo desenvolvido por alguém experiente, mas de certeza que o resultado final não vai ser o mesmo. É por isso que o que não falta por aí são sites cheios de vulnerabilidades devido a falhas de segurança, de difícil manutenção, e por fim, a necessidade de contratar outro programador para refazer todo o trabalho.

É preciso mostrar a todos que o PHP é uma linguagem poderosa e que deve ser utilizada por grandes empresas.

Quero ver os programadores PHP a serem pagos devidamente pelo trabalho que fazem. Encararem este facto:

Qualquer um pode-se auto-denominar programador PHP, mas nem todos sabem programar PHP.

Ninguém melhor que nós mesmos para sabermos o valor do nosso trabalho, como tal deves ser pago de forma justa.

Estarei errado? O que é que tu achas? Qual a tua opinião de valor/hora que um programador PHP deveria receber?


Muito FracoFracoRazoávelBomMuito Bom (2 votos, média: 4,50 num total de 5)
Loading ... Loading ...
Tags:
 

Procuras alguma coisa?

Utiliza o formulário abaixo para pesquisares no meu site:


Ainda não encontraste o que procuravas? Deixa um comentário num post ou contacta-me para que te possa ajudar!

Links de Interesse!

Links por mim recomendados...

Arquivos

Ordenado de forma cronológica...