Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: venadHD en 11 Junio 2015, 23:22 pm



Título: Se puede llamar a $_GET a traves de un boton?
Publicado por: venadHD en 11 Junio 2015, 23:22 pm
Bienvenidos invocadores
Bueno, a lo que iva, lo que queria hacer es una especie de 'Call' a un mismo archivo, me explicare mejor con ejemplos:

Esto seria lo normal, sin hacer nada
Código
  1. index.php

Ahora creo un boton, que redirige a...
Código
  1. index.php?login=request

y ahora creo un condicional:
Código
  1. if ($_GET['login'] == 'request') {

Me funcionaria con un clic a un boton, o tendria que ser obligatoriamente en una form?


Título: Re: Se puede llamar a $_GET a traves de un boton?
Publicado por: engel lex en 11 Junio 2015, 23:24 pm
con form y botón, porque el form es quien establece el metodo y la acción


Título: Re: Se puede llamar a $_GET a traves de un boton?
Publicado por: #!drvy en 11 Junio 2015, 23:46 pm
Auqnue siempre puedes usar AJAX para conseguir el efecto sin tener que recargar la pagina.


Saludos


Título: Re: Se puede llamar a $_GET a traves de un boton?
Publicado por: MinusFour en 11 Junio 2015, 23:56 pm
Ni siquiera necesitas un botón. El botón simplemente dispara la acción que en este caso puede ser lo que tu quieras (dentro del DOM), inclusive disparar el evento submit de un formulario, que este es técnicamente el que hace el request de manera "estándar". Puedes usar los objetos XHR (XMLHTTPRequest) para hacer los requests por tí. Al final el que verdaderamente llama el código es el request (petición) HTTP.


Título: Re: Se puede llamar a $_GET a traves de un boton?
Publicado por: gAb1 en 12 Junio 2015, 18:02 pm
El metodo GET no es exclusivo para los formularios, tambien puedes usarlo para cargar una página o ejecutar un script de una página.

Lo único que necesitas es crear un hypervinculo:

Código
  1. <a href="index.php?login=request">Iniciar Sesion</a>

Y en la página compruebas el GET y haces lo que tengas que hacer:

Código
  1. if (isset($_GET['login']) && $_GET['login'] == 'request') {
  2.    echo 'HTML Login Form';
  3. }

Si no quieres que el contenido anterior de la página index.php se muestre, encierralo todo dentro de un if:

Código
  1. // index.php
  2. if (empty($_GET['login']) {
  3.    // aqui el codigo del index y el boton para loguear
  4.    <a href="index.php?login=request">Iniciar Sesion</a>
  5. }
  6.  
  7. if (isset($_GET['login']) && $_GET['login'] == 'request') {
  8.    echo 'HTML Login Form';
  9. }

Para los formularios es mejor utilizar el metodo POST.