domingo, 8 de agosto de 2010

Bucle para recibir todas las variables por POST en PHP

Bucle para recibir todas las variables por POST en PHP

Fuente: http://es.php.net/

Vamos a ver una manera muy rápida de recibir todas las variables de un formulario, enviado por post, en el lenguaje PHP. Os aseguro que es una pequeña porción de código que os ahorrará escribir un montón de líneas de código.

Quién no se ha visto alguna vez en la tediosa tarea de recibir un montón de datos de un formulario, asignando una por una todas las variables en PHP? Eso se hacía con líneas como ésta:


$nombre = $_POST["nombre"];
$edad = $_POST["edad"];
$ciudad = $_POST["ciudad"];
....

Si el formulario tuviera 10 elementos no sería muy pesado escribir las 10 líneas de código, pero si fueran 50 o 100 la cosa sería mucho menos agradable. El código que vamos a ver ahora nos solucionará la vida en esos casos.

foreach($_POST as $nombre_campo => $valor){
   $asignacion = "\$" . $nombre_campo . "='" . $valor . "';";
   eval($asignacion);
}

Se realiza un bucle foreach que va recorriendo cada uno de los elementos del post. En cada iteración, se van accediendo a todos los elementos del post y se guarda en $ nombre_campo el nombre del campo recibido por el formulario y en $valor, el valor que se había introducido en el formulario.

Todo lo anterior se deduce de la primera línea. En las siguientes se compone en cada iteración, cada una de las asignaciones que deberíamos haber escrito manualmente. Es decir, en la variable asignación guardaremos una línea de código PHP que realiza la declaración de la variable de formulario dentro de PHP y su inicialización con el valor que se hubiera escrito.

En la siguiente línea, donde está la función eval(), se ejecuta la sentencia generada en el anterior paso. La función eval() de PHP ejecuta el contenido de una cadena de caracteres como si fuera una sentencia PHP. (Podemos ver la documentación de la función eval() en la página de PHP http://es.php.net/manual/es/function.eval.php)

Fuente: http://es.php.net/

Guillermo Gianello
gcg@emprear.com 26/11/03

Una pequeña variante, que por otra parte, nos habilita pasar argumentos incluso con RegisterGlobals=off en phpini.

<?PHP
foreach ($HTTP_SERVER_VARS as $indice=>$cadena) {
$$indice = $cadena;
}
foreach ($HTTP_POST_VARS as $indice=>$cadena) {
$$indice = $cadena;
## echo "$indice = $cadena";
}
foreach ($HTTP_GET_VARS as $indice=>$cadena) {
$$indice = $cadena;
}
foreach ($HTTP_COOKIE_VARS as $indice=>$cadena) {
$$indice = $cadena;
}
?>

ya ni siquiera nos hace falta el eval()

Manolo
mcamara@innetmc.com 27/11/03

Pues tenemos una utilísima función en php que nos hace este trabajo automáticamente, es la siguiente, y con sólo una línea de codigo:

extract($_POST);

esta crea las variables automáticamente igual que se describe en este artículo. Aparte esta función tiene muchas mas utilidades, mirad, mirad: es.php.net/manual/es/function.extract.php


saludos.


 

Ramon Sosa
ramsosa@yahoo.com 08/12/03

Efectivamente es más fácil utilizar la función extract, pero para crear una Instrucción MySql, es preferibe conservarlo como array y hacer lo siguiente:
$tabla='tabla';
$arraypost=array();
foreach($_POST as $k => $v) $arraypost[]="$k='$v'";
$sql="INSERT INTO $tabla SET ".implode(', ',$arraypost);

// Utilizar las funciones implode y explode son muy prácticas y se van a ahorrar muchos dolores de cabeza, también el extract es muy bueno...


 

Fuente: http://es.php.net/

domingo, 25 de julio de 2010

Línea de código para incrustar un elemento de flash en html

Con esta línea puedes incrustar una película flash (SWF) en un HTML en pantalla completa. Si lo deseas mas chico altera las propiedades.

Código

<embed width=100% height=100% fullscreen=yes src="carpeta/PeliculaFlash.swf">

fullscreen acepta los valores “yes” y “no” que permite que se ponga en pantalla completa;

width y height (ancho y alto)aceptan cualquier porcentaje entre 0% y 100% o un numero de pixeles ejemplo: height=”400”

src es la dirección del SWF con respecto al archivo HTML por ejemplo: si <pagina.html> y <pelicula.swf> estan en la misma carpeta, la dirección de <src> seria: src=“pelicula.swf”

Botones con javaScript que manejan el contenido de un array

 

Con los botones es posible moverse a través de un arreglo y mostrar el contenido con un altert.

Código

<form name = "botones" action="">
<input name="next" type="Button" value="Siguiente" onclick="GoNext()">
<input name="back" type="Button" value="Anterior" onclick="GoBack()">
<input name="random" type="Button" value="Aleatorio" onclick="Random()">

<SCRIPT LANGUAGE="JavaScript">

//saber posicion --->  posicionactual[apuntador];
var form = document.botones;
var apuntador= 0;
var posicionactual= new Array()
posicionactual[0]="Empty";
posicionactual[1]="Uno";
posicionactual[2]="Dos";
posicionactual[3]="Tres";
posicionactual[4]="Cuatro";

function GoNext(){
apuntador++;
Alerta();
};
function GoBack(){
apuntador--;
Alerta();
};
function Random(){
apuntador=Math.floor(Math.random()*5);
Alerta();
};
function Alerta(){
//alert test
alert(cancionactual[apuntador]);
};
</SCRIPT>

Sólo copia y pega el código en el bloc de notas, guardalo como BotonesArreglo.html o con cualquier nombre pero con extensión html

Calculadora en JavaScript

Ingeniosa solución para crear una calculadora con java scrpt realizado por mundojavascript.



Código

<FORM name="Keypad" action="">

<B>

<TABLE border=2 width=50 height=60 cellpadding=1 cellspacing=5 >

<TR>

<TD colspan=3 align=middle>

<input name="ReadOut" type="Text" size=24 value="0" width=100% >

</TD>

<TD>

</TD>

<TD>

<input name="btnClear" type="Button" value=" C " onclick="Clear()" >

</TD>

<TD><input name="btnClearEntry" type="Button" value=" CE " onclick="ClearEntry()" >

</TD>

</TR>

<TR>

<TD>

<input name="btnSeven" type="Button" value=" 7 " onclick="NumPressed(7)" >

</TD>

<TD>

<input name="btnEight" type="Button" value=" 8 " onclick="NumPressed(8)" >

</TD>

<TD>

<input name="btnNine" type="Button" value=" 9 " onclick="NumPressed(9)" >

</TD>

<TD>

</TD>

<TD>

<input name="btnNeg" type="Button" value=" +/- " onclick="Neg()" >

</TD>

<TD>

<input name="btnPercent" type="Button" value=" % " onclick="Percent()" >

</TD>

</TR>

<TR>

<TD>

<input name="btnFour" type="Button" value=" 4 " onclick="NumPressed(4)" >

</TD>

<TD>

<input name="btnFive" type="Button" value=" 5 " onclick="NumPressed(5)" >

</TD>

<TD>

<input name="btnSix" type="Button" value=" 6 " onclick="NumPressed(6)" >

</TD>

<TD>

</TD>

<TD align=middle><input name="btnPlus" type="Button" value=" + " onclick="Operation('+')" >

</TD>

<TD align=middle><input name="btnMinus" type="Button" value=" - " onclick="Operation('-')" >

</TD>

</TR>

<TR>

<TD>

<input name="btnOne" type="Button" value=" 1 " onclick="NumPressed(1)" >

</TD>

<TD>

<input name="btnTwo" type="Button" value=" 2 " onclick="NumPressed(2)" >

</TD>

<TD>

<input name="btnThree" type="Button" value=" 3 " onclick="NumPressed(3)" >

</TD>

<TD>

</TD> <TD align=middle><input name="btnMultiply" type="Button" value=" * " onclick="Operation('*')" >

</TD>

<TD align=middle><input name="btnDivide" type="Button" value=" / " onclick="Operation('/')" >

</TD>

</TR>

<TR>

<TD>

<input name="btnZero" type="Button" value=" 0 " onclick="NumPressed(0)" >

</TD>

<TD>

<input name="btnDecimal" type="Button" value=" . " onclick="Decimal()" >

</TD>

<TD colspan=3>

</TD>

<TD>

<input name="btnEquals" type="Button" value=" = " onclick="Operation('=')" >

</TD>

</TR>

</TABLE>

</B>

</FORM>

<SCRIPT LANGUAGE="JavaScript">

<!-- Este script y muchos mas estan disponibles en -->

<!-- Galeria de javaScript http://www16.brinkster.com/galeriajs -->

<!-- Begin

var FKeyPad = document.Keypad;

var Accum = 0;

var FlagNewNum = false;

var PendingOp = "";

function NumPressed (Num) {

if (FlagNewNum) {

FKeyPad.ReadOut.value = Num;

FlagNewNum = false;

}

else {

if (FKeyPad.ReadOut.value == "0")

FKeyPad.ReadOut.value = Num;

else

FKeyPad.ReadOut.value += Num;

}

}

function Operation (Op) {

var Readout = FKeyPad.ReadOut.value;

if (FlagNewNum && PendingOp != "=");

else

{

FlagNewNum = true;

if ( '+' == PendingOp )

Accum += parseFloat(Readout);

else if ( '-' == PendingOp )

Accum -= parseFloat(Readout);

else if ( '/' == PendingOp )

Accum /= parseFloat(Readout);

else if ( '*' == PendingOp )

Accum *= parseFloat(Readout);

else

Accum = parseFloat(Readout);

FKeyPad.ReadOut.value = Accum;

PendingOp = Op;

}

}

function Decimal () {

var curReadOut = FKeyPad.ReadOut.value;

if (FlagNewNum) {

curReadOut = "0.";

FlagNewNum = false;

}

else

{

if (curReadOut.indexOf(".") == -1)

curReadOut += ".";

}

FKeyPad.ReadOut.value = curReadOut;

}

function ClearEntry () {

FKeyPad.ReadOut.value = "0";

FlagNewNum = true;

}

function Clear () {

Accum = 0;

PendingOp = "";

ClearEntry();

}

function Neg () {

FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;

}

function Percent () {

FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);

}

// End -->

</SCRIPT>

<br><br>

<center><small><small>Este script y muchos mas est&aacute;n disponibles en<br>

<a href="http://www.precios10.com/mundojavascript">Mundo Javascript</small></small></a></center>


Sólo copia y pega el código en un bloc de notas y guárdalo como Calculadora.html o cualquier nombre pero con extensión html.
fuente: http://www.precios10.com/mundojavascript

martes, 6 de julio de 2010

Ley mexicana en cuestión informática

Un poco de leyes en México:

El Código Penal Federal, en su artículo 211 establece: “A quien revele, divulgue, o utilice indebidamente o en perjuicio de otro información o imágenes obtenidas en una comunicación privada se le aplicarán sanciones de seis a doce años de prisión y de trescientos a seiscientos días multa”

y en relación a éste, el artículo 211 bis1 a la letra dice: “Al que sin autorización modifique, destruya o provoque perdida de información contenida en sistemas o equipos de informática, protegidos por algún mecanismo de seguridad, se le impondrán de seis meses a dos años de prisión y de cien a trescientos días multa”.

De lo anterior dos reflexiones son importantes, primero: incluso el Messenger, que es un medio de comunicación privado, esta sujeto a leyes, por lo que divulgar las conversaciones llevadas a cabo por este medio es ilegal, y segundo: es necesario contar por lo menos con un password en la computadora personal, aunque sea fácil adivinarla, el simple hecho de contar con un “mecanismo de seguridad” lo sujeta a las leyes mencionadas.

Queda pendiente revisar las alteraciones que se hicieron a estos artículos hace menos de un año, que permiten a instituciones de gobierno usar información privada, como llamadas telefónicas para casos de secuestro o extorsión, aunque no lo haré yo, porque preferiría que eso mejor lo explicara un experto.

lunes, 5 de julio de 2010

Tron Pelicula de animación de disney de 1982 y Tron Legacy


Con la salida en diciembre da la pelicula "TRONlegacy" he aqui unos datos muy geeks de la pelicula original de 1982.


*"Tron" recibe su nombre por un comando en BASIC. En varios dialectos de este lenguaje de programación la orden TRON activa el modo de seguimiento de variables (trace) para ir escribiendo en pantalla la línea de código que ha ejecutado cada acción, lo que permite al programador visualizar lo que ocurre en el sistema. Es decir, TRACE-ON deriva en TR-ON. La orden opuesta se denomina TROFF (TRACE-OFF).
*Aunque el título de la película y el nombre del personaje principal son una referencia a un comando de computadora, el director Steven Lisberger dejó claro en una entrevista que eligió el nombre porque le pareció “electrónico”, y que no sabía nada sobre los comandos de computadora hasta más tarde. Es interesante, sobre todo cuando se sabe que el comando TRON de BASIC tiene, en la realidad, una función que es similar a la del programa de la película.

Video: http://www.youtube.com/watch?v=-3ODe9mqoDE

sintesis:
Narra las aventuras de un programador que se introduce dentro de los circuitos de una computadora donde los programas tienen vida y personalidad propias.

Flynn (Jeff Bridges) era un programador joven y presumido que trabajaba en una megacorporación. Uno de los ejecutivos de esta corporación es Dillinger (David Warner). Flynn ha sido engañado por Dillinger respecto a las ganancias y autoría de los juegos que ha creado. De hecho, Dillinger vendió los videojuegos de Flynn y pasaron a su propiedad. Ante la incapacidad de probar que él es el autor, y renunciando de la compañía, Flynn se ve obligado a trabajar en arcades. Muchos de los juegos que él mismo ha creado se encuentran en su local de arcade.

Después de obtener algo de información de los actuales empleados, Alan Bradley (Bruce Boxleitner), y la doctora Lora Baines (Cindy Morgan), Dillinger incrementa la seguridad en el 'Control Central de Procesos' o CCP (un mainframe de inteligencia artificial de la compañía). En efecto, esto deja a los programadores fuera de la compañía. Después de eso acuden a Flynn, con objeto de solicitarle ayuda para burlar la seguridad del CCP. Alan y Lora buscan obtener mayores libertades en su programación. Flynn busca evidencia de sus creaciones robadas.

Después de una ardua travesía para entrar al edificio, Flynn se enfrenta al CCP y es absorbido ("digitalizado") dentro de un mundo digital tiránicamente dominado por el CCP. En el "mundo real", la interfaz del CCP recuerda a los escritorios de alta tecnología. Desde dentro del sistema de cómputo, el CCP tiene la forma de una cara cuadriculada, que irradia luz roja con energía.

En este mundo, los programas son representados con personajes parecidos a sus creadores; Flynn es inicialmente confundido con un programa, "Clu", que había escrito previamente. Flynn necesita encontrar a "Tron", un programa de seguridad creado por Alan. Tron puede ayudar a Flynn a pelear contra el despótico CCP para liberar el mainframe de la compañía y escapar al mundo real. En el camino tiene que participar en varios juegos de acción que incluyen las "motos de luz" y un juego parecido a la cesta punta.


Secuela: Tron Legacy
Es una película estadounidense de ciencia ficción que se estrena en cines el 17 de diciembre de 2010 en los Estados Unidos, según lo anunciado por Walt Disney Pictures. Es la segunda parte para la película Tron de 1982 del director Steven Lisberger, quien pasa a ser productor en la secuela.

Sam Flynn, un experto en tecnología de 27 años e hijo de Kevin Flynn, investiga la desaparición de su padre y se adentra en el mismo mundo de feroces programas y juegos de Arcade donde su padre ha estado viviendo durante 25 años. Junto con la amiga más leal de Kevin, padre e hijo se embarcan en una travesía a vida o muerte a través de un universo cibernético visualmente impactante que va más allá de lo extremadamente futurista y peligroso.

Tron Legacy es una innovadora aventura en 3D que tiene lugar en el increíble mundo digital de Tron. No se ha visto nunca nada igual en la gran pantalla. Sam Flynn (Garret Hedlund), un experto en tecnología de 27 años, hijo de Kevin Flynn (interpretado por el ganador de un Oscar Jeff Bridges), se ve inmerso en el ciber mundo de Tron mientras investiga la misteriosa desaparición de su padre, atrapado allí durante 25 años. Junto a su fiel amiga Quorra (Olivia Wilde), habitante de TRON, padre e hijo se embarcan en una aventura a vida o muerte para escapar del todopoderoso y controlador ciber universo de Tron, que ha avanzado tecnológicamente haciéndolo mucho más peligroso. Visualmente impactante, gracias a los efectos en 3D y a las espectaculares escenas de acción, Tron Legacy de Disney te llevará a otra dimensión cuando se estrene en diciembre de 2010. Está producida por Steve Lisberger, uno de los escritores y director de la película original de Tron (1982), mientras que la vibrante y sorprendente banda sonora de TRON corre a cargo de Daft Punk, varias veces nominados a los premios Grammy.

Video: http://www.youtube.com/watch?v=1AwvuirSEAA



fuente: http://es.wikipedia.org/wiki/Tron

domingo, 4 de julio de 2010

Las OS Tan (OS Girls)

Las OS-Tan (OS Girls) son representaciones, por medio de personajes en estilo manga, de sistemas operativos o consolas de juegos.
El personaje mas popular fue una chica llamada XP-Tan que puede se vita en el siguiente video:
http://www.youtube.com/watch?v=2tV61x42pgM&feature=related
recibe al usuario al inicio de sesión.


Las "chicas SO" son los personajes favoritos de algunos programadores y geeks quienes pueden descargar desde wallpapers, mangas(historietas), avatares, iconos, videos hasta animaciones que corren en en el escritorio a modo de virtual girl o desktop puppet
En wikipedia dan a conocer las carateristicas principales de la mayoria de los personajes, asi como caracteristicas distintivas, por ejemlo se menciona que el tamaño de los atributos fisicos de los personajes o su apetito, definen los recurso de memoria que consumen el sistema operativo que representan. http://es.wikipedia.org/wiki/OS-tan


Si bien su nombre esta directamente relacionado con los Sistemas Operaticvos, es usual encontrar una que otra "Tan" de Consolas de videojuegos como X-BOX, Wii ó también personajes que representan software comó como Firefox, algunos antivirus y hasta el motor de busqueda de Google.
Son tan populares que cuentan con su propio foro, en el que cualquier aficionado puede subir el "Fan_ART" que desarrollen. http://ostan-collections.net/

En este video podemos ver algunas de las aplicaciones e imagenes desarrolladas http://www.youtube.com/watch?v=PT43vA-va4w&feature=related
aqui pueden descargar una galeria de las imágenes más populares:
http://www.megaupload.com/?d=6UPK0YL6


visto en: http://nyantanime.net/2010/01/galeria-os-tan-el-software-en-su-version-mas-bella/