Se puede llamar a $_GET a traves de un boton?

Iniciado por venadHD, 11 Junio 2015, 23:22 PM

0 Miembros y 1 Visitante están viendo este tema.

venadHD

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 (php) [Seleccionar]
index.php

Ahora creo un boton, que redirige a...
Código (php) [Seleccionar]
index.php?login=request

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

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

engel lex

con form y botón, porque el form es quien establece el metodo y la acción
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

#!drvy

Auqnue siempre puedes usar AJAX para conseguir el efecto sin tener que recargar la pagina.


Saludos

MinusFour

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.

gAb1

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 (html5) [Seleccionar]
<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 (php) [Seleccionar]
if (isset($_GET['login']) && $_GET['login'] == 'request') {
    echo 'HTML Login Form';
}


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

Código (php) [Seleccionar]
// index.php
if (empty($_GET['login']) {
    // aqui el codigo del index y el boton para loguear
    <a href="index.php?login=request">Iniciar Sesion</a>
}

if (isset($_GET['login']) && $_GET['login'] == 'request') {
    echo 'HTML Login Form';
}


Para los formularios es mejor utilizar el metodo POST.