- Desde
- 6 Sep 2008
- Mensajes
- 959
Objetivo
Esto es un complemente para el tema
Enlace eliminado
si deseas recibir parámetros por URL y según estos hacer alguna acción este tutorial te va a servir , usualmente se usa $_GET, pero vbulletin tiene sus propias funciones para hacerlo
Los parámetros por URL son estos
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
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)
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
asi que cuando hagas
veras lo siguiente
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']
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
Esto es un complemente para el tema
Enlace eliminado
si deseas recibir parámetros por URL y según estos hacer alguna acción este tutorial te va a servir , usualmente se usa $_GET, pero vbulletin tiene sus propias funciones para hacerlo
Los parámetros por URL son estos
PHP:
test.php?parametro1=valor1¶metro2=valor2
Lo que debes saber:
vBulletin cuenta con una función para este caso
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
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)
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'];
?>
asi que cuando hagas
PHP:
/ejemplo.php?parametro1=hola¶metro2=mundo
Enlace eliminado
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']
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'];
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