Elegir un action para el form

el problema (o tal vez zoncera) es el siguiente: Tengo elaborado un condicional que, valga la redundancia, depende la condicion que este...

La FAQ Elegir un action para el form tiene

Pertenece a la categoría:
Pregunta
el problema (o tal vez zoncera) es el siguiente:


Tengo elaborado un condicional que, valga la redundancia, depende la condicion que este interprete, me lleve a una u otra pagina.


Por ejemplo:


<?php


.....


if (condicion)


{


// aca usaria <form action="pagina_opcion_1"
method="POST>, etc, etc ?


}else


// lo mismo de arriba pero con la opción 2?.


?>


O


Hay alguna opción mas practica?


Espero sepan interpretar lo expresado.
Respuesta de Julio Cesar Sanchez
Pues mas practica en que sentido?, puedes usar el form dentro de una
variable y modificar solo ciertas partes de la cadena en base a la
decision, o puedes usar header para redireccionar. Pero en si no veo
cual forma seria la mejor, mas bien depende de que tan bien te acomode a
tu diseño.
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Juan Manuel Medina

18/3/2008
<?php
$accion = (condicion) ? "accion1" : "accion2";
?>

<form action="<?=$accion?>" name="forma">
x
y
z
</form>

David Segoviano

18/3/2008
Lo que a mi se me ocurre es lo siguiente
(En el supuesto que lo unico que varia en tu diseño es el action de tu form)

<?
switch($cond)
{
case 1: $action="index.php"; break;
case 2: $action="base.php"; break;
case 3: $action="contacto.php"; break;
}
?>
.
.
.
.
.
<form name="name_form" method="POST" action="<?=$action?>">
.
.
.
</form>

o si es algo mas dinamico dependiendo de las opciones que vayan seleccionando lo puedes hacer con un javascrit
<script>
function change_action(parametro)
{
switch(parametro)
{
case a: document.name_form.action="index.php"; break;
case b: document.name_form.action="base.php"; break;
case c: document.name_form.action="contacto.php"; break;
}
document.name_form.submit();
}

ya solo llamas al script con los parametros necesarios

espero te sirva.

yohana

27/3/2008
Este código es de un mensaje con botones para pasar al siguiente archivo
Revisalo a ver si te sirve y cualquier cosa me cuentas

<?
if ($alumno != 0){

$mensajes -> mensaje("Este alumno ya está registrado en el Sistema.<br>
¿Desea ACTUALIZAR <br> los datos del Alumno?",
"2",
"No",
"javascript:history.go(-1)",
"Si",
"cambia_datos.php?cedula=$cedula
&id_alumno=$id_alumno
&nombres_alum=$nombres_alum
&apellidos_alum=$apellidos_alum
&cohorte=$cohorte
&num_semestre=$num_semestre
&ocupacion=$ocupacion
&foto_alum=$foto_alum");

}

?>

moduca

13/11/2008
Pienso que es mas facil si haces lo siguiente:

<?php
if(condicion) $paginaInicial="pagina1";
else $paginaInicial="pagina2";

?>

<form action=<?php echo $paginaInicial;?>"">

Trucho

15/7/2009
Funciona, pero...
...no del todo.

Os muestro el código:
<?php
switch($anno)
{
case 09: $action="archivo/pc09.php"; break;
case 08: $action="archivo/pc08.php"; break;
case 07: $action="archivo/pc07.php"; break;
}
?>

<form name="anno" method="POST" action="<?=$action?>" >
<select size="1">
<option value="09">2009</option>
<option value="08">2008</option>
<option value="07">2007</option>
<input type="submit" value="Enviar">
</select>
</form>

Esto funciona... casi del todo.
Se trata de poder acceder a un archivo histórico. No puedo tirar de SQL, ya que no tengo.
La idea es que, dependiendo del año que se seleccione, cargue otra página para que se puedan seleccionar los meses de ese año.
El problema es que, ponga el año que ponga, siempre llama a "archivo/pc08.php".
¿Qué error estoy cometiendo en el código para que no funcione?
Gracias por adelantado.
Un saludo.

Trucho

19/1/2010
Solucionado
Vale.
Lo conseguí. Ya funciona.
Tiro de JavaScript.
Si alguien está interesado, que lo diga. Estaré encantado de proporcionarle el código.

Ricardo

01/5/2013
No funcionaría
Yo también estoy buscando esta solución, el problema es que esto se tiene que hacer en un ISSET el problema es que yo puedo poner en un switch para que cambie el valor de cada ACTION dependiendo que escojo en un combo box por ejemplo pero elk primer valor que toma el formulario al presentarse tendria en su ACTION = $variable, esto da error porque no tiene ni un valor al comienzo, como soluciono esto ???????''

InferCom2

05/1/2015
Ayuda
Estoy realizando algo parecido, y me gustaria ver si puedes proporcionarme el codigo funcionando para poder adaptarlo a lo que estoy haciendo.

roy

20/11/2018
ayudaaa
buena tarde, me podrias proporcionar el codigo, es justo lo que quiero saber, enviar datos dependiendo de la pagina que se leccione
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías