Resultados 1 al 9 de 9

Como recibir parametros por URL en vBulletin (cuando uses PHP o hagas un plugin)

Esta es una discusión en el tema Como recibir parametros por URL en vBulletin (cuando uses PHP o hagas un plugin) dentro del foro Tutoriales de programación, parte de la categoría Programación avanzada y trabajos Freelance; Objetivo Esto es un complemente para el tema Agregar una pagina a nuestro foro (test.php) si deseas recibir parámetros por URL y según estos hacer alguna acción este tutorial te va a servir :p, usualmente se usa $_GET, pero vbulletin tiene sus propias funciones para hacerlo Los parámetros por URL ...

  1. #1
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    13/jun/2009
    Ubicación
    In my mind
    Mensajes
    1.329
    Gracias
    59
    Agradecido 1.043 veces en 540 mensajes
    Entradas de Blog
    1
    Poder de Credibilidad
    10

    Predeterminado Como recibir parametros por URL en vBulletin (cuando uses PHP o hagas un plugin)

    Objetivo
    Esto es un complemente para el tema
    Agregar una pagina a nuestro foro (test.php)

    si deseas recibir parámetros por URL y según estos hacer alguna acción este tutorial te va a servir :p, usualmente se usa $_GET, pero vbulletin tiene sus propias funciones para hacerlo

    Los parámetros por URL son estos
    Código PHP:
    test.php?parametro1=valor1&parametro2=valor2 
    lo que hay que hacer, es capturarlos y según su contenido o valor, hacer alguna acción

    Lo que debes saber:
    vBulletin cuenta con una función para este caso
    Código PHP:
    clean_gpc($source$varname$vartype TYPE_NOCLEAN
    • $source = es el tipo de parámetro que se enviado, los valores posibles son: g, p, c, r, f (get, post, cookie, request y files), como vamos a recepcionar parámetros por URL, debemos usar el g
    • $varname = Es el nombre del parámetro en la URL, en nuestro ejemplo seria parametro1 y parametro2
    • $vartype = Aquí le indicamos que tipo de dato es el que debe devolvernos ese parámetro, los valores posibles son
      • TYPE_BOOL - Booleano
      • TYPE_INT - Entero
      • TYPE_UINT - Entero sin signo
      • TYPE_NUM - Punto Flotante (Real, float, double)
      • TYPE_UNUM - Punto Flotante sin signo (Real, float, double)
      • TYPE_UNIXTIME - Unix Timestamp (Entero sin signo)
      • TYPE_STR - Cadena sin espacios en blanco a los lados
      • TYPE_NOTRIM - Cadena
      • TYPE_NOHTML - Cadena sin espacios en blancos enviado usando htmlspecialchars_uni()
      • TYPE_ARRAY - Arreglo
      • TYPE_FILE - Archivo
      • TYPE_NOCLEAN - No valido
    Haciendo un Ejemplo Practico
    Vamos a usar el test.php pero modificándolo para que no use plantillas ni nada, solo código puro para que puedan hacer este tutorial rápido (no agregando plantillas, etc)

    Aquí el archivo de ejemplo: (ejemplo.php)
    Código PHP:
    <?
    error_reporting
    (E_ALL & ~E_NOTICE);
    define('THIS_SCRIPT''test');  

    // ########################## REQUERIDO ############################
    require_once('./global.php'); //con esto cargas todas las opciones de vBulletin, además de la conexión, acceso a MySQL, etc, etc

    // ######################## COMIENZO DEL SCRIPT PRINCIPAL ############################
    $parametroenphp $vbulletin->input->clean_gpc('g''parametro1'TYPE_STR);
    $otroparametroenphp $vbulletin->input->clean_gpc('g''parametro2'TYPE_STR);

    echo 
    $parametroenphp;
    echo 
    "<br />";
    echo 
    $vbulletin->GPC['parametro2'];
    ?>
    cuando usas la función clean_gpc, guardas el resultado en una variable ($parametroenphp), pero adicionalmente se guarda en el arreglo $vbulletin->GPC['NOMBRE DE VARIABLE EN URL'] (ver ultima línea del código), así que tenemos 2 formas de obtener el datos :p

    asi que cuando hagas
    Código PHP:
    /ejemplo.php?parametro1=hola&parametro2=mundo 
    veras lo siguiente

    Anexo
    Adicionalmente esta la función clean_array_gpc con lo que puedes obtener todos los parámetros con solo 1 línea y poder leerlos en $vbulletin->GPC['NOMBRE DE VARIABLE EN URL']
    Código PHP:
    $vbulletin->input->clean_array_gpc('r', array(
                        
    'puntos'         => TYPE_ARRAY_UINT,
                        
    'puntos_anterior'         => TYPE_ARRAY_UINT,
                        
    'usuario'         => TYPE_STR,
                ));
            
    //los guardo en variables independientes (no es obligatorio)
            
    $puntos $vbulletin->GPC['puntos'];
            
    $puntos_anterior $vbulletin->GPC['puntos_anterior'];
            
    $usuario $vbulletin->GPC['usuario']; 
    Nota (Usuarios Avanzados):
    También puedes leer variables enviadas en formularios usando el metodo post sin ningún problema y usando el mismo código, aún sin usar el r como parámetro en $source



    Temas Similares:
    [GRACIAS] -> es Boton magico que hace que siempre recibas soporte, USALO!!!

  2. Los siguientes 4 usuarios han agradecido a Jhonnyf por este útil mensaje:

    coloresdevida (25/03/2010), ferran (18/11/2009), PirataRG (28/11/2009), Rafael (24/09/2010)

  3. #2
    Usuario
    Fecha de ingreso
    01/mar/2010
    Mensajes
    25
    Gracias
    7
    Agradecido 5 veces en 4 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Como recibir parametros por URL en vBulletin (cuando us

    No se si te he entendido bien...

    Pero se podria desde una aplicacion en el pc llamar a esa pagina

    ejemplo.php?parametro1=hola&parametro2=mundo

    y por ejemplo pasarle el Nick y password ( no creo ya que va encriptado) y si son correcto hacer funcionar la aplicacion en el PC.




  4. #3
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    13/jun/2009
    Ubicación
    In my mind
    Mensajes
    1.329
    Gracias
    59
    Agradecido 1.043 veces en 540 mensajes
    Entradas de Blog
    1
    Poder de Credibilidad
    10

    Predeterminado Respuesta: Como recibir parametros por URL en vBulletin (cuando us

    tendrias que programar una aplicacion usando un lenguaje de programacion de escritorio y cuando lanzes esa URL capturar una respuesta, segun esa respuesta la aplicacion debe hacer alguna accion.

    pero ahi hablamo todo a nivel Escritorio, el modo WEB solo serviria como una respuesta para realizar una accion

    [GRACIAS] -> es Boton magico que hace que siempre recibas soporte, USALO!!!

  5. #4
    Usuario
    Fecha de ingreso
    11/sep/2010
    Edad
    37
    Mensajes
    7
    Gracias
    3
    Agradecido 0 veces en 0 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Como recibir parametros por URL en vBulletin (cuando us

    Saludos.

    ¿Y si quisieramos usar una plantilla? ¿Como pasariamos, por ejemplo este parametro1 y parametro2 a la plantilla?


  6. #5
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    13/jun/2009
    Ubicación
    In my mind
    Mensajes
    1.329
    Gracias
    59
    Agradecido 1.043 veces en 540 mensajes
    Entradas de Blog
    1
    Poder de Credibilidad
    10

    Predeterminado Respuesta: Como recibir parametros por URL en vBulletin (cuando us

    Cita Iniciado por Julius Romo Ver mensaje
    Saludos.

    ¿Y si quisieramos usar una plantilla? ¿Como pasariamos, por ejemplo este parametro1 y parametro2 a la plantilla?
    a partir de la version 4.0 de vBulletin, las variables se tienen que registrar,

    Tu respuesta aqui sirve para este tema:
    No logro coger la variable de la URL - vBSoporte

    [GRACIAS] -> es Boton magico que hace que siempre recibas soporte, USALO!!!

  7. El siguiente usuario ha agradecido a Jhonnyf por este útil mensaje:

    Julius Romo (24/09/2010)

  8. #6
    Usuario
    Fecha de ingreso
    11/sep/2010
    Edad
    37
    Mensajes
    7
    Gracias
    3
    Agradecido 0 veces en 0 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Como recibir parametros por URL en vBulletin (cuando us

    Muchisimas gracias. Una ultima pregunta...

    He visto que en la plantilla, llamo al username con {vb:raw bbuserinfo.username}... pero y si tuviera que llamarlo en el php?

    OK.... ya lo encontré....

    $vbulletin->userinfo[username];

    Última edición por Julius Romo; 24/09/2010 a las 20:19

  9. #7
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    13/jun/2009
    Ubicación
    In my mind
    Mensajes
    1.329
    Gracias
    59
    Agradecido 1.043 veces en 540 mensajes
    Entradas de Blog
    1
    Poder de Credibilidad
    10

    Predeterminado Respuesta: Como recibir parametros por URL en vBulletin (cuando us

    la forma correcta es:
    Código PHP:
    $vbulletin->userinfo['username']; 
    si quieres hacer DEBUGING... una forma interesante es:
    Código PHP:
    if ($vbulletin->userinfo['userid']==[TU NUMERO DE ID]) //que solo te afecte a ti y nadie más
    {
    print_r($vbulletin); //imprimir arbol de array
    exit();//terminar todo para leer lo que imprimimor

    Luego de eso solo cargas alguna pagina y ves su codigo fuente para ver el arbol de variables
    Yo lo engancho en global_star o showthread_complete o donde necesite explorar algunos valores y con otras variables de tipo array

    [GRACIAS] -> es Boton magico que hace que siempre recibas soporte, USALO!!!

  10. El siguiente usuario ha agradecido a Jhonnyf por este útil mensaje:

    Julius Romo (28/09/2010)

  11. #8
    Usuario
    Fecha de ingreso
    11/sep/2010
    Edad
    37
    Mensajes
    7
    Gracias
    3
    Agradecido 0 veces en 0 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Como recibir parametros por URL en vBulletin (cuando us

    Muchisimas gracias por todo.

    Ya tengo hecho mi lanzador de dados, que para mi web de juegos va a dar un juego bestial...


  12. #9
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    13/jun/2009
    Ubicación
    In my mind
    Mensajes
    1.329
    Gracias
    59
    Agradecido 1.043 veces en 540 mensajes
    Entradas de Blog
    1
    Poder de Credibilidad
    10

    Predeterminado Respuesta: Como recibir parametros por URL en vBulletin (cuando us

    Cita Iniciado por Julius Romo Ver mensaje
    Muchisimas gracias por todo.

    Ya tengo hecho mi lanzador de dados, que para mi web de juegos va a dar un juego bestial...
    uhm.. para hacer un lanzador de DADOS, te recomiendo que uses AJAX para no tener que cargar toda la pagina completa, solo para ver un resultado sencillo como un random

    [GRACIAS] -> es Boton magico que hace que siempre recibas soporte, USALO!!!

Etiquetas de este tema

Foro | Chat y Juegos | Hello Kitty | Programacion | Foro Cristiano | XAT | Chat Foro | Perú | SummArg