Posted: Abril 27th, 2010 | Author: admin | Filed under: Internet, Recursos Web | No Comments »
Dando un vistazo a las tendencias de juegos, servicios de celulares y demás aplicaciones de ocio como pueden ser trivias, sorteos, etc. se puede ver una tendencia clara hacia la interacción constante con el usuario. Cada vez se requiere una respuesta más elaborada a estas aplicaciones, lo cual nos lleva a invertir más tiempo y a darle una importancia relativa mayor en nuestra vida. El resultado, una vez que estamos participando no podemos dejar de hacerlo.
Los juegos online como Mafia, Farmville y otros están marcando el camino para las nuevas generaciones de entretenimiento. Juegos donde participas con tus amigos, donde tu grupo social está incluído y compartes pero sobre todo compites con tus conocidos. Una vez que tenemos nuestra granja y vemos la de nuestros amigos, queremos una mejor, invertimos más tiempo y esto alimenta el círculo para que sigamos en él.
Claro que en caso de que no tengamos el tiempo suficiente para construir paso a paso nuestra granja podemos gastar unos pocos dólares y nos ahorramos el tiempo… O si estamos en el Mafia podemos comprar lo que otros tienen y se han ganado con tiempo. ¿Qué padre le negaría unos dólares a su hijo que ha estado tan tranquilo con ese juego las últimas semanas?
Esto nos lleva a los micropagos. Los micropagos son pagos de un dólar por ejemplo, que se puedan hacer al instante y con un servicio de celular o a través de Paypal, con comisiones mínimas que permiten que el pago sea rentable. Este eslabón posibilita la creación de aplicaciones que requieran de pagos mínimos para obtener resultados rápidos, creando un abanico hasta ahora inexplorado para compras en Internet, el público en general que no cuenta con tarjetas de crédito.
Es de suponer que los micropagos sean el próximo paso a dar por parte de Facebook, en su intento de crear una red cerrada o Internet propia, donde otras grandes companías como Google no puedan participar ni interferir, y donde los usuarios no tengan la necesidad de salir de esta red.
Sumando micropagos, celulares, juegos en celulares y el día de mañana juegos en la TV, en la calle, en discotecas y pubs podemos imaginar un futuro donde participar en juegos, compartiendo y compitiendo con nuestros amigos y contactos de redes sociales sea la norma. Y a falta de tiempo podamos gastar unos pocos dólares para estar en el msmo nivel sin tener que invertir tiempo.
Posted: Marzo 16th, 2010 | Author: admin | Filed under: Empresas/Startups, PHP, Recursos Web | No Comments »
Presentamos una solución ideal para diseñadores y revendedores que necesitan alojar dominios y obtener el mejor beneficio de los sitios. El plan de alojamiento web ofrecido por Trepcom Technologies incluye además de todas las funcionalidades modernas, soporte técnico y asesoramiento para comprar dominios, configurar sitios y optimizar con SEO.

Plan Diseñador/Programador: U$S 100 por año
Plan Avanzado: U$S 200 por año
Funcionalidades incluidas en ambos:
- PHP 5
- Mysql 5
- Acceso FTP
- Estadisticas de trafico
- 50 casillas de correo con antivirus, antispam y espacio ilimitado (7GB aprox. cada una)
- Soporte para configuracion de sitios, compra de dominios y administracion.
Por consultas: info@trepcom.com
Nuevos planes de Hosting para diseñadores y revendedores
Responder
|
Estamos lanzando nuevos planes de hosting para diseñadores y revendedores. La idea es que te puedas olvidar de problemas de hosting y sacarle un mayor margen al alojamiento de los sitios.
Todas las consultas tecnicas y soporte lo damos nosotros, casillas de correo, cuentas de ftp, bases de datos, etc.
Estos serian los dos planes basicos:
Plan Diseñador/Programador: U$S 100 por año
Plan Avanzado: U$S 200 por año
Funcionalidades incluidas en ambos:
- PHP 5
- Mysql 5
- Acceso FTP
- Estadisticas de trafico
- 50 casillas de correo con antivirus, antispam y espacio ilimitado (7GB aprox. cada una)
- Soporte para configuracion de sitios, compra de dominios y administracion.
Cualquier consulta a las ordenes!
Responder
|
|
Reenviar
|
|
|
|
|
Responder
|


Trepcom Technologies
para bcc: Agustin, bcc: Gaston, bcc: Alvaro, bcc: Pablo, bcc: Federico, bcc: Martin, bcc: Adolfo, bcc: Matias, bcc: Javier, bcc: Ana, bcc: Mauro
|
|
mostrar detalles 17:18 (10 minutos antes) 
|
|
Estamos lanzando nuevos planes de hosting para diseñadores y revendedores. La idea es que te puedas olvidar de problemas de hosting y sacarle un mayor margen al alojamiento de los sitios.
Todas las consultas tecnicas y soporte lo damos nosotros, casillas de correo, cuentas de ftp, bases de datos, etc.
Estos serian los dos planes basicos:
Plan Diseñador/Programador: U$S 100 por año
- 500 MB en disco
- 25 GB de trasnaferencia mensual
- Alojamiento para 10 dominios
- 10 bases de datos
Plan Revendedor: U$S 200 por año
- 1000 MB en disco
- 100 GB de transferencia mensual
- Alojamiento para 25 dominios
- 25 bases de datos
Funcionalidades incluidas en ambos:
- PHP 5
- Mysql 5
- Acceso FTP
- Estadisticas de trafico
- 50 casillas de correo con antivirus, antispam y espacio ilimitado (7GB aprox. cada una)
- Soporte para configuracion de sitios, compra de dominios y administracion.
Cualquier consulta a las ordenes!
Enrique Techera
Responder
|
|
Reenviar
|
|
|
|
|
|
Posted: Julio 31st, 2008 | Author: admin | Filed under: PHP, Recursos Web | Tags: Listado, Listado ordenado, Paginado de resultados, Paginado PHP | 1 Comment »
Ordenar los resultados en los listados suele ser un problema repetido y aburrido de solucionar. Tenemos que cortar la consulta de resultados, luego contar las páginas segun la cantidad de resultados por página, poner links de siguiente, anterior, etc, etc, etc…
En esta entrada les dejo un script para olvidarse de una vez de este tema, un script que se encarga de hacer todo el paginado por su cuenta, simplemente definimos algunos valores y problema solucionado.
Primero que nada el script: “Paginator”. El sitio del proyecto lo encuentran en:
http://jpinedo.webcindario.com/scripts/paginator/
Descargan los dos archivos del script y lo primero que tenemos que hacer es configurar el script para que se conecte a la base de datos. Esto lo hacemos en el archivo: paginatorconf.inc.php. Verán que en este archivo definen servidor, usuario, contraseña y DB.
Hecho esto lo único que tenemos que hacer es preparar la consulta SQL tal como la usariamos normalmente, sin LIMIT ni nada. Veamos un ejemplo:
$_pagi_sql = “SELECT * FROM tabla ORDER BY nombre”;
$_pagi_cuantos = 50;
$_pagi_nav_num_enlaces = 5;
require(“paginatorconf.inc.php”);
require(“paginator.inc.php”);
Guardamos en una variable de nombre $_pagi_sql (este nombre es el que usa el script, sirve para no confundirse) la consulta, luego definimos el formato del paginado, es decir la cantidad de resultados por página y el numero de enlaces hacia las páginas de resultados, y llamamos a los dos archivos del paginator, primero al de configuración y luego a paginator.inc.php.
Luego de haber incluído el segundo archivo tendremos en la variable $_pagi_result el resultado de la consulta. Además tenemos otras variables que guardan todos los datos que necesitamos, como cantidad de resutlados, número de enlaces y demás, veamos como podemos desplegar la información:
<table>
<tr>
<th width=”3%”>Nº</th>
<th>Nombre</th>
</tr>
<?
$i = $_pagi_desde;
while($row = mysql_fetch_array($_pagi_result)){
?>
<tr>
<td><?=$i?>.</td>
<td> <?=$row['nombre']?></td>
</tr>
<?
$i++;
}
?>
<tfoot>
<tr><th colspan=2 width=100%>
Resultados: Desde <?=$_pagi_desde?> hasta <?=$_pagi_hasta?> (Total: <?=$_pagi_totalReg?>)
<br />Página: <?=$_pagi_navegacion?>
</th></tr>
</tfoot>
</table>
Recorremos los resultados obtenidos, y con la variable $_pagi_navegacion desplegamos la navegación con los links de siguiente, anterior y links directo a las páginas. así de simple
.
Para los casos en que utilizan variables GET para su sitio, no hay problema, ya que las variables GET que utiliza el navegador no borran las de ustedes, el script se encarga de propagar o “poner en su sitio” las variables GET que tenga la URL para no romper la misma
.
Posted: Julio 28th, 2008 | Author: admin | Filed under: PHP, Recursos Web | Tags: Contacto, Formulario, Formulario de consulta, Mails, PHP, PHPMailer | 22 Comments »
Enviar mails con PHP suele ser sencillo, utilizando la funcion mail() podemos hacerlo aunque no tenemos prácticamente fleixbilidad ni opciones. Casos típicos son cuando queremos enviar mails por smtp, utilizando una cuenta en particular, o nuestro servidor no tiene configurado un servidor local para PHP, o necesitamos una conexion SSL, etc.
Para estos casos podemos usar la clase phpmailer, que nos da todas estas opciones y más. La clase la pueden descargar de: phpmailer.codeworxtech.com
Lo único que necesitamos hacer luego de tener la clase descargada y colocada nuestro sitio, es incluir el archivo de la misma e instancia la clase:
require(“phpmailer/class.phpmailer.php”);
$mail = new PHPMailer();
Hecho esto pasamos a definir mail de origen, destino, nombre, etc.:
$mail->From = $mailfrom; // Mail de origen
$mail->FromName = $name; // Nombre del que envia
$mail->AddAddress($para); // Mail destino, podemos agregar muchas direcciones
$mail->AddReplyTo($mailfrom); // Mail de respuesta
Luego definimos el contenido del mail:
$mail->WordWrap = 50; // Largo de las lineas
$mail->IsHTML(true); // Podemos incluir tags html
$mail->Subject = “Consulta formulario Web: $name”;
$mail->Body = “Nombre: $name \n<br />”.
“Email: $mailfrom \n<br />”.
“Tel: $tel \n<br />”.
“Mensaje: $info \n<br />”;
$mail->AltBody = strip_tags($mail->Body); // Este es el contenido alternativo sin html
Podemos adjuntar archivos simplemente agregando los mismos de la siguiente forma:
$mail->AddAttachment(“nombredearchivo.txt”); // Ingresamos la ruta del archivo
Y ahora viene la parte divertida (no solo me pica el…errr), definimos el servidor que enviara el mail, podemos definir tipo de servidor, autenticacion, usuario, contraseña, etc. Vemos ejemplo de las posibilidades que tenemos.
Si vamos a enviar mail desde el servidor local sin configuración especial podemos usar:
$mail->Host = ‘localhost’;
Si necesitamos utilizar una casilla de correo smtp, con user y pass:
$mail->IsSMTP(); // vamos a conectarnos a un servidor SMTP
$mail->Host = “mail.servidor.com”; // direccion del servidor
$mail->SMTPAuth = true; // usaremos autenticacion
$mail->Username = “info@servidor.com”; // usuario
$mail->Password = “pass”; // contraseña
Si necesitamos una conexion con SSL, por ejemplo para enviar un mail desde PHP con gmail:
$mail->Mailer = “smtp”;
$mail->Host = “ssl://smtp.gmail.com”;
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = “burmauy@gmail.com”; // SMTP username
$mail->Password = “burmaUY123456″; // SMTP password
Como ven esta clase es muy flexible y nos olvidamos de tener que manejar nosotros mismos conexiones complejas o con cabeceras especiales. Podemos simplificarnos mucho la vida utilizando phpmailer para enviar mails.
Ya para enviar el correo, simplemente utilizamos la siguiente linea:
$mail->Send();
Podemos poner esa llinea dentro de un if para saber si quedo todo bien configurado y se pudo enviar el email, de la siguiente forma:
if ($mail->Send())
echo “Enviado”;
else
echo “Error en el envio de mail”;
Posted: Julio 23rd, 2008 | Author: admin | Filed under: PHP, Recursos Web | Tags: apache, htaccess, SEO, URLs limpias | No Comments »
En cualquier sitio que requiera programación, ya sean noticias, productos, categorías, etc., necesitamos agregar URLs que tienen parámetros. Estos parámetros son los que indican a nuestro código la información a cargar, pero los buscadores no ven con buenos ojos estas consultas con parámetros. Por ejemplo:
http://www.sitio.com/noticias.php?date=20080201
Esta url además de no ser amigable para los buacadores no lo es para los usuarios. Si alguien busca en el historial y ve esa dirección no va a recordar fácilmente de que se trata.
Para poder llevar esta URL a algo mas prolijo utilizaremos mod_rewrite de Apache y un archivo .htaccess. Buscamos lograr una url como la siguiente:
http://www.sitio.com/noticias/2008/02/01
Primero que nada necesitamos saber si nuestro servidor Apache tiene habilitado mod_rewrite, para esto podemos ver en el archivo de configuración httpd.conf el cual debe tener descomentada la línea siguiente:
LoadModule rewrite_module modules/mod_rewrite.so
Nota para los que tengan Windows, pueden tener problemas al probar este módulo, en Linux anda a las mil maravillas.
En caso de que el servidor no soporte el módulo o que escriban mal el archivo .htaccess van a ver un mensaje de error por lo que es recomendable probar primero todo en un directorio separado del sitio principal para no bloquear todo haciendo pruebas. Si tuvieron que modificar el archivo httpd.conf van a necesitar reiniciar el servidor.
El siguiente paso es el de crear el archivo .htaccess, nuevamente los que tengan Windows pueden tener algun problema al intentar crear un archivo que empieza con un punto, lo que pueden hacer es abrir el bloc de notas y en Archivo > Guardar Como eligen “Todos los Archivos” y ponen el nombre .htaccess para guardar.
Empecemos con un archivo básico de ejemplo:
RewriteEngine On
RewriteBase /
RewriteRule ^login/ /login.php [L]
Lo que haremos será poner una URL en el navegador, pero queremos que nuestro script reciba el código como si nada hubiera sucedido, para esto reescribiremos las URLs. Las dos primeras líneas indican que vamos a activar el módulo de reescritura y luego indicamos la ruta para esta operación.
A continuación lo que hacemos es indicar nuestra primera regla de modificación, queremos que cuando alguien ingresa a www.nuestrositio.com/login/, en realidad lo envíe al archivo login.php. Para esto indicamos la palabra a buscar y luego indicamos el archivo php al cual se reenviará el pedido. Claro que esto sucede del lado del servidor, por lo que el visitante del sitio no ve nada “raro” al acceder.
Veamos ahora un ejemplo en el que queremos pasar parámetros en forma limpia a un archivo php:
RewriteRule ^noticias/([0-9]*)/ /noticias.php?id=$1 [L]
Podemos agregar una segunda regla, una por línea y manteniendo las dos primeras línea del archivo .htaccess. Esta nueva regla utiliza una cadena de texto “noticias” y luego una expresión regular para pasar al archivo php un parámetro como variable GET['id'].
La expresión regular de este ejemplo recibe números del 0 al 9 (el asterisco indica que pueden ser muchos) y los pasa al archivo noticias.php donde aparece la variable $1. Si tenemos varios parámetros podemos poner varias expresiones regulares y variables para cada una $1, $2, $3…
Vemos ahora un ejemplo en el cual pasamos letras también:
RewriteRule ^noticias/([a-zA-Z0-9\(\)+%_-]*)/ /noticias.php&title=$1 [L]
En este caso la expresión regular acepta letras de la “a” a la “z”, de la “A” a la “Z” (las expresiones son sensibles a mayúsculas, por eso ponemos los dos casos), también acepta números así como algunos caracteres: ( ) + % _ -
Noten que para los paréntesis necesitamos utilizar la barra de escape “\”la cual indica que vamos a poner un caracter que la expresión puede “confundir” con otra cosa. Este caracter nos sirve para estos casos especiales.
Para seguir ahondando en ejemplos necesitamos tener un manejo de expresiones regulares, tema que escapa a esta entrada específica.
Posted: Junio 10th, 2008 | Author: admin | Filed under: AJAX, PHP, Recursos Web, Uncategorized | Tags: Filtrar campos, Formularios, Javascript, Validacion, Validacion de formularios | 1 Comment »
Cuando utilizamos campos de selección, formularios y demás suelen existir reestricciones en lo que podemos hacer. Ya sea un campo para una casilla de mail o para un teléfono, el sitio intentará que ingresemos la información de forma correcta, lo cual puede ser mas o menos amigable con el usuario
. Son conoocidos los casos de sitios donde se ingresa algunos campos de formularios y nos dice que hay un error, pero no donde, o bien que no dice nada y no tenemos idea que sucedió, entre otras muchas posibilidades.

Para tratar de dar al usuario las mayores facilidades veremos un poco de validación con javascript, lo cual nos permite verificar los datos que se ingresan antes de que se envíe el formulario, y buscaremos que esta información sea lo más amigable y útil posible.
Comencemos con un simple formulario:
<form method=”post” action=”" name=”form” onsubmit=”return validate(this)”>
<fieldset>
<p><label for=”email1″ class=”left”>Email:</label>
<input type=”text” name=”email1″ id=”email1″ class=”field” value=”" tabindex=”1″ /> *</p>
<p><label for=”email2″ class=”left”>Verificar Email:</label>
<input type=”text” name=”email2″ id=”email2″ class=”field” value=”" tabindex=”2″ /> *</p>
<p><label for=”password1″ class=”left”>Contraseña:</label>
<input type=”password” name=”password1″ id=”password1″ class=”field” value=”" tabindex=”3″ /> *</p>
<p><label for=”password2″ class=”left”>Verificar Contraseña:</label>
<input type=”password” name=”password2″ id=”password2″ class=”field” value=”" tabindex=”4″ /> *</p>
<p><label for=”firsnamename” class=”left”>Nombre:</label>
<input type=”text” name=”name” id=”name” class=”field” value=”" tabindex=”5″ /> *</p>
<p><input type=”submit” name=”register” id=”register” class=”button” value=”Register” tabindex=”6″ /></p>
<p class=”legend”>(* Campos requeridos)</p>
</fieldset>
</form>
Noten algunos detalles que agregamos, macados en negrita:
- onsubmit=”return validate(this)”
Al enviar el formulario, ya sea haciendo clic en el botón o dando enter, queremos que el contenido del mismo pase por una función de javascript que validará el contenido. La función se llamará validate y pasamos como argumento a la misma el formulario, que al estar haciendo el envío en este preciso momento podemos invocarlo con this.
- id=”email1″
Debemos poder identificar los campos del formulario con un nombre. Aunque podríamos hacerlo con el atributo name de cada campo, por lo que general queda mas “limpio” el codigo al usar ids. Noten que tenemos un id para cada campo, esto es importante a la hora de poder ir tomando el contenido de cada campo por separado.
- (* Campos requeridos)
Por último y con el único fin de hacer más amigable las cosas, avisamos que los campos marcados con un asterisco son obligatorios. Esto avisa al usuario de que debe llenarlos y que serán validados.
El siguiente paso es llamar a la función javascript que mencionamos, para esto tendremos dos secciones de código javascript, una que contendrá la validación especifica para este formulario que por ejemplo tiene casillas con nombre de email, contraseña, y dejaremos en un archivo por separado el resto del código que se aplica a cualquier caso de validación, como es mostrar el mensaje de error, etc.
Al final de este artículo están disponibles los archivos para la descarga, dentro de messages.html encontrarán el formulario html con el código javascript específico al formulario y una llamada a un archivo externo messages.js que contiene el código general, además de un archivo css y un archivo de imagen.
Volviendo al código, para validar esta formulario utilizaremos un código como este:
<script type=”text/javascript”>
document.forms.form.email1.focus();
function validate(form) {
// Pasamos contenido de los campos a variables
var name = form.name.value;
var email1 = form.email1.value;
var email2 = form.email2.value;
var password1 = form.password1.value;
var password2 = form.password2.value;
// Expresiones regulares que utilizamos para validar las cadenas de texto segun cada caso
var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:”.*?”|’.*?’|[^'">\s]+))?)+\s*|\s*)\/?>/gim);
if(email1 == “”) {
inlineMsg(‘email1′,’Ingrese su email.’,2);
return false;
}
if(!email1.match(emailRegex)) {
inlineMsg(‘email1′,’Ha ingresado un email invalido.’,2);
return false;
}
if(email1 != email2) {
inlineMsg(‘email2′,’El mail y su verificacion no coinciden.’,2);
return false;
}
if( (password1 == “”) || (password1.length < 6) ) {
inlineMsg(‘password1′,’Ingrese una contraseña de al menos 6 caracteres.’,2);
return false;
}
if(password2 != password1) {
inlineMsg(‘password2′,’La contraseña y su verificacion no coinciden’,2);
return false;
}
if(name == “”) {
inlineMsg(‘name’,'Ingrese su nombre.’,2);
return false;
}
if(!name.match(nameRegex)) {
inlineMsg(‘name’,'Ha ingresado un nombre invalido.’,2);
return false;
}
return true;
}
</script>
La primera línea lo único que hace es colocar el foco o cursor de escritura sobre el primer campo del formulario. Luego tenemos la función validate que recibe el formulario que debe validar, “function validate(form) {“, y enseguida dentro de la misma pasamos los contenidos de los campos a variables y preparamos expresiones regulares para validar los distintos casos de email, nombre, mensaje.
El resto del código es simplemente validar cada una de las casillas, con una condición y en caso de que la cumpla llamamos a otra función (inlineMsg, que se encuentra dentro del archivo js externo que mencionamos antes) la cual se encarga de mostrar el mensaje de error.
if(email1 == “”) {
inlineMsg(‘email1′,’Ingrese su email.’,2);
return false;
}
En este caso verificamos si la variable email1 contiene el valor vacío, en caso de ser asi llamamos a inlineMsg pasándole como parámetros el id del campo que estamos validando, el mensaje de error y si queremos que el mensaje desaparezca solo luego de 2 segundos.
Con esto deberíamos tener una validación básica pero amigable para el usuario, fundamental para que nuestros sitios sean utilizados y no generen rechazo.
(Créditos: http://www.leigeber.com/2008/04/dynamic-inline-javascript-form-validation/)
Descargar archivos validación JS