lunes, 22 de septiembre de 2008

Sessions

Les dejo un resumen pequeño de lo que vimos hoy en relación a las sesiones en PHP.

  • session_start(); /*requerido para browsers que usan cookies */
  • $_SESSION['usuario']='pepe'; /*creo obj*/
  • if (isset($_SESSION['usuario']) ... /*existe obj?*/
  • unset($_SESSION['usuario']); /*destruyo obj*/
  • echo session_id(); /*muestro el identificador de la sesión */

Más data en:
http://ar2.php.net/session
http://www.programacionweb.net/articulos/articulo/?num=377
http://php.ciberaula.com/articulo/introduccion_sesiones_php/
http://www.w3schools.com/PHP/php_sessions.asp
http://www.desarrolloweb.com/articulos/235.php

lunes, 15 de septiembre de 2008

Intro a MYSQL desde PHP

Chicos. Recuerden que para acceder al administrador de MySQL tienen que acceder a:
http://lisa/pma

Y que la base de datos tiene como prefijo curso en mayúsculas y guión bajo.

Saludos.

jueves, 11 de septiembre de 2008

La historia detrás de Google Chrome

Un poco comercial y un poco conceptual, es este video del nuevo "navegador" de Google.

lunes, 8 de septiembre de 2008

Expresiones Regulares

Más allá de este "doc", les paso un link que explica en detalle muy bien este tema.

http://www.ignside.net/man/php/regex.php


martes, 2 de septiembre de 2008

Clase Bolsa

Con los chicos de 6toB comenzamos a hacer una clase para un tipo abstracto llamado "BolsaSinOrden".

La idea es que sea una bolsa donde se puedan meter "cosas" que no admita repetidos (sin dar un error) y que cuando le "pida uno" me lo de, sin repetir y en un orden aleatorio (y sin fin, o sea que siempre le pueda pedir uno, y cuando me dio todos, vuelva a empezar).

Les dejo la primer version que tiene funcioonalidad para crear la bolsa, meter cosas y pedir cosas. Proximamente agregaremos quitar y otras funcionalidades. Para probarlo, pueden reemplazar el "\n" de los echos por "
" asi se ve lindo en el browser.

Gutes.




<?php

class BolsaSinOrden{
private $elems;
private $tam;
private $devueltos;


function __construct(){
$this->elems = array();
$this->devueltos = array();
$this->tam = 0;
}

/* Inserta un elemento sin repeticion.
* Recorro los elementos hasta ahora,
* si esta, salgo de la funcion
* si no, termina el foreach y lo agrega al
* final del array, solo por comodidad.
*/
public function ponerUno($e){
foreach ($this->elems as $elem){
if ($elem == $e)
return;
}
$this->elems[] = $e; // meto al final
$this->tam++; // se agranda la bolsa
}


/*
* Debe devolver de a uno los elementos de la bolsa,
* el orden debe ser aleatorio y no darme algo dos veces.
* Luego de darme uno, debe volver a ponerlo en la bolsa
* RECORDANDO que me lo devolvio
*/

public function dameUno(){
$aDevolver = rand(0, $this->tam -1);
if (!isset($this->devueltos[$aDevolver])){
$this->devueltos[$aDevolver] = 1;
return $this->elems[$aDevolver];
}else{
if (sizeof($this->devueltos) == $this->tam) {
$this->devueltos = array();
return $this->dameUno(); // podria no llmarse aca! pero lo dejo
}
return $this->dameUno();
}
}

public function imprimirBolsa(){
echo "{";
foreach ($this->elems as $e){
echo $e . " ";
}
echo "}";
}

}


/* PRUEBAS */

$miBolsa = new BolsaSinOrden();

$miBolsa->ponerUno(2);
$miBolsa->ponerUno(112);
$miBolsa->ponerUno(2222);
$miBolsa->ponerUno(2);
$miBolsa->ponerUno(2);
$miBolsa->ponerUno(2);
$miBolsa->ponerUno(2);
$miBolsa->ponerUno(2);
$miBolsa->ponerUno(515152);
$miBolsa->ponerUno(3535);
$miBolsa->ponerUno(2);
$miBolsa->ponerUno(2);

/* hasta aca la bolsa tiene: {2,112,2222,515152,3535}*/
$miBolsa->imprimirBolsa();

/* Obtengo las cosas en forma aleatoria, pero nunca se vacia!!!*/
echo "\n";
echo "me dio:" . $miBolsa->dameUno() ."\n";
echo "me dio:" . $miBolsa->dameUno() ."\n";
echo "me dio:" . $miBolsa->dameUno() ."\n";
echo "me dio:" . $miBolsa->dameUno() ."\n";
echo "me dio:" . $miBolsa->dameUno() ."\n";
echo "me dio:" . $miBolsa->dameUno() ."\n";
echo "me dio:" . $miBolsa->dameUno() ."\n";
echo "me dio:" . $miBolsa->dameUno() ."\n";


?>