BadStupidMonkey php,mysql,css,design,spam…

9Dec/090

Algunos diseños

Esto son cosas que no han llegado a salir de mi pc (o si (¬.¬)' ).

:P

Filed under: Uncategorized No Comments
12Sep/091

Owned&Pwned

Filed under: Uncategorized 1 Comment
12Sep/091

Funciones para diferentes personas

Esto son funciones para las diferentes personas que existen en este mundo...

Programador Newbie

function tmCffTmAIw(){
// mucho codigo copiado de origen desconocido y baja calidad..
}

Empleado de Microsoft

function showMeTheMoney(){
return $Precio_nuevo_producto * 999 + $iva * 2
}

Fundamentalista..

function AllahAkbar(){
echo "Boom…."
}

Pastor en el campo..

function *********_tu_madre***********_if_i********(){}

Director

function hacerMiTrabajo(){
DarMiTrabajoAotro();
irAcomer();
}

Politico

function DecirQue(){
DecirAlgoEstupido();
Cobrar();
DecirAlgoEstupido();
Cobrar();
Cobrar();
Dormir();
DecirQue();
}

:P

12Sep/090

Tutorial Simple RSS 2.0

Empezamos con la base de datos. De ahí es de donde sacaremos el contenido que mostraremos en nuestro rss. Supongamos que tenemos una simple db creada:

database: rss_test
tabla: rss
campo: id | int | primary_key | auto_increment
campo: title | varchar(60)
campo: text | text
campo: date | int(11) // nota: se usa la función "time()" de php.
campo: author | varchar(60)
campo: description | text

Una simple base de datos con 6 campos, simple verdad ?
Si nos vamos a la wikipedia veremos la estructura de un RSS.

Repasemos los mas importantes.

<rss version="2.0"> </rss>

Supongo que esa es fácil.... define la versión del rss.

<channel> </channel>

Esto abre un nuevo canal, digamos que tenemos varias categorías de noticias, obviamente no vamos a crear un rss por cada una de ellas o no ?.. entonces lo que haremos seria simplemente poner en un channel una categoría en otro otra etc etc.

<title> </title>

Esto seria el titulo del canal. En los documentos rss algunos tags son liantes porque se repiten pero dependiendo de la posición hacen una o otra función. Este tag también se utiliza para definir el titulo de una noticia.

<link> </link>

Igual que title este tag se utiliza en diferentes sitios y ejerce diferentes funciones. En caso de situarlo después de channel y antes de item (que explicare mas tarde) hará de enlace hacia la categoría donde están las noticias.

<description></description>

Igual que los anteriores depende de donde este puesto hace diferentes funciones. En este caso si se pone después del channel y antes de item servirá como descripción del canal.

<pubDate></pubDate>

Esto seria la fecha y la hora mas la localización. Utiliza el formato DATE_RFC2822. Un ejemplo de como seria la fecha: Fri, 04 Sep 2009 14:49:27 +0200.

<ttl></ttl>

Tiempo de actualización. Digamos que yo visito tu pagina y veo que el ttl es 30. Esto significa que supuesta mente en 30 minutos no vas a actualizar tu rss por lo tanto en 30 minutos no volveré a entrar. Muy útil para algunos lectores de RSS.

<item></item>

Esto es simple. Una entrada dentro de un canal. Suele llevar las etiquetas: title,link,description y pubdate.

Repasado lo mas importante vamos a crear el php. En nuestro caso no utilizaremos ningún xml o bibliotecas. Digamos que sera puro sql + php.

Lo primero que hay que hacer obviamente es definir las variables principales que vamos a utilizar.

<?php
// usuario de la base de datos
$db_user = "bill_gates";

// contraseña del usuario
$db_pass = "linux_sucks";

// servidor de la base de datos
$db_host = "localhost";

// nombre de la base de datos
$db_name = "rss_test";

// limite máximo
$max_limit = 10;

// limite predefinido
$limit = 5;
?>

db_user seria el usuario con el que nos conectaremos a la base de datos.
db_pass seria la contraseña del usuario de la base de datos.
db_host seria el host (por lo tanto servidor) donde esta alojada la base de datos.
db_name seria el nombre de la base de datos.
max_limit Esta variable hará de filtro y no permitirá que se muestren # noticias. Básicamente así nos ahorramos problemas después y salvamos tiempo.
limit Puesto que vamos a darle la oportunidad al visitante de elegir un numero de noticias que se vayan a mostrar este seria el limite predefinido.

Teniendo las variables declaradas vamos a crear el filtro de numero de noticias.

if (isset($_GET["limit"]) && $_GET["limit"] <= $max_limit) {$limit = (int)$_GET["limit"];}

Con este "simple" código comprobamos si la variable(por url) ha sido definida por el visitante y si esta sobrepasa el limite máximo. En caso de ser definida y no sobre pasar el limite sera aplicada.. en caso de que si sobrepasa el limite sera aplicada la de por defecto.

seguimos... ahora vamos a conectar con la base de datos.

// conexión a la base de datos
$connect = @mysql_connect ($db_host,$db_user,$db_pass) or die(mysql_error());

// seleccion de la base de datos
mysql_select_db($db_name,$connect) or die(mysql_error());

Bastante simple. Se conecta con los datos indicados arriba y en caso de ocurrir algún error lo muestra.
Vamos a hacer la consulta a la base de datos.

$monkey = mysql_query("SELECT id,title,description,date FROM rss ORDER BY id DESC LIMIT 0,".$limit);

Que hacemos: Cogemos los campos los ordenamos por orden de descenso (desde la ultima a la primera) y ponemos el limite. Nos tocan las primeras lineas de nuestro rss:

$rss = '<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
  <title>Mi super mega chulo RSS 2.0</title>
  <link>http://www.misupermegachulapagina.com</link>
  <description>Este es mi super mega chulo RSS 2.0</description>
  <pubDate>'.date(DATE_RFC2822).'</pubDate>
  <ttl>30</ttl>
';

Que hacemos ? Guardamos en una variable ($rss) el header del rss. Como podéis ver están los tags mas importantes (title,link,description,pubdate y ttl). Ahora vamos a recoger los datos que hemos sacado de la base de datos y vamos a ordenarlos.

// imprimir resultado
while ($row = mysql_fetch_assoc($monkey))
{
 $rss .= " <item> \n";
 $rss .= "  <title>".$row['title']."</title> \n";
 $rss .= "  <link> http://www.misupermegachulapagina.com/noticias.php?id=".$row['id']."</link> \n";
 $rss .= "  <description>".$row['description']."</description> \n";
 $rss .= "  <pubDate>".date(DATE_RFC2822,$row['date'])."</pubDate> \n";
 $rss .= " </item>\n";
}

Como antes creamos una nueva sección recogemos el titulo, el enlace hacia la pagina de la entrada, la descripción y la fecha de publicación. Todo esto se sigue guardando el la variable rss.
Por ultimo si no vamos a crear un nuevo canal (el titulo dice simple ¬¬) podemos cerrar tanto el canal como el rss.

$rss .= "</channel> \n</rss>";

y imprimir el resultado.

print $rss; ?>

con esto tendríamos algo asi:

Free Image Hosting at www.ImageShack.usFree Image Hosting at www.ImageShack.usFree Image Hosting at www.ImageShack.us

Salud

12Sep/090

WTF ?

<?php
$rand = rand(0,4);
if ($rand > 3)
     { echo "The people are monkeys o.O "; }
else
     { echo "The people are chickens -.- "; }
?>
Tagged as: , , No Comments