Resultados 1 al 5 de 5

No logro coger la variable de la URL

Esta es una discusión en el tema No logro coger la variable de la URL dentro del foro Soporte de programación, parte de la categoría Programación avanzada y trabajos Freelance; Saludos. Aun no acabo de cogerle el truco a la programacion de páginas propias en vBulletin... asi que busco un poco de ayuda. Me explico. En la plantilla postbit_legacy he agregado un enlace del tipo: http:// www.dracomiconia.com/foros/lanzador.php?p=xxxx xxxx es el post concreto. Hasta aquí, todo bien. Por otra parte, he ...

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

    Predeterminado No logro coger la variable de la URL

    Saludos.

    Aun no acabo de cogerle el truco a la programacion de páginas propias en vBulletin... asi que busco un poco de ayuda.

    Me explico.

    En la plantilla postbit_legacy he agregado un enlace del tipo:


    http:// www.dracomiconia.com/foros/lanzador.php?p=xxxx

    xxxx es el post concreto.

    Hasta aquí, todo bien.

    Por otra parte, he creado, segun el tutorial, un fichero llamado lanzador.php

    Código:
    <?php
     
    // ####################### SET PHP ENVIRONMENT ###########################
    error_reporting(E_ALL & ~E_NOTICE);
     
    // #################### DEFINE IMPORTANT CONSTANTS #######################
     
    define('THIS_SCRIPT', 'lanzador');
    define('CSRF_PROTECTION', true);  
    // change this depending on your filename
     
    // ################### PRE-CACHE TEMPLATES AND DATA ######################
    // get special phrase groups
    $phrasegroups = array();
     
    // get special data templates from the datastore
    $specialtemplates = array();
     
    // pre-cache templates used by all actions
    $globaltemplates = array('LANZADOR',
    );
     
    // pre-cache templates used by specific actions
    $actiontemplates = array();
     
    // ######################### REQUIRE BACK-END ############################
    // if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line
    // chdir ('/path/to/your/forums');
    require_once('./global.php');
     
    // #######################################################################
    // ######################## START MAIN SCRIPT ############################
    // #######################################################################
     
    $navbits = construct_navbits(array('' => 'Página de lanzador'));
    $navbar = render_navbar_template($navbits);
     
    // ###### YOUR CUSTOM CODE GOES HERE #####
    $pagetitle = 'Lanzador Dracomiconia';
     
    // ###### NOW YOUR TEMPLATE IS BEING RENDERED ######
     
    $templater = vB_Template::create('LANZADOR');
    $templater->register_page_templates();
    $templater->register('navbar', $navbar);
    $templater->register('pagetitle', $pagetitle);
    print_output($templater->render());
     
    ?>
    que carga la plantilla LANZADOR

    Y he aqui el problema... no se que tipo de fichero es la plantilla, por lo que no se exactamente cómo hacer la llamada a la variable p. (Lo dejo en negrita)

    Código:
    {vb:stylevar htmldoctype}
    <html xmlns="XHTML namespace" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html">
      <head>
        <title>{vb:raw vboptions.bbtitle} - {vb:raw pagetitle}</title>
        {vb:raw headinclude}
        {vb:raw headinclude_bottom}
      </head>
      <body>
     
        {vb:raw header}
     
        {vb:raw navbar}
     
        <div id="pagetitle">
          <h1>{vb:raw pagetitle}</h1>
        </div>
     
        <h2 class="blockhead">Lanzador de dados Dracomiconia</h2>
        <div class="blockbody">
          <div class="blockrow">
               <form id="dice_roll" method="post" action="lanzador2.php?do=process">
                   <li>
                            <ul> Número de dados a usar (1-20): <span class="textboxcontainer"><span><input type="text" class="textbox" name="d_numero" value="" size="4"></span></span>
                            </ul>
                            <ul> Número de caras de los dados (2-100): <span class="textboxcontainer"><span><input type="text" class="textbox" name="d_cara" value="" size="4"></span></span>
                            </ul>
                            <ul> Modificador, si deseas usarlo (+/- x): <span class="textboxcontainer"><span><input type="text" class="textbox" name="d_masmenos" value="0" size="4"></span></span>
                            </ul>
                            <ul> El modificador se aplica a: <span class="textboxcontainer"><span>
                                  <select name='comomod'>
                                         <option value='1'>A la suma final</option>
                                         <option value='2'>A cada dado</option>
                                  </select>
                            </span></span>
                            </ul>
                            <ul> Veces a repetir la tirada (0-10): <span class="textboxcontainer"><span><input type="text" class="textbox" name="d_veces" value="0" size="4"></span></span>
                            </ul><br>
                            <ul> Opciones adicionales: </ul>
                            <ul> <input type='checkbox' name='d_tabiertas' value='1'> Tiradas abiertas (implica tiradas adicionales al sacar el valor máximo).
                            </ul>
                            <ul> <input type='checkbox' name='d_negpermiso' value='1'> Permitir tiradas negativas.
                            </ul>
                            <ul> <input type='checkbox' name='d_bajoout' value='1'> Eliminar el dado más bajo de cada tirada completa.
                            </ul>
                           <input type='hidden' name='d_post' value='$p'>
     
                        </li>
      </form>
     
          </div>
        </div>
     
        {vb:raw footer}
      </body>
    </html>
    Se me plantea la duda de cargarme la "plantilla", y generarlo todo en el php, pero me parece más "sucio". Además, de unirlo, necesitaría algo de orientación sobre como "fusionar" el php y la plantilla, sabiendo qué eliminar y qué mantener en ambos.

    Más que nada, se trataría de mantener la estructura de fichero php y plantilla.... pero si no, con que me ayudeis con la fusión, me basta.... ya que la segunda parte sería la tirada de dados, y el posteo en el foro del resultado.

    Gracias por adelantado.



    Temas Similares:

  2. #2
    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: No logro coger la variable de la URL

    Así mismo, indico que tambien he probado con un get en el php, para pasarlo a otra variable, con comillas, sin ellas....

    Gracias de nuevo.


  3. #3
    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: No logro coger la variable de la URL

    Actualizo el tema....

    He realizado esta segunda prueba....

    (archivo php)

    Código:
    $vbulletin->input->clean_gpc('g', 'p', TYPE_ARRAY_INT);
            $pr = $vbulletin->GPC['p'];
    Y despues llamo en la plantilla a $pr.... pero nada, se muestra el texto $pr, no su valor.


  4. #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: No logro coger la variable de la URL

    Me lo guiso y me lo como... pongo la solucion, para que le sirva a otros.

    Código:
    $vbulletin->input->clean_gpc('g', 'p', TYPE_INT);
            $pr = $vbulletin->GPC['p'];
    
     
    $templater->register('pr', $pr);
    Esto va en el php, y asi, posteriormente, solo tengo que llamar... {vb:raw pr} para capturarlo....

    Tonto, tonto, y tonto....


  5. #5
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    13/jun/2009
    Ubicación
    In my mind
    Mensajes
    1.363
    Gracias
    60
    Agradecido 1.104 veces en 565 mensajes
    Entradas de Blog
    1
    Poder de Credibilidad
    10

    Predeterminado Respuesta: No logro coger la variable de la URL

    Aqui la Explicacion del Codigo de Julius
    Código PHP:
    $vbulletin->input->clean_gpc('g''p'TYPE_INT);
    /*Capturame el parametro p enviado por URL y aplicale un filtro INT de conversion*/


            
    $pr $vbulletin->GPC['p'];
    /*Guarda la captura de p en la variable $pr*/
     
    $templater->register('pr'$pr);
    /*Registralo comovariable para poder usarlo en las plantillas como {vb:raw pr}  */ 
    Ojo, si vas a procesar calculos o lo que sea, esa variable tienes que registrar siempre para ser usada dentro de plantillas

    [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