Foros del Web » Creando para Internet » HTML »

¿Cómo mantener la misma URL con method GET?

Estas en el tema de ¿Cómo mantener la misma URL con method GET? en el foro de HTML en Foros del Web. En un formulario, quiero que el usuario pulse y el valor que envía se añada a la URL actual, no que la formatee desde el ...
  #1 (permalink)  
Antiguo 23/03/2014, 11:31
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
¿Cómo mantener la misma URL con method GET?

En un formulario, quiero que el usuario pulse y el valor que envía se añada a la URL actual, no que la formatee desde el index.php con el name y value nuevos.

¿Cómo puedo hacerlo?

He probado a establecer $_SERVER['REQUEST_URI'] de PHP en el action del formulario, pero no funciona, he probado con $_SERVER y/o con la URL manualmente en el name del button type button, pero tampoco y lo mismo también para el value y tampoco funciona.
__________________
Ayúdame a hacerlo por mi mismo.
  #2 (permalink)  
Antiguo 24/03/2014, 05:11
Avatar de supercoco79  
Fecha de Ingreso: octubre-2012
Ubicación: Islas Canarias
Mensajes: 115
Antigüedad: 11 años, 6 meses
Puntos: 35
Respuesta: ¿Cómo mantener la misma URL con method GET?

@guardamicorreo

No he entendido muy bien la pregunta. ¿Qué valor quieres pasar exactamente? ¿Puedes poner algo de código que pueda ayudar?

Saludos.
__________________
Yesterday was the only easy day. Deportes de aventura
  #3 (permalink)  
Antiguo 24/03/2014, 05:42
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: ¿Cómo mantener la misma URL con method GET?

Desde el index.php puedo navegar por el menu a distintos apartados de mi blog.

Uno de esos apartados es categorias, dentro de categorias puedo ver las categorías y los posts ordenados por subcategorías. si hago clic en una subcategoría puedo ver los posts de esa subcategoría ya paginados.

La URL es esta

Cita:
index.php?option=categories&subcategories=PHP&page _subcategories=3
Indicando que por ejemplo estaría viendo los posts de la página 3 de la subcategoría PHP.

Y ahora comienza la duda/problema.

Los posts paginados dentro de cada subcategoría los muestro con este código

Código PHP:
Ver original
  1. <form method="get" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
  2.             <?php
  3.             foreach($posts as $post){  
  4.             ?>  
  5.                 <button type="submit" name="option" value="<?php echo unblank($post['title']); ?>">
  6.                     <article>
  7.                         <header><?php echo substring($post['title'], 0, 50); ?></header>
  8.                         <section><a href="index.php?option=categorie">leer</a></section>
  9.                         <footer>Publicado el <?php echo $post['date_time'];?> Por <?php echo substring($post['author'], 0, 6); ?></footer>
  10.                     </article>
  11.                 </button>
  12.             <?php
  13.             }
  14.             ?>
  15.             </form>

Al hacer clic sobre un button quiero que se abra el post, pero manteniendo la URL, de manera que la URL final sea algo como

Cita:
index.php?option=categories&subcategories=PHP&page _subcategories=3&post=Hoy_hablaremos_de_funciones
Indicando que estoy leyendo el post 'Hoy hablaremos de funciones' de la pagina 3 de la subcategoria PHP.

El problema es que al ejecutar ese código me dirige hacia

Cita:
index.php?post=Hoy_hablaremos_de_funciones
Formateando la URL dejando solo la variable GET post y el valor correspondiente.

Esto quiero evitar que sea así porque quiero habilitar un boton de regreso a posts paginados de cada subcategoría, de manera que si el usuario navega por las subcategorías y lee un post, pueda regresar a la página de la subcategoría que estaba visitando, de la manera que queda la url actualmente eso no puedo hacerlo con $_SERVER['REQUEST_URI']

Gracias por tu ayuda! :)
__________________
Ayúdame a hacerlo por mi mismo.
  #4 (permalink)  
Antiguo 24/03/2014, 08:06
Avatar de supercoco79  
Fecha de Ingreso: octubre-2012
Ubicación: Islas Canarias
Mensajes: 115
Antigüedad: 11 años, 6 meses
Puntos: 35
Respuesta: ¿Cómo mantener la misma URL con method GET?

Ok. Creo haber entendido cuál es tu problema.

En mi opinión, si quieres mantener la estructura que comentas yo utilizaría inputs del tipo hidden fuera del bucle foreach, y asignándoles el valor que viene del superarray $_GET, algo así:

Código PHP:
<form method="get" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
          <input type="hidden" name="option" value="<?php echo $_GET["option"];?>">
          <input type="hidden" name="subcategories" value="<?php echo $_GET["subcategories"];?>">
          <input type="hidden" name="page _subcategories" value="<?php echo $_GET["page _subcategories"];?>">
            <?php
            
foreach($posts as $post){  
            
?>  

<button type="submit" name="option" value="<?php echo unblank($post['title']); ?>">
                    <article>
                        <header><?php echo substring($post['title'], 050); ?></header>
                        <section><a href="index.php?option=categorie">leer</a></section>
                        <footer>Publicado el <?php echo $post['date_time'];?> Por <?php echo substring($post['author'], 06); ?></footer>
                    </article>
                </button>
            <?php
            
}
            
?>
</form>
De esta manera, después de hacer submit mantendrás los valores en la URL utilizando el método GET y mantendrás la trazabilidad.

¿Es esto lo que querías conseguir?

Saludos.
__________________
Yesterday was the only easy day. Deportes de aventura
  #5 (permalink)  
Antiguo 24/03/2014, 08:51
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: ¿Cómo mantener la misma URL con method GET?

Muchísimas gracias, creo que esa es la solución a lo que quiero lograr, en cuanto resuelve un problema con mi LAMP probaré a ver qué tal y comento si me funcionó, un saludo! :D
__________________
Ayúdame a hacerlo por mi mismo.
  #6 (permalink)  
Antiguo 24/03/2014, 09:08
Avatar de supercoco79  
Fecha de Ingreso: octubre-2012
Ubicación: Islas Canarias
Mensajes: 115
Antigüedad: 11 años, 6 meses
Puntos: 35
Respuesta: ¿Cómo mantener la misma URL con method GET?

De nada. Ya nos comentas.

Si se resuelve acuérdate de marcarlo como solucionado

Saludos
__________________
Yesterday was the only easy day. Deportes de aventura

Etiquetas: formulario, method, php, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:25.