Tutorial - 10 Pasos para usar un sistema de pago Paypal con PHP

Philo, es el autor de un tutorial en Nettus donde nos enseña los pasos a seguir para usar el sistema de pago PayPal con PHP.
El tutorial esta seccionado en 10 pasos:
Crear una cuenta de PayPal
Habilitar Instant Payment Notification (IPN)
Construir una página HTML simple
Crear Botón Paypal
Crear ipn.php
Crear la base de datos
Aplicar el código a la página ipn.php
Enviar mail al comprador con las credenciales
Controlar error en compra
Contruir una página de login para nuestros compradores
Un buen tutorial para todo aquel que quiera poner un sistema de pago PAYPAL con PHP en su web, eso sí, está en Inglés pero con un mínimo de conocimiento y el traductor de Google, podremos entenderlo a la perfección.
También existe un proyecto llamado PHP ToolKit en SourceForge ya creado en PHP con módulos para la utilización del sistema de pago PayPal en PHP, que podeis descargar desde aquí.
Vía: Nettus - Pasos a seguir para usar el sistema de pago PayPal con PHP

12 Razones para usar Internet Explorer

Me he encontrado en el Blog de Dabo un magnífico artículo con 12 razones para usar Internet Explorer (ironic mode), aquí os lo dejo para vuestro deleite, no tiene desperdicio:

Pensando pensando me he dado cuenta de que no he sido justo con este navegador, le he llamado tantas veces “Basura” (que lo explica muy bien el DRAE) que tengo remordimientos.

Entonces, he vuelto a la base, a mis tiempos de Windows 95 y he visto la luz…

La letra “e”, es un símbolo de modernidad, un homenaje a nuestra vieja y culta Europa, una “e” de esperanza…
Es fácil de usar, al no tener navegación por pestañas, te puedes concentrar más en una sola página, navegarás menos pero…absorberás más conocimientos.
No requiere instalación, en el 90 % de los casos vendrá con tu flamante nuevo equipo, nada de complicadas instalaciones, horas de descarga de otros navegadores que vete tu a saber que oscuros misterios esconderán… (ahora bien, te las vas a ver para desinstalarlo)
Serás un buen ciudadano, podrás entrar a todo tipo de páginas de organismos y estamentos oficiales, no sentirás el “vacio administrativo” de una página que respeta los estándares y dice que tu Konqueror es un señor muy malo…
Tus capacidades de búsqueda se ampliarán, verás crecer y crecer las barras que se te instalarán de buenos señores que querrán que amplíes horizontes y se abrirán muchas bellas ventanas emergentes de gente que se preocupa por el tamaño de tu pene...

Calcular el tiempo de ejecución de un script en PHP

Hola a todos, después de estar reflexionando un tiempo, he decidido tirar abajo el foro (apenas tiene actividad y tampoco tiene muchos contenidos). Para no perder los pocos contenidos que tiene, voy a ir posteando aquí los que crea que son interesantes.

Para comenzar os dejo este pequeño código muy útil a la hora de optimizar nuestros scripts. El script guarda el momento del inicio y el momento en el que finaliza el script y después realiza la diferencia, mostrándolo por pantalla. Como ya digo este código puede ser muy útil para hacer pruebas e ir reduciendo el tiempo de ejecución de nuestros scripts.

//Función que devuelve la hora actual
function cuando()
{
$time = microtime();
$time = explode(" ",$time);
$time = $time[1] + $time[0];
return $time;
}
//Obtenemos el momento inicial
$inicio=cuando();

//Esperamos 3 segundos
sleep(3);

//Obtenemos el momento final
$final=cuando();

//Calculamos la diferencia
$empleado = ($final - $inicio);
echo "Ha tardado".$empleado." segundos.";
?>
Continuaremos con este tipo de artículos...un saludo!

Comprobar si un puerto esta abierto con PHP

Con este pequeño código podemos comprobar si un puerto se encuentra abierto...las posibilidades que da son bastante grandes...analizadores de puertos a gran escala, buscadores de servidores web, mysql, ssh, etc... que cada uno lo use para lo que quiera, aquí os lo dejo:

//Configuramos el dominio y puerto al que conectar
$dominio = "dominio.com";
$puerto = 80;

//Intentamos abrir una conexión al dominio y puertos seleccionados
$fp = @fsockopen($dominio,$puerto,$errno,$errstr,10);

//Comprobamos si la conexión se ha realizado
if(!$fp)
{
echo "El puerto esta cerrado";
}
else
{
echo "Puerto abierto y conexión realizada.";
fclose($fp);
}
?>
Un saludo a todos!

Group_concat, esa pequeña maravilla del MySQL

Habitualmente trabajo con bases de datos MySQL, y al hacer agrupaciones en las select, echaba en falta un comando que me mostrara los registros que estaban agrupados en cada fila.

Por si no me he explicado bien, pondré un ejemplo. Tenemos una tabla de usuarios con su nombre y apellidos y un id de ese usuario, y queremos obtener una lista de los id's de usuario agrupados por nombre....esto que parece tan sencillo no se podría hacer si no fuera por el comando group_concat, de la siguiente manera:

select nombre, group_concat(id) from usuarios group by nombre
Nos mostraría:

nombre -> group_concat(id)
paco -> 1,3,4,123
ramon -> 2,7,12,45
faustino -> 74.1234,13

etc....
Como veis para algunas cosas viene muy bien. El separador que queremos que use para separar los registros lo podemos indicar nosotros mediante el atributo separator, de la siguiente forma:

select nombre, group_concat(id separator "-") from usuarios group by nombre

Posiblemente esto ya lo conocía mucha gente, ya que lleva desde MySQL 4 y pico...pero como yo no lo conocía y me parece curioso, quería compartirlo con vuesas mercedes.

¡Un saludo a todos!

Sencillo algoritmo en PHP para calcular la edad

$fechanacimiento = "13-01-1965";
$anyonac = substr($fechanacimiento,6,4);
$mesnac = substr($fechanacimiento,3,2);
$dianac = substr($fechanacimiento,0,2);
if ( ($mesnac <= date("m")) && ($dianac <= date("d")) )
{
//Si el último cumpleaños ya ha sido este año
$edad = date("Y") - $anyonac;
}
else
{
//Si el último cumpleaños no ha sido aún este año le restamos 1 a la edad
$edad= date("Y") - $anyonac - 1 ;
}
echo "La edad es: ".$edad;
?>

Proyectos

PROYECTOS REALIZADOS PARA PRAXIS ESTRATEGIA :(2006-2009 )

  1. Album de fotos
    http://dev1.praxisinteractive.net/album/
    php+mysql
  2. Amigos de la Verdad
    http://dev1.praxisinteractive.net/amigosdelaverdad/
    php+mysql
  3. Archivos PRWOW
    http://dev1.praxisinteractive.net/archives_prwow/
    php+mysql
  4. Atento - Emprelos
    http://dev1.praxisinteractive.net/atento/
    php+mysql
  5. Boneville
    http://dev1.praxisinteractive.net/bcsepr-backup/
    php+mysql
  6. Bellas artes de guaynabo http://dev1.praxisinteractive.net/bellasartesdeguaynabo/
    php+mysql
  7. Blog
    http://dev1.praxisinteractive.net/blog/
    php+mysql
  8. Camara de comercio de PR
    http://dev1.praxisinteractive.net/ccpr/
    php+mysql
  9. Clase
    http://dev1.praxisinteractive.net/clase/
    php+mysql
  10. Clasificados
    http://dev1.praxisinteractive.net/clasificados/
    php+mysql
  11. Directorio
    http://dev1.praxisinteractive.net/directorio/
    php+mysql
  12. Eventos
    http://dev1.praxisinteractive.net/eventos/
    php+mysql
  13. Fiscal
    http://dev1.praxisinteractive.net/fiscal/
    php+mysql
  14. Gerber
    http://dev1.praxisinteractive.net/gerber/
    php+mysql
  15. Greencoffe
    http://dev1.praxisinteractive.net/greencoffee/
    php+mysql
  16. Imagen
    http://dev1.praxisinteractive.net/imagen/
    php+mysql
  17. Luterano
    http://dev1.praxisinteractive.net/luterano/
    php+mysql
  18. Mailing
    http://dev1.praxisinteractive.net/mailing/
    php+mysql
  19. Movies
    http://dev1.praxisinteractive.net/movies/
    php+mysql
  20. Phrta
    http://dev1.praxisinteractive.net/phrta/
    php+mysql
  21. Pierluisi
    http://dev1.praxisinteractive.net/pierlusi/
    php+mysql
  22. Prma - directorio
    http://dev1.praxisinteractive.net/prma/
    php+mysql
  23. Prtt
    http://dev1.praxisinteractive.net/prtt/
    php+mysql
  24. El diario
    http://dev1.praxisinteractive.net/prwownews/
    php+mysql
  25. Ranqueame
    http://dev1.praxisinteractive.net/rating/
    php+mysql
  26. Revista Coddi
    http://dev1.praxisinteractive.net/revista_coddi/
    php+mysql
  27. Revista Ditex
    http://dev1.praxisinteractive.net/revista_ditex/
    php+mysql
  28. SMRP - BLOG
    http://dev1.praxisinteractive.net/smepr/
    php+mysql
  29. Tienda
    http://dev1.praxisinteractive.net/tienda/
    php+mysql
  30. AcomprarOnline
    http://dev2.praxisinteractive.net/deshopping/
    php+mysql
  31. Entourage
    http://dev3.praxisinteractive.net/entourage/
    php+mysql
  32. PRCB
    http://dev3.praxisinteractive.net/prcb/
    php+mysql
  33. Amigos
    http://tempo2.praxisinteractive.net/amigos/
    asp+sql
  34. Bagsesories
    http://tempo2.praxisinteractive.net/bagsesories/
    php+mysql
  35. Caribbean
    http://tempo2.praxisinteractive.net/caribbean/
    php+mysql
  36. Classmates
    http://tempo2.praxisinteractive.net/clase/
    asp+sql
    Clasificados
    http://tempo2.praxisinteractive.net/clasificados/
    asp+sql
  37. Coddi
    http://tempo2.praxisinteractive.net/coddi/
    asp+sql
  38. Cruz Azul
    http://tempo2.praxisinteractive.net/cruzazul/
    asp+sql
  39. El diario
    http://tempo2.praxisinteractive.net/eldiario/
    php+mysql
  40. Faunatico
    http://tempo2.praxisinteractive.net/faunatico/
    php+mysql
  41. Boricua Herald
    http://tempo2.praxisinteractive.net/herald/
    php+mysql
  42. LawnKeepers
    http://tempo2.praxisinteractive.net/lawn/
    asp+sql
  43. Mambo
    http://tempo2.praxisinteractive.net/mambo/
    php+mysql
  44. MMM
    http://tempo2.praxisinteractive.net/mmm/
    php+mysql
  45. Slide
    http://tempo2.praxisinteractive.net/slide/
    php+mysql
  46. SUAGM
    http://tempo5.praxisinteractive.net/suagm-pr/
    asp+sql
  47. Club 66
    http://tempo5.praxisinteractive.net/club66/
    php+mysql
  48. Coka-diet
    http://tempo5.praxisinteractive.net/coka-diet/
    php+mysql
  49. Guide
    http://tempo5.praxisinteractive.net/guide/
    php+mysql
  50. Jergas
    http://tempo5.praxisinteractive.net/jergas/
    php+mysql
  51. El cambio eres tu
    http://tempo5.praxisinteractive.net/news2008/
    php+mysql
  52. Peroni
    http://tempo5.praxisinteractive.net/peroni/
    php+mysql
  53. PDA- news
    http://tempo5.praxisinteractive.net/pda/
    php+mysql
  54. Politecnica
    http://tempo5.praxisinteractive.net/politecnica/html2/
    asp+sql
  55. PPR
    http://tempo5.praxisinteractive.net/ppr/
    php+mysql
  56. Sabanera
    http://tempo5.praxisinteractive.net/sabanera/
    php+mysql

PROYECTOS MAS IMPOTANTES REALIZADOS PARA GOBNET:(2005-2006 )

  1. Rediseño y Modificación del Sistema de Estadística Penitenciaria (SESPEN) del Instituto
    Nacional Penitenciario- INPE.( Gobnet S.A.C).
  2. Desarrollo de Portal en Internet e Intranet para el Ministerio Público. ( Gobnet S.A.C )
  3. Elaboración de Portal Web para ONE Source Distribution Center - USA.( Gobnet S.A.C )
  4. Guía Hábitat ( Gobnet S.A.C) - Perú
  5. Mamy CIA ( Gobnet S.A.C) - Perú

PROYECTO REALIZADOS PARA EL MINISTERIO DE JUSTICIA:(2005 )

  1. Sistema de Conciliación. Ministerio de Justicia ( MINJUS ).

Respuestas de un programador cuando falla su programa

Esta es la lista de las 20 respuestas que más utilizan (utilizamos) los programadores cuando sus (nuestros) programas no funcionan:

Pues es raro…
Nunca había pasado antes.
Pues ayer funcionaba…
¿Cómo es posible?
Tiene que ser un problema de tu hardware.
¿Qué hiciste mal para lograr que fallara?
Algo debe de estar mal en tus datos.
¡Si no he tocado ese módulo en meses!
Debes de estar usando una versión anterior.
Es sólo una desafortunada coincidencia.
¡Es que no lo puedo probar todo!
ESTO, no puede ser la causa de ESO.
Funciona, pero no lo he probado.
¡Alguien debe de haber cambiado mi código!
¿Has comprobado que no haya algún virus en tu sistema?
Ya se que no funciona, ¿pero te gusta?
No puedes utilizar esa versión en tu sistema
¿Por qué quieres hacer eso?
¿Y tú dónde estabas cuando se colgó el programa?
Y la respuesta número uno de los programadores con programas que no funcionan es:

¡EN MI MÁQUINA SI FUNCIONA!