Feb
23
2008
0

Error en Gmail, pero, que bien funciona el copy & paste…

Un compañero de trabajo me pasó el link de un artículo que trata sobre una vulnerabilidad en Gmail, pero me llamo la atención al ver que muestra otra dirección como fuente original de la noticia

copy & paste

Al ver que se trataba del mismo texto, me dispuse a hacer una búsqueda en google para comprobar y confirmar con mis propios ojos que esta era otra de tantas noticias victimas del copy & paste, y me encontré con lo mismo 7 veces, solo en la primera página de google:

Al parecer la fuente original es la de PC WORLD Digital, pero de todo lo que mas me preocupa, es que tal vez ninguno de los que copiaron y pegaron la noticia se dieron cuenta de un pequeño error en el artículo original:

[...] Desde dicha web se podría ejecutar un “multipart/form-date POST” -un comando HTML utilizado para subir archivos [...]

Pues como es correctamente es multipart/form-data.

En mi opinión, creo que seria mas inteligente a la hora de publicar en nuestro blog y queremos referirnos a otras noticias, hacer uso de las citas, comentar al respecto, dar nuestro punto de vista según el tema y así aportamos un poquito a los lectores que nos visitan y se llevan una visión mas amplia de la información que necesitan.

Yo me sorprendí en un par de ocasiones al ver que también he sido víctima de este fenómeno que ataca la Web mas que un troyano

En ambos casos, estarás de vuelta pronto. Nos vemos

Written by rogertm in: Internet | Tags: , ,
Feb
23
2008
0

Usuarios del Sistema, usuarios de Internet, usuarios de… ¿DIOS?

No es mi intención crear ningún tipo de polémica de tipo religiosa con esta entrada, pero me ha llamado grandemente la atención el hecho de que las palabras o frases por las que más se llega a este naciente blog tienen que ver con el tema religioso.

Aquí les dejo la prueba gráfica de lo que les hablo:

la historia divina

Me pregunto que pasará por la mente de los que se encuentran con la Historia Divina de… Windows. Me imagino que el único no sorprendido fue quien busco por: dios creó windows, :P.

Written by rogertm in: Kilometro Cero | Tags: , ,
Feb
21
2008
0

SLAYER, “The Final Six”, Best Metal Performance

Sin duda alguna SLAYER son los mejores, son dioses del metal mas underground, y esto queda mas que claro cuando escuchamos de la voz del propio Araya decir:

“Supongo que somos parte de la industria ahora, above ground, [...] hemos recibido apoyo por satélite recientemente, MTV nos ha dado un apoyo mínimo, [...]. Le debemos gran parte de nuestro éxito a los fans. La industria es genial, pero los fans son los que se toman el tiempo de estar pendientes de lo que haces. [...]“

YouTube Preview Image

Después de más de 20 años, esta bandaza sigue sorprendiéndonos y haciéndonos saber que no bajarán la parada, que seguirán haciendo ese trashmetal rápido y estridente al cual nos tienen acostumbrados y que nunca dejaran de estar en lo más alto de la escena underground mundial.

And the Grammy goes to “The Final Six”, SLAYER…!

YouTube Preview Image

Written by rogertm in: Rock & Roll | Tags: , , ,
Feb
13
2008
77

Como crear un Sistema de Noticias sencillo desde cero, usando PHP y MySQL. (Parte II)

Aquí estamos nuevamente, en la primera parte de este tutorial, vimos como insertar las categorías y las noticias en nuestra BD, es hora entonces de recuperar los registros y mostrarlos.

Para ello nos auxiliaremos de un par de archivos php: list-categoria.php y list-noticia.php, el primero, como su nombre indica, nos servirá para listar las categorías en forma de menú, en el segundo archivo, se mostraran las noticias. Ambos los llamaremos mediante la función include de php en una pagina inicial (index.php).

NOTA: El archivo list-noticia.php tiene una característica, en caso de que no se haya hecho clic en ninguna categoría, se mostrarán todas las noticias, de lo contrario, se mostrarán las noticias que pertenezcan a la categoría pedida.

Sin mas preámbulo, nos vamos a la carga.

Listando las categorías:

En este archivo, que como hemos dicho, lo llamaremos list-categoria.php, lo unico que tenemos que hacer es una consulta a la tabla sn_categorias de nuestra BD, otra vez nos apollaremos en un bucle while para mostrar los registros recuperados y armaremos una lista desordenada (unordered list) con ellos.

<h1>Categorías...</h1>
<?php
$sqlQueryCat = mysql_query("SELECT * FROM sn_categorias", $db_link)
or die(mysql_error());
echo "<ul>";
while($rowCat = mysql_fetch_array($sqlQueryCat)){
echo "<li>
<a href='?categoria=$rowCat[catCategoria]&id=$rowCat[cat_ID]'>
$rowCat[catCategoria]
</a>
</li>";
}
echo "</ul>";
?>

Como podemos observar, cada registro recuperado estará vinculado, para así, poder hacer la petición al servidor de que noticias queremos leer, dependiendo de la categoría deseada. Es por eso, que pasaremos los parámetros id ($rowCat[cat_ID]) y nombre de la categoría ($rowCat[catCategoria]) por la URL y lo recuperaremos usando una variable HTTP GET ($_GET) en el archivo list-noticia.php

Listando las noticias

Ahora, creamos el archivo list-noticia.php, en él mostraremos las noticias.

Lo primero que tenemos que hacer es, mediante un if, recoger las variables llegadas por GET, como hemos explicado antes, si no se ha enviado nada por GET, entonces la consulta mostrará todas las noticias

NOTA: Para no complicarnos mucho con la consulta que debemos hacer aquí, hemos guardado la clausula WHERE dentro de una variable ($clausula)

¿Es hora de ver algo de código, verdad?

<?php
// verificamos si se ha enviado
// alguna variable via GET
if(isset($_GET['id']) && $_GET['categoria']){
// asignamos los valores
// a las variables que usaremos
$cat_ID = $_GET['id'];
$categoria = $_GET['categoria'];
$clausula = "WHERE notCategoriaID = '$cat_ID'";
// tambien armamos el titular de la pagina
$titulo = "Noticias en la categoria $categoria";
}else{
// de lo contrario
// el titulo sera general
$titulo = "Todas las noticias";
}
// armamos la consulta
$sqlQueryNot = mysql_query("SELECT notTitulo, notTexto FROM sn_noticias
$clausula", $db_link)
or die(mysql_error());
echo "<h1>$titulo</h1>";
// mostramos las noticias,
// otra vez usando un bucle while
while($rowNot = mysql_fetch_array($sqlQueryNot)){
echo "<h1>$rowNot[notTitulo]</h1>";
echo nl2br($rowNot['notTexto']);
}
?>

Al fin…! Ya estamos listos para armar nuestra página index.php, que claro, contendrá los archivos que acabamos de crear.

La página inicial

Ya hemos doblado por la última curva de esta carrera, y nos preparamos para rematar en la meta :P

Nuestro archivo index, es tan sencillo que no necesita explicación ninguna.

<html>
<head>
<title>Sistema de Noticias - By RogerTM</title>
</head>
<body>
<h1>Sistema de Noticias - By RogerTM</h1>
<?php include('db-cnx.php'); ?>
<div style="float:left; width: 25%;">
<?php include('list-categoria.php'); ?>
</div>
<div style="float:right; width: 75%;">
<?php include('list-noticia.php'); ?>
</div>
</body>
</html>

NOTA: Se habrán dado cuenta que en los archivos list-categoria.php y list-noticia.php no incluimos la conexión la la BD, es por la sencilla razón, que estos archivos son llamados en la pagina index.php, y es en esta, donde incluimos nuestra conexión.

Conclusiones

Hasta aquí hemos visto como crear un Sistema de Noticias bien sencillo y fácil usando PHP y MySQL, claro está que le falta mucho aún a este sistema, me queda pendiente la explicación de como asignarle mas de una categoría a cada noticia, ya que es algo complicado y no lo quise poner aquí, pero creo que puede ser un paso de avance, sobre todo para aquellos que se están iniciando en este mundo tan fascinante que es el desarrollo de aplicaciones web

Espero con mi aporte, estimado lector, haber contribuido algo en el conocimiento que puedas adquirir sobre todo si te consideras un novato.

En lo que a mi respecta, solo me queda agradecer a la comunidad de Foros del Web por todo lo que he aprendido allí, sin ese foro, nunca habría podido hacer algo como lo que acabas de leer.

Y ya sabes, sugerencias, críticas, arreglos, dudas y comentarios serán siempre bien recibidos.

Saludos y Suerte

Written by rogertm in: Tutoriales | Tags: , , , ,
Feb
09
2008
29

Como crear un Sistema de Noticias sencillo desde cero, usando PHP y MySQL. (Parte I)

Muchas de las interrogantes que veo en los foros es acerca de como crear un Sistema de Noticias o dudas con respecto al tema. Aquí intentare explicar como se puede hacer de manera sencilla y fácil.

En esta primera parte crearemos una pequeña Base de Datos MySQL, con un par de tablas, Noticias y Categorías, además de los archivos que necesitamos para añadir dichas categorías y noticias a la BD y validaremos los formularios, para evitar que se ingresen registros vacíos. Así pues, manos a la obra.

La Base de Datos

En este ejemplo, la BD tendrá una estructura sencilla, la tabla Categorías (sn_categorias) estará formada por dos campos, cat_ID y catCategoria, a su vez, la tabla Noticias (sn_noticias) contendrá los campos not_ID, notTitulo, notTexto y notCategoriaID. A continuación el codigo SQL de la misma:

CREATE TABLE `sn_categorias` (
`cat_ID` int(11) NOT NULL auto_increment,
`catCategoria` varchar(100) NOT NULL,
PRIMARY KEY  (`cat_ID`)
) ENGINE=MyISAM;
CREATE TABLE `sn_noticias` (
`not_ID` int(11) NOT NULL auto_increment,
`notTitulo` varchar(255) NOT NULL,
`notTexto` text NOT NULL,
`notCategoriaID` int(11) NOT NULL,
PRIMARY KEY  (`not_ID`)
) ENGINE=MyISAM;

Como podemos observar, ambas tablas están relacionadas entre si mediante los campos cat_ID de la tabla Categorías y notCategoriaID de la tabla Noticias, cada noticia pertenecerá a una categoría especifica. Mas adelante, complicaremos un poquito el código y explicare como asignarle mas de una categoría a cada noticia.

Una vez logrado esto, ya estamos listos para el siguiente paso, conectarnos a nuestro servidor, seleccionar la BD e insertar los registros en la misma.

La conexión

Esta parte es bien sabida por todos, si tienes dudas, puedes revisar el Manual de PHP en la sección correspondiente a este tema

Archivo de conexión (db-cnx.php)

<?php
$db_link = mysql_connect('localhost', 'root', '');
if(!$db_link){
die('No se pudo conectar: ' . mysql_error());
}
$db_selected = mysql_select_db('sistemanoticias', $db_link);
if(!$db_selected){
die('No se selecciono la BD: ' . mysql_error());
}
?>

Ahora, solo nos queda llenar nuestra BD, para lo cual necesitamos de un par de formularios que nos permitan agregar los registros (categorías y noticias) que queramos.

Agregando nuevas categorías

A partir de aquí ya estaremos entrando en acción. Nos creamos un nuevo archivo y lo nombramos add-categoria.php, en el tendremos un formulario y un script php que nos permitirá validar e insertar los datos a la BD, en este caso a la tabla Categorías.

<?php
// incluimos el archivo de conexion
include ('db-cnx.php');
// recibimos el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
// comprobamos que el formulario no envie campos vacios
if(!empty($_POST['catCategoria'])){
// creamos la variable y le asignamos el valor a insertar
$catCategoria = $_POST['catCategoria'];
// hacemos el INSERT en la BD
$sqlInsertCat = mysql_query("INSERT INTO sn_categorias (catCategoria)
VALUES ('$catCategoria')", $db_link)
or die(mysql_error());
// enviamos un mensaje de exito
echo "Los datos fueron gurdados correctamente";
}else{
// si el formulario viene vacio
// enviamos un mensaje de error
echo "Debe llenar el formulario";
}
}
?>
<!-- el formulario -->
<form name="categoria" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<p>
Nueva Categoría<br />
<input type="text" name="catCategoria" />
<input type="submit" name="enviar" value="Enviar" />
</p>
</form>

Agregando las noticias

Ya estamos a punto de terminar esta primera parte, solo nos queda agregar las noticias y asignarle a cada una de ellas una categoría. Ahora, creamos un nuevo archivo y lo llamamos add-noticia.php, igual validaremos el formulario para que no se envíen campos vacíos, ademas que nos auxiliaremos de un bucle while, para recuperar las categorías previamente guardadas.

<?php
// incluimos el archivo de conexion
include ('db-cnx.php');
// recibimos el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
// comprobamos que el formulario no envie campos vacios
if(!empty($_POST['notTitulo']) && $_POST['notTexto'] &&
$_POST['notCategoriaID']){
// creamos las variables y les asignamos los valores a insertar
$notTitulo = $_POST['notTitulo'];
$notTexto = $_POST['notTexto'];
$notCategoriaID = $_POST['notCategoriaID'];
// hacemos el INSERT en la BD
$sqlInsertNot = mysql_query("INSERT INTO sn_noticias
(notTitulo, notTexto, notCategoriaID)
VALUES ('$notTitulo', '$notTexto', '$notCategoriaID')",
$db_link) or die(mysql_error());
// enviamos un mensaje de exito
echo "Los datos fueron gurdados correctamente";
}else{
// si el formulario envia algun campo vacio
// enviamos un mensaje de error
echo "Debe llenar todos los campos del formulario";
}
}
?>
<!-- el formulario -->
<form name="noticia" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<p>
Título de la Noticia<br />
<input type="text" name="notTitulo" size="50" />
</p>
<p>
Texto de la Noticia<br />
<textarea name="notTexto" rows="10" cols="50"></textarea>
</p>
<p>
Categoría<br />
<select name="notCategoriaID">
<option value="">Escoger de la Lista</option>
<?php
// asignamos una categoria a la noticia
// mediante un select
$sqlQueryCat = mysql_query("SELECT * FROM sn_categorias", $db_link)
or die(mysql_error());
// creamos un bucle while
// que nos muestre todas las categorias
// que tenemos guardadas en la BD
while($rowCat = mysql_fetch_array($sqlQueryCat)){
echo "<option value='$rowCat[cat_ID]'>$rowCat[catCategoria]</option>";
}
?>
</select>
</p>
<p>
<input type="submit" name="enviar" value="Enviar" />
</p>
</form>

Aquí quiero hacer un pequeño paréntesis, como podemos ver, hemos creado un campo select que muestra los registros de la tabla Categorías y cuyo value es el campo id de cada registro, lo que se logra con esto es que en el campo notCategoriaID se guarde el id de la categoría asignada a dicha noticia, es aquí donde se cumple la relación entre las tablas que ya mencionamos antes.

Concluyendo esta primera parte

Hasta aquí, ya tenemos la mitad del camino recorrido, no ha sido para nada difícil crearnos esta primera parte de nuestro Sistema de Noticias. Ahora nos queda para la segunda parte explicar como recuperar los datos y mostrarlos.

Espero les sea útil este pequeño ejemplo y si tienes alguna inquietud o algo que agregar, pues estoy dispuesto a responder cualquier duda o recibir todas las criticas y sugerencias que tengas.

Saludos y Suerte

Written by rogertm in: Tutoriales | Tags: , , , ,
Página 1 de 212»

Kilómetro Cero - RogerTM @ Bloggers Cuba
Powered by WordPress. Theme: TheBuckmaker. Insolvenz Konkurs, Autor werden
Modificado por: RogerTM para Kilómetro Cero

Kilómetro Cero es un Blog muy Cool para Internet Explorer