Ver Mensaje Individual
  #2  
Antiguo 21-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Verás, tienes algunos conceptos equivocados en cuanto al uso de php y javascript. Debes recordar que el código php se ejecuta en el servidor mientras que javascript se ejecuta en el navegador.

Cuando pones:

Código:
<img ... onclick='<?php $Accion = 'Pagina1.php'?> document.formVerificacion.submit()'
el código php

Código PHP:
$Accion 'Pagina1.php' 
se ejecuta en el servidor cuando el navegador le pide la página, y lo que llega a éste es el html resultante. Como esa sentencia no da ninguna salida, el resultado es una cadena vacía, de manera que al navegador le llega esto:

Código:
<img ... onclick=' document.formVerificacion.submit()'>
de manera que lo único que se ejecuta cuando se hace clic en ese botón es el código javascript:

Código:
document.formVerificacion.submit()
Y lo mismo sucede con los tres botones. Es decir, los tres botones ejecutan lo mismo, que es el submit del formulario.

Por tanto, el formulario se enviará a cualquier cosa que valga su atributo action. Pero resulta que este atributo está dado por

Código:
<form ... action='<?php echo $Accion ?>'>
y como $Accion es una variable cuyo valor se resuelve en el servidor, no queda claro que valor tendrá para cuando la página llegue al navegador. En todo caso, no será el que corresponda al botón oprimido.

-------------------------------------------------

Hay varias maneras de hacer lo que quieres.

Una que se me ocurre es estableciendo el atributo action del formulario mediante javascript:

Código:
<img ... onclick=' document.formVerificacion.action="pagina1.php"; document.formVerificacion.submit();'>
Otra manera podría ser mandar a la misma página con los tres botones, pero cada botón establece un campo hidden:

Código:
<input type='hidden' name='boton'>

...

<img ... onclick=' document.formVerificacion.boton.value=1; document.formVerificacion.submit()'>
La página que recibe, dispone entonces del valor $_POST['botón '] para determinar a qué pagina redirigir:

Código PHP:
header('location: 'pagina' . $_POST['boton'] . '.php'); 
Aunque en este caso, tendrías que reenviar los demas valores del formulario por otros métodos, ya sea en la misma llamada al header, o mediante alguna variable de sesión.

// Saludos

Última edición por roman fecha: 21-08-2007 a las 20:02:26.
Responder Con Cita