Foros del Web » Programando para Internet » PHP »

Botones y funciones

Estas en el tema de Botones y funciones en el foro de PHP en Foros del Web. Hola a tod@s Estoy intentando realizar una página que tiene dos botones, cada uno de estos me manda a una misma función con parametros distintos. ...
  #1 (permalink)  
Antiguo 10/04/2007, 03:10
Dug
 
Fecha de Ingreso: marzo-2007
Mensajes: 13
Antigüedad: 17 años, 1 mes
Puntos: 0
Botones y funciones

Hola a tod@s

Estoy intentando realizar una página que tiene dos botones, cada uno de estos me manda a una misma función con parametros distintos.
Cuando pulos cualquiera de los dos la página funciona "bien". El problema viene cuando no pulsamos ningún botón, ya que la funcion se ejecuta igualmente para los dos botones. Es decir, haga lo que haga siempre se ejecuta la función para los dos botones.

Alguien sabe cual es el motivo¿?.

Muchas gracias.
  #2 (permalink)  
Antiguo 10/04/2007, 03:20
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Botones y funciones

Aun no habiendo puesto nada de código me puedo imaginar el problema.
A cada botón debes instanciarle el atributo name:
Código HTML:
<input type="submit" name="boton1" value="Accion1" />
<input type="submit" name="boton2" value="Accion2" /> 
Y luego en la página de procesado, compruebas que botón se ha pulsado:
Código PHP:
if( isset($_POST["boton1"]) )
{
...
}
elseif( isset(
$_POST["boton2"]) )
{
...

Espero haber sido de ayuda. Un saludo
  #3 (permalink)  
Antiguo 10/04/2007, 04:04
Dug
 
Fecha de Ingreso: marzo-2007
Mensajes: 13
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Botones y funciones

Gracias por responder tan rápido y perdon por no poner la función. La función es:

function canviarNom($base,$opcio){
global $_FILES;
$aux=$_FILES['doc']['name'];
$i=0;
$baseArrel="/direct/";
if($opcio==1){
while(file_exists($baseArrel.'/'.$base.'/'.$aux)){
$i++;
$aux="(".$i.")".$_FILES['doc']['name'];
}
copy($_FILES['doc']['tmp_name'],$baseArrel.'/'.$_POST['base']."/".$aux);
}
if($opcio==0){
copy($_FILES['doc']['tmp_name'],$baseArrel.'/'.$_POST['base']."/".$aux);
}
}

mientras que la llamada en la misma página es:

<input type="button" value="Sobreescriure" onClick="<?canviarNom($_POST['base'],0)?>" class="botons">
<input type="button" value="Continuar" onClick="<?canviarNom($_POST['base'],1)?>" class="botons">

Probé lo que dijiste y sigue sin funcionar, los botones no son parte de un formulario.
  #4 (permalink)  
Antiguo 10/04/2007, 04:11
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Botones y funciones

Ya veo el problema. Eso de llamar a una función php con el evento onClick no funciona. Los eventos como el onClick forman parte de javascript.
Pon esos botones en un formulario y ponles un nombre como te comenté (atributo name). Así podrás diferenciar qué botón se pulsó.

Un saludo
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 23:31.