Botón de enviar formulario que es una imágen

Estado
Cerrado para nuevas respuestas

bres

Ex-Mod
Miembro
#1
Bueno, a ver si me echáis una mano que me he quedado un poco así
A ver si me explicáis que diferencia hay entre un botón submit de formulario y un botón que sea una imágen.

Os explico, en la nueva versión de la web que estoy haciendo hay para entrar dos botónes para escoger idioma, castellano o catalán (quienes hayáis entrado algúna vez lo habréis visto). Y como queda bastante cutre lo he querido cambiar por un par de imágenes, unas banderitas.

Antes cuando clicabas en un botón cambiaba el valor booleano de la variable "cat" o "cas" correspondiente de falso a verdadero. En cambio la imágen cuando la clicas se queda en falso. Entonces me pregunto 'El enviar con imágen crea algúna variable?'

He estado buscando y por ahí pone que sí pero no consigo enterarme de lo que dice. A ver si vosotros me lo sabéis explicar para que lo entienda.

Aquí os pongo los códigos pero no tienen mucho misterio.

Código antiguo

Insertar CODE, HTML o PHP:
<?

if($cas){

  *setcookie("UnMarkNet_l","cas",time()+36000);

  *header("Location: ./index2.php");

}

else if($cat){

  *setcookie("UnMarkNet_l","cat",time()+36000);

  *header("Location: ./index2.php");

}?>

<html>

<body background=imatges/fons.gif>

<font size=3>Idioma:</font>

<form method=post action=index.php>

<center><input type="submit" name="cat"></center>

<center><input type="submit" name="cas"></center>

<tr><td>

</body>

</html>
Código nuevo:

Insertar CODE, HTML o PHP:
<?

if($cas){

  *setcookie("UnMarkNet_l","cas",time()+36000);

  *header("Location: ./index2.php");

}

else if($cat){

  *setcookie("UnMarkNet_l","cat",time()+36000);

  *header("Location: ./index2.php");

}?>

<html>

<body background=imatges/fons.gif>

<font size=3>Idioma:</font>

<form method=post action=index.php>

<center><input type="image" name="cat" alt="Català" src=imatges/cat.png></center>

<center><input type="image" name="cas" alt = "Castellano" src=imatges/cas.png></center>

<tr><td>

</body>

</html>
Ah si, gracias :)
 
C

Cobac

Guest
#2
en vez de post, pon get y veras como trata las variables en el navegador y ami se me ha ocurrido hacerlo de otra forma (esque como no se php no se puedo ayudar de tu forma, pero como se como trabajan los formularios te ayudo de otra
Insertar CODE, HTML o PHP:
<form method=get action=index.php>

<center><input type="image" name="lang" value="cat" alt="Català" src=imatges/cat.png></center>

<center><input type="image" name="lang" value="cas" alt = "Castellano" src=imatges/cas.png></center>

</form>
si le das a cualkiera de las dos te ira a un sitio asi:

index.php?lang=cas

luego solo tienes que recuperar la variable del navegador (tu sabras como se hace en php :)) y redireccionar segun si es cas o cat espero que te sirva así

saludos
 

bres

Ex-Mod
Miembro
#3
Creo que va a servir, gracias Cobac, voy a probarlo. Después modifico este mensaje para ver si ha rulado o no.

--------------Añadido-------------------

Realmente funciona, muchas gracias Cobac, más sencillo de lo que hubiera pensado, en realidad no tenía ni idea de que hace el get, todos mis formularios van con el post.

Un problema menos del que preocuparme, vamos a por el siguiente paso.
 
C

Cobac

Guest
#4
me alegro de que te vaya :)

para mas dudas ya sabes donde estoy

saludos
 
Estado
Cerrado para nuevas respuestas
Arriba Pie