Mostrando entradas con la etiqueta php. Mostrar todas las entradas
Mostrando entradas con la etiqueta php. Mostrar todas las entradas

10 mayo, 2012

Ubicación de las visitas a tu sitio desde un API en PHP


Siempre vas a necesitar conocer la ubicación de tus visitas, y si no, deberías, ya sea para mantener datos de visitas (aunque si sólo utilizas Google Analytics, no deberías preocuparte) ó para restringir un acceso a un registro o algún otro permiso, pero como obtienes este dato?

Pues hay un API que nos facilita conocer el país, región e incluso la ciudad de una visita solo ingresando la IP de donde nos accede. Desde ahora les aclaro que utilizar servicios de terceros nos deja a sus pies, y no es recomendado si no conoces la fuente o no confías en él, por unas semanas yo he utilizado este y hasta ahora no me ha fallado en lo que necesito.

El servicio se accede mediante la siguiente dirección: http://api.easyjquery.com/ips/?full=true si ingresas al enlace puedes ver tus datos, y reconocemos que nos retorna los datos en una estructura json (si no sabes que es json no te preocupes puedes leer de eso aquí). Pero lo que queremos es obtener los datos del usuario y no los podemos obligar a ingresar al link, para esto vamos a utilizar la función de PHP llamada file_get_contents que va a ingresar a esa dirección por nosotros y retornarnos esa información del usuario, de esta manera:

$ip = $_SERVER['REMOTE_ADDR'];
$json = file_get_contents("http://api.easyjquery.com/ips/?ip=".$ip."&full=true");
La variable ip es el valor de la IP del visitante que viene dentro del arreglo $_SERVER propio de php, ahora vienen la pregunta:

¿Cada ves que un usuario venga al sitio vamos a usar nuestro script para sacar los datos?
No, al menos lo ideal sería no hacerlo todo el tiempo, puesto que el request a una pagina aparte lleva su tiempo al servidor.
 ¿Pero entonces qué hacemos? Necesitamos almacenar los resultados ya consultados, podemos hacerlo de dos maneras:
  • Almacenarlos en una base de datos.
  • Almacenarlos en un directorio.
Almacenarlos en una base de datos sería lo más fácil, por eso vamos a tomar un método menos común y los vamos a guardar en una carpeta como archivos individuales:
$file = $_SERVER['DOCUMENT_ROOT']."/ip_cache/".$ip;
if(!file_exists($file)){ // request
 $json = file_get_contents("http://api.easyjquery.com/ips/?ip=".$ip."&full=true");
 $f = fopen($file,"w+");
 fwrite($f,$json);
 fclose($f);
}else
 $json = file_get_contents($file);
 De esta manera estaremos guardando únicamente archivos llamados como la IP e insertándoles el json directamente, de manera tal que al correr el script primero verificará si el archivo existe (si esta ip ya ha utilizado el script) si existe recogerá los datos del archivo, sino, verificara mediante el API y creará el archivo, una ÚNICA vez.

Así tendremos una forma ágil y rápida de verificar de donde proviene nuestro usuario, en síntesis el script se debe de ver de esta manera:
function get_country(){
    $ip = $_SERVER['REMOTE_ADDR'];
    $file = $_SERVER['DOCUMENT_ROOT']."/ip_cache/".$ip;
    if(!file_exists($file)) {// request
        $json = file_get_contents("http://api.easyjquery.com/ips/?ip=".$ip."&full=true");
        $f = fopen($file,"w+");
        fwrite($f,$json);
        fclose($f);
    }else
        $json = file_get_contents($file);
    $json = json_decode($json,true);
    return $json['COUNTRY'];
}
Si necesitan ver todos los datos que retorna en json, pueden hacerle un var_dump() a la variable $json o bien un print_r(). Espero que les haya parecido funcional el script, hasta la próxima.
Si te gustó este aporte y quieres seguir recibiendo temas como este suscríbete a JeankGeek.

14 junio, 2009

[Descargas] Calendario en Javascript


Si estas desarrollando y necesitas un calendario rápido y listo para usar, aquí te dejo el link para descargar y utilizar, es en javascript y tiene las instruccciones listas, si necesitas ayuda, no dudes en comentar.


Si te gusto este aporte suscribete a JeankGeek.blogspot.com para enterarte de esto y más.

08 abril, 2009

Tutorial de PHP, MySQL, Dreamweaver - Clase 3

Para nuestra tercera clase de tutoriales de PHP, vamos a aprender el uso de funciones para ordenar el codigo, tambien vamos a aprender acerca de los includes y como utilizarlos, el uso de fechas y divisores de cadenas (strings)  y como divirlas en arreglos, usaremos fomularios y entenderemos como funcionan, repasando el formato en el URL del metodo GET, todo esto y un poco mas en la tercera clase de los tutoriales de PHP, MySQL y dreamweaver:






Si te gusto este aporte suscribete a JeankGeek.blogspot.com para enterarte de esto y más.

31 enero, 2009

Tutorial de PHP, MySQL, Dreamweaver - Clase 2

Hola, acá les entrego la segunda clase de la serie de tutoriales de PHP, MySQL y Dreamweaver.

Aquí podremos encontrar el uso de variables, strings, como hacer diferentes tipos de concatenaciones, ciclos (loopins) y las sentencias case e if, todo esto aplicado en nuestro lenguaje de enseñanza PHP, sobre el programa editor Dreamweaver. El vídeotutorial consta de aproximadamente 17 minutos por lo que se los puse en 2 vídeos (ya que YouTube solo me deja subir 10 minutos máximo por vídeo, me deja limitado) y aquí están:


Ver video en alta definicion


Ver video en alta definicion

Si te gusto este aporte suscribete a JeankGeek.blogspot.com para enterarte de esto y más.

25 enero, 2009

Tutorial de PHP, MySQL, Dreamweaver - Clase 1

Hola, vamos a empezar con una serie de videotutoriales dedicados a que te vuelvas un experto en PHP desde cero, esta es la oportunidad para aprender gratis el arte de programar en PHP, en nuestro primer tutorial vamos a instalar un servidor de apache en nuestra computadora para procesar PHP y MySQL, y haremos una definición de un sitio en nuestro Dreamweaver para tener todo listo para nuestra próxima clase, el video al salto:





si te gusto este aporte suscribete al Blog para mas.

17 noviembre, 2008

Graficos en Flash, desde PHP


Hola, como les habia prometido ya les hize un mini-paquete que viene con todos los archivos que necesitas para poder hacer estas espectaculares graficas llamadas desde php, ahora que es lo genial de hacerlo desde php?

Tus datos seran dinamicos, es decir que pueden ser cambiantes, ya sea por un random o un llamado a una base de datos, estos tienen la capacidad de ser siempre diferentes o inclusibe graficar diferente informacion que quieras mostrar segun los parametros que le envies (recuerda que puedes enviarle parametros por url ej: llamadoAlGrafico.php?grafico=pastel&graficar=registros)

Si deseas graficar de otra forma ya sea barras, 3D o algun otro, puedes visitar la pagina de la libreria entera aqui. El link despues del salto:

Descargar Paquete de Graficos-Flash-PHP

Es todo por ahora, si te gusto este aporte suscribete al Blog para mas.

10 noviembre, 2008

PHP + Flash = Gráficos

Nunca te ha pasado que andas buscando como mostrar tu información en forma dinámica, entendible y bonita? que tal si a eso le puedes agregar movimiento? Sería estupendo no?

PiePues les traigo la respuesta a sus plegarias, con una librería que he encontrado en la Web llamada open-flash-chart, esta librería utiliza tecnología Flash al presentar sus resultados. Estos grandes tipos me simplificaron mi vida de reportes de programación en un 50% (el 50% del tiempo que veía como carajos mostrar la información de manera que el cliente la entendiera!).

Pues su manera de implementación es sencilla, se puede aplicar en lenguajes como Java, Perl, Python y por supuesto nuestro adorado PHP que es en el que nos vamos a concentrar.

La visualización final de los resultados lo pueden ver en la página de http://teethgrinder.co.uk/ ahora me pondré a hacer un mini-paquete exclusivo para usuarios de PHP y se los estaré posteando esta semana para que no tengan que mamarse leerse tooodo el tutorial y simplemente editen sobre el que les haré.

Por ahora eso es todo, si te gusto este aporte suscribete al Blog para mas.

02 junio, 2008

Enviar Mail php

Hola, hoy les voy a compartir un mmm api? (creo que eso es lo que es) para facilitarles esa molesta programación de un enviador de mails por cada formulario de contacto que tenga su sitio, y utilizar este "api", modificar 2 o 3 variables y listo tenerlo implementado.

Este Api es creado por mi, así que no le debo nada a nadie ni uds me lo deben a mi, pueden utilizarlo como le quieran, de aquí yo me lavo las manos :P

Bueno con eso claro ahora solo voy a darles un pequeño tutorial de como utilizarlo:

  1. En la pagina a donde va el action del form, usualmente la pagina donde se ponen "Your Information has been successfully sent", en esta pagina ponen en la línea 1 caracter 1 el código de <?php include("contact.mail.php"); ?> (tengan en cuenta que esta pagina debe ser .php o configurar el .htaccess para que lea de html el código php.
  2. Dentro del form colocar el siguiente campo en cualquier lado: <input type="hidden" name="enviar" value="Enviar" />
  3. Luego se encontrarán con unos arreglos así: $array_datos["Name"] = $_POST['name']; estos son sus datos, este es el formato a seguir:

$array_datos["Nombre_del_campo_(no_se_admiten_espacios)"] = $_POST['Nombre_variable_enviada_por_POST'];

4. Luego es solo llenar los datos de tu web y como quieres que se vea el correo:

$dominio: Nombre del Dominio
$company_name : Nombre de Compañía
$url_respuesta: thanks.html (donde quieras k aparezca después de haber enviado el mail)
$email: Correo del usuario que mando el submit
$mailTo: info@dominio.com Correo al que se debe enviar el mensaje
$mailSubject: Formulario Contacto
$url_imagen: http://path/imagen.jpg
$width: Width de la imagen (y del formulario)

5. Al finalizar su formulario enviara algo como esto:

mail

Lindo verdad, bueno al menos es fácil, rápido y te va a ahorrar estar haciendo programaciones que fácilmente se puede automatizar, después de todo de eso se trata no?

Bueno úsalo y si te funcionó postea aca para ver cual fue tu experiencia! adew!

Acá el link para descargarlo: bdownload



Si te gusto este aporte suscribete al Blog para mas.

22 enero, 2008

Graficos en php

Hola php-eros, hay momentos donde te piden que tienes que presentar tus datos en un gráfico y sinceramente php no es una buena herramienta que permita realizar gráficos con facilidad, algunos recurren a flash o a otras herramientas que se encuentran por Internet. Pues yo les voy a facilitar una clase con la que pueden realizar un gráfico de pastel, con solo modificar unos cuantos parámetros.

Empezamos creando un archivo php y escribiendo el siguiente código
// Definimos el tamaño de la imagen
$imagen = imagecreate(300,550);
// Color de fondo en formato RGB
$bg = imagecolorallocate($imagen,255,255,255);

Luego definimos cuatro arreglos, uno para mostrar el texto, otro para guardar el color principal,otro para guardar el color de sombra y el ultimo para guardar el valor numérico registrado.
$estados[0] = "Java";
$colores[0] = imagecolorallocate($imagen,112,112,112);
$sombras[0] = imagecolorallocate($imagen,0,0,0);
$valores[0] = 600 ;
Después de ingresar varios registros a los arreglos, ahora solo resta calcular los porcentajes de los valores.
// Sumamos el total de los valores
$total = array_sum($valores);
// Calculamos el porcentaje y el ángulo de cada valor
for($i=0; $i<count($valores); $i++) {
$porcentajes[$i] = round(($valores[$i]/$total)*100,2);
$angulos[$i] = round(($porcentajes[$i]*360)/100);
}
Ahora podemos continuar con el dibujo, centramos la gráfica en las dimensiones de la imagen, modificamos en tamaño del gráfico (del pastel) y ponemos el inicio del angulo del gráfico.
// Centro de la gráfica
$cx = 120;
$cy = 65;
// Tamaño del gráfico
$ancho = 200;
$alto = 80;
// Inicio del ángulo
$inicio = 0;
Luego insertamos los datos en la gráfica de la siguiente manera
// Repetimos 35 veces la gráfica.
for($n=35;$n>0;$n--) {
for($i=0;$i<count($valores);$i++) {
imagefilledarc($imagen, $cx, $cy+$n, $ancho, $alto,
$inicio, $angulos[$i]+$inicio, $sombras[$i], IMG_ARC_PIE);
$inicio += $angulos[$i];
}
}

$gris = imagecolorallocate($imagen,119,119,119); //Color de las letras
for($i=0;$i<count($valores);$i++) { imagefilledarc($imagen,$cx,$cy,$ancho,$alto,$inicio,
$angulos[$i]+$inicio,$colores[$i],IMG_ARC_PIE);
$inicio += $angulos[$i];
// Especificación de los colores de cada una de las porsiones
imagefilledrectangle($imagen, 20, 155+($i*20), 34, 169+($i*20), $colores[$i]);
imagestring($imagen, 2, 50, 155+($i*20), $estados[$i].": ".$valores[$i]." (".$porcentajes[$i]."%)", $gris);
}
y finalmente llevamos a nuestra imagen a la vida
header('Content-type: image/png');
imagepng($imagen);
imagedestroy($imagen);

Y así de fácil creamos un gráfico en php, no es lo mas avanzado del mundo pero sirve para graficar, así lo insertamos donde queremos <img src="path/pastel.php" /> y siempre estará actualizado! ;)
El código lo dejo para que lo bajen acá: pastel.php
Si tienen preguntas o comentarios siempre son bienvenidos, espero que les guste el script, adew!!

01 enero, 2008

¿Por qué codigo Abierto?

Todos nos hemos topado con un software "gratis" pero confías en el? en realidad que se esconde detrás del Free Source?

Empecemos dando una breve introducción por nuestro siempre amigo Don wiki:

"el significado obvio de "código abierto" es que "se puede mirar el código fuente", por lo que puede ser interpretado como un término más débil y flexible que el del software libre. Basado en ello se argumenta que un programa de código abierto puede ser software libre, pero también puede ser semilibre o incluso completamente no libre. Sin embargo, por lo general, un programa de código abierto puede ser y de hecho es software libre" Wikipedia
Aclarado este detalle empezamos.. A mi parecer el código libre es lo más grande que la humanidad ha inventado después de la rueda, porque? pues es GRATIS!!

El código libre y el free software son la respuesta a todos nuestros
problemas, y PERFECTAMENTE podemos vivir con plenitud nuestra vida virtual con software GRATIS, existen infinidad de programas en la web que hacen esto posible y cada dia millones son liberados, el truco es.. Encontrarlo
Voy a dar unos ejemplos de excelentes productos con licencia libre:
1. Apache
2. Mozzila Firefox
3. Linux
4. MySql
5. PHP
Ahora la pregunta es POR QUE HACERLO OPEN SOURCE?? Bueno después de darle muchas vueltas la respuesta se torna fácil, si tienes una idea y a otra persona se le ocurre una mejora pues la haces no? así funciona el Open Source, un producto es dado a la comunidad, en esta comunidad hay ciertas personas que modifican y mejoran el producto para que otras personas lo modifiquen y mejoren y así sucesivamente, no es cuestión de dinero, sino de Usabilidad y llegar a crear un producto competitivo... y un poco de fama (creo yo!
).

A mi pensar y tomando conciencia de esta gran ventaja en el mundo de la tecnología es una gran puerta aun no explotada, porque digo esto? bien como sabemos en las escuelas y colegios estatales están dando clases de informática a los jóvenes (muy bien hecho!) pues es la puerta a una oportunidad a un futuro más prospero, pero lo que sucede es que no hay capital para comprar tantos computadores como se requiere o adquirir herramientas, pero esto se da porque el estado se dedica a comprar Software Comercial como "Windows" siendo el más popular, creo que es una irresponsabilidad de parte del estado comprar esto, sin optar por otras opciones, en mi caso YO como propondría utilizar UBUNTU (un tipo de Linux con interfaz amigable) como sistema operativo y utilizar todo ese resto de dinero que se utiliza en "Licencias" en comprar computadores nuevos para asi tener un mejor rendimiento, en cuanto a las herramientas no les haría daño a los niños conocer mas sobre Linux y su manejo, por que todos sabemos que si utilizas Linux, sabrás utilizar Windows!!

En fin espero que hayan disfrutado del comentario y quien sabe que algún pez gordo del gobierno vea esto y considere la petición! con eso ya estaría contento
eso es todo por ahora, estén atentos a mas comentarios de la web tecnología o lo que sea que se me atraviese por el cerebro quien sabe cuando.. cuídense! adew!