Archive for the ‘PHP’ Category

06.30.2009 by Ramiro

PHP 5.3

La nueva versión de PHP agrega Namspaces, funciones de internacionalización, inclusión de nuevas extensiones (Phar, SQLLite3, FileInfo y otras) y más de 140 bugs arreglados entre otros cambios. Pueden ver el anuncio junto con la lista de cambios y novedades de PHP 5.3 en este enlace.

phplogo

06.09.2009 by Ramiro

Reunión PHP Costa Rica 25 de Junio, 2009

La gente de CostaRicaPHP.org anunció la próxima reunión del grupo de PHP para el jueves 25 de Junio a las 6PM en la Universidad Latina de Costa Rica. Aula de Videoconferencias, Edificio Ciencias de la Salud, Tercer piso.

Se estará dicutiendo la nueva versión de PHP 5.3, que hay de nuevo y ejemplos de código.

Los invito a tod@s a asistir, y también a invitar a todas aquellas personas que les interese PHP.

¡Nos vemos!

Más información en http://www.costaricaphp.org/

03.06.2009 by Ramiro

PHP y Firefox, problemas de doble refresh

Hacía tiempo que no escribía en esta categoría (PHP).

Hace unos días tuve que revisar un código y a la hora de neviar datos con un formulario noté que la página, una vez que recargaba se volvía a actualizar (refresh). Revisando el código me di cuenta de un pequeño gran detalle. Falta el exit; después del redirect usando header().

<?php
header ("Location: fdsa.php");
exit; # <-------------- esto tiene que estar!!!
?>

En mi caso el problema aparecía con Firefox. Pero puede que lo mismo pase con otros navegadores.

12.04.2008 by Ramiro

Enviando Correos con PEAR::Mail

Hace un tiempo tuve algunos problemas con la función mail() de PHP y empecé a buscar alternativas. Por suerte los primeros ejemplos que vi fueron de PEAR lo cual me garantizaba no tener que hacer “loco” en el servidor. Auqneu esto puede ser una limitante para algunos alojamientos aunque ya la mayoría de alojamients serios sobre PHP ofrecen la opción (como en cPanel) de bajar paquetes de PEAR desde un panel de control.

Antes de pasar a los ejemplos claro que uno de los dramas con la funcion mail era que los correos no llegaban bien, era fácil cometer un error con los headers o tener que luchar con caracteres raros cuando se convertía de ISO 8859-1 a UTF-8. Asi es que el ejemplo va para enviar correos en HTML y Texto.

require("Mail.php");
require("Mail/mime.php");

# A Quién va el correo
$to="micorreo@midominio.com";

# El asunto / título del mensaje
$subject="Probando correos con PEAR::Mail";

# El mensaje o body en texto
$mensajeTexto="Su cliente de correo electrónico es viejísimo! Actualice para poder ver esto!!!";

# El mensaje con formato en HTML
$mensajeHTML="

Hola, este es un ejemplo de correos con PEAR::Mail

";

# Los headers del correo
$headers=array();
$headers['From']="no-reply@midominio"; # Quien lo manda
$headers['To']=$to; # Aca va el correo que definimos mas arriba
$headers['Subject']=$subject; # El asunto
$headers['X-Mailer']="X-Mailer: Mi Mailer en PHP"; # Si quieren identificar de donde sale
$headers['X-Priority']=3; # La prioridad del correo (1 es importante)
$headers['Errors-To']="webmaster@midominio.com"; # A donde va el correo si sale algo mal
$headers['Return-Path']="no-reply@midominio.com";

# Empieza el baile

$message = new Mail_mime();
$message->setTXTBody($messageTEXT);
$message->setHTMLBody($messageHTML);

# Aca definimos el encoding (esta es la parte de Mail::Mime)

$mimeparams=array();
$mimeparams['text_encoding']="7bit";
$mimeparams['text_charset']="UTF-8";
$mimeparams['html_charset']="UTF-8";

# Metemos todo en el body, Pear se encarga de armarlo
$body = $message->get($mimeparams);

# Cargamos los headers, Pear se encarga del resto...
$headers = $message->headers($headers);

# Enviamos
$smtp = Mail::factory('smtp', array ('host' => "127.0.0.1", 'port'=>25, 'auth' => true, 'username' => "no-reply@midominio.com", 'password' => "mipassword"));

$mail=$smtp->send($to, $headers, $body);

#Controlamos de que no haya problemas
if (PEAR::isError($mail)) {
print "Error";
}else{
print "Correo enviado";
}

10.06.2008 by Ramiro

Zona Horaria en PHP diferente a la del servidor

Problema: la hora que aparece en PHP es diferente a la del server.

Solución 1 – Cambiar la hora en el servidor: primero, si el servidor está en otra zona horaria y usted puede cambiarlo, hágalo. Si se trata de un proveedor de alojamiento esto no es posible de hacer y hay que arreglar la hora usando PHP.

Solución 2 – Agregar la Zona al php.ini: pero, si podemos cambiar la zona del servidor o si sabemos que está bien y podemos cambiar el php.ini debemos agregar la siguiente línea en el archivo:

date.timezone = “America/Costa_Rica”

(usar comillas dobles, las simples no funcionan y no olvidar reiniciar Apache para que los cambios surtan efecto)

La lista de lugares / paises se puede consultar en: http://cr.php.net/manual/en/timezones.america.php

Solución 3 – Cambiar la Zona desde PHP: si no es posible cambiar el php.ini podemos agregar la siguiente función al comienzo de nuestro archivo PHP:

date_default_timezone_set("America/Costa_Rica");