Variables por Url

Muchas veces vemos direcciones web como "www.mipagina.com/index.php&id=01?post123" y es común en páginas que manejen un sistema de ficheros o archivos por clasificado, que quiero decir con esto, que cada página debería tener un orden y llamar a los enlaces según lo que queramos ver, por ejemplo. En blogger es por fecha, crear un nuevo post tenemos algo como "blogger.com/post-create.g?blogID=xxxxxxxx", donde el signo de interrogación crea el valor de esa cariable.

   Otro ejemplo sería el siguiente, si yo tengo un panel de búsqueda y tengo varios paneles que tienen un botón de buscar, no haré uno para cada uno, sería una pérdida de tiempo y poco eficiente, lo que haría es crear uno global y cambiar su valor según donde sea llamado, por ejemplo, tengo 2 formularios de busqueda, uno en precio de compra y otro en precio de venta, entonces crea un solo panel de búsqueda y según la opción que elija haré esa búsqueda, el código sería algo así:

var buscar="mi_busqueda"
if (buscar="precio de compra")
buscar precio de compra
else
Buscar el precio de venta


   Bueno, una vez aclarado esto entonces podemos continuar, en php utilizamos el símbolo "and" (&) para pasar de una variable a otra, y el signo de interrogración (?) para indicar que esas variables serán utilizadas por otro archivo o proceso, la forma sería la siguiente:
//El html
mi enlace

//En la página de destino
echo "Variable 1 = $varible1";
echo "Variable 2 = $varible2";
   Pero esto no es seguro, puesto que podemos recoger las variables desde cualquier Url, por lo tanto lo ideal es utilizar el método GET para recuperar ese valor y utilizarlo, entonces la sintaxis correcta sería:
echo "Variable 1 = $_GET[varible1]";
echo "Variable 2 = $_GET[varible2]";
   Y eso es todo, nada nada complicado, de esta forma aseguramos que las variables se carguen desde el lugar correspondiente, ¿pero si no queremos utilizar php?, también tenemos la opción de Javascript, para ello debemos crear un arreglo y pasar la url por el método, la forma es la siguiente:
function pasarVariables(pagina, nombres) {
  pagina +="?";
  nomVec = nombres.split(",");
  for (i=0; i<nomVec.length; i++){
    pagina += nomVec[i] + "=" + escape(eval(nomVec[i]))+"&";
  } pagina = pagina.substring(0,pagina.length-1);
  location.href=pagina;
}
   La parte importante es "escape(eval(nomVec[i]))+"&", donde indicamos que se leerá la siguiente variable al igual que en php, y luego cargamos el método desde un enlace.
El enlace 
Y ahora el código para la página de destino
cadVariables = location.search.substring(1,location.search.length);
arrVariables = cadVariables.split("&");
for (i=0; i<arrVariables.length; i++) {
  arrVariableActual = arrVariables[i].split("=");
  if (isNaN(parseFloat(arrVariableActual[1])))
    eval(arrVariableActual[0]+"='"+unescape(arrVariableActual[1])+"';");
  else
    eval(arrVariableActual[0]+"="+arrVariableActual[1]+";");
}
   Y eso es todo, ya el resto queda por parte nuestra...


Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión