Foros del Web » Programando para Internet » PHP »

Formulario que lleve a más de un 1 link?

Estas en el tema de Formulario que lleve a más de un 1 link? en el foro de PHP en Foros del Web. Buenas! En mi web tengo un formulario de contacto que una vez concretada la acción te lleva al index. Mi duda es la siguiente: ¿Es ...
  #1 (permalink)  
Antiguo 11/03/2017, 17:19
 
Fecha de Ingreso: noviembre-2015
Mensajes: 26
Antigüedad: 9 años
Puntos: 0
Pregunta Formulario que lleve a más de un 1 link?

Buenas!
En mi web tengo un formulario de contacto que una vez concretada la acción te lleva al index. Mi duda es la siguiente: ¿Es posible hacer que dependiendo el valor númerico ingresado en un campo del formulario te lleve a una u otra página?
Por ejemplo:
Si la variable del campo del formulario #numerodepasajes es de valor 1 que tras enviar el form me lleve al link1
Si la variable del campo del formulario #numerodepasajes es de valor 2 que tras enviar el form me lleve al link2

Necesitaría hacer lo mismo del numero 1 al 20.
Entiendo que la modificación debería ir en esta parte del formulario usando IF pero no sé como hacerlo, tal vez alguien podría aproximarme un poco!
Código PHP:
if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        window.location = 'index.html';  <---- PARA MI IRIA ACA LA MODIFICACIÓN
                }
    </script> 
Saludos!!

Última edición por pablomaxit; 11/03/2017 a las 17:39
  #2 (permalink)  
Antiguo 11/03/2017, 19:10
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Formulario que lleve a más de un 1 link?


Saludo
En ese caso, en la página que recibe la info del form
se puede en efecto, realizar ya sea un if, o incluso mejor aún,
un arreglo con tantas posiciones cómo valores se puedan dar,
y luego se redireccionan, para esto puedes ocupar la función header de php.
Así el asunto incluso evitas el uso de javascript, y manejandolo en un arreglo
te olvidas de una estructura gigantesca de ifs.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 11/03/2017, 19:13
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 9 meses
Puntos: 36
Respuesta: Formulario que lleve a más de un 1 link?

if ($variable == nuermo) {
header('Location: http://www.example.com/');
} elseif ($variable == nuermo2) {
header('Location: http://www.example2.com/');
}
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #4 (permalink)  
Antiguo 11/03/2017, 20:46
 
Fecha de Ingreso: noviembre-2015
Mensajes: 26
Antigüedad: 9 años
Puntos: 0
Respuesta: Formulario que lleve a más de un 1 link?

Cita:
Iniciado por herzbazi Ver Mensaje
if ($variable == nuermo) {
header('Location: [url]http://www.example.com/');[/url]
} elseif ($variable == nuermo2) {
header('Location: [url]http://www.example2.com/');[/url]
}
Bueno! Gracias a ambos, probé con el código de Herzbazi. Cuando acciono el formulario el email llega, pero no me redirecciona a la página como quería sino que solo me lleva a una pagina en blanco, como que no funciona así que sigo con mis novateadas.
Les dejo los campos que tengo declarado en el form para que puedan mirarlo:

Código PHP:
<?php
$field_name 
$_POST['cf_name'];
$field_email $_POST['cf_email'];
$field_name2 $_POST['cf_name2'];
$field_name3 $_POST['cf_name3'];
$field_name4 $_POST['cf_name4'];
$field_name5 $_POST['cf_name5'];
$field_message $_POST['cf_message'];
Como me quedó con lo que me dijo Herzbazi:
Código PHP:
if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        if ($field_name4 == 1) {
        header('Location: https://www.miweb.com');
        } elseif ($field_name4 == 2) {
        header('Location: www.miweb2.com');
        };
    </script> 
Intenté establecer las dos páginas a las que quería que me lleve si ponía el número 1 o el número 2 en el campo 4 (field_name4).
Bueno un saludo! Muchas gracias por la ayuda
  #5 (permalink)  
Antiguo 12/03/2017, 03:34
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Formulario que lleve a más de un 1 link?

Hola pablomaxit,

Esto es una barbaridad, estás mezclando JavaScript y PHP a las bravas:

Cita:
Iniciado por pablomaxit Ver Mensaje
Código PHP:
if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        if ($field_name4 == 1) {
        header('Location: https://www.miweb.com');
        } elseif ($field_name4 == 2) {
        header('Location: www.miweb2.com');
        };
    </script> 
No se puede embeber código PHP dentro de código JavaScript de esa manera.

En todo caso sería así, pero yo tendría en cuenta la propuesta de mortiprogramador, más que nada porque si lo tienes que hacer con 20 páginas... imagínate esto 20 veces:

Código PHP:
Ver original
  1. if ($mail_status) {
  2.         if ($field_name4 == 1) {
  3.         header('Location: https://www.miweb.com');
  4.         } elseif ($field_name4 == 2) {
  5.         header('Location: www.miweb2.com');
  6.         };

Yo ahora, así en frío y en domingo por la mañana no soy capaz de ver lo que propone mortiprogramador, pero me suena mejor que esto...
  #6 (permalink)  
Antiguo 12/03/2017, 11:25
 
Fecha de Ingreso: noviembre-2015
Mensajes: 26
Antigüedad: 9 años
Puntos: 0
Respuesta: Formulario que lleve a más de un 1 link?

Cita:
Iniciado por rbczgz Ver Mensaje
Hola pablomaxit,

Esto es una barbaridad, estás mezclando JavaScript y PHP a las bravas:



No se puede embeber código PHP dentro de código JavaScript de esa manera.

En todo caso sería así, pero yo tendría en cuenta la propuesta de mortiprogramador, más que nada porque si lo tienes que hacer con 20 páginas... imagínate esto 20 veces:

Código PHP:
Ver original
  1. if ($mail_status) {
  2.         if ($field_name4 == 1) {
  3.         header('Location: https://www.miweb.com');
  4.         } elseif ($field_name4 == 2) {
  5.         header('Location: www.miweb2.com');
  6.         };

Yo ahora, así en frío y en domingo por la mañana no soy capaz de ver lo que propone mortiprogramador, pero me suena mejor que esto...
Jajaja Gracias! Veo el error que señalas muy claramente. Estoy probando con el código que me pasaste aunque sigo sin lograr que ande.
Ya veré, voy a seguir intentando.
  #7 (permalink)  
Antiguo 12/03/2017, 20:28
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Formulario que lleve a más de un 1 link?

Saludo

Eso del frío de la mañana, ¡que apunte rbczgz!
Ahora sí, vamos a echar otra mano.

El asunto se puede manejar de tres maneras,
pues el frío del deprimente domingo no me permite ver más.
(joder que bien comentario rbczgz)

Código PHP:
Ver original
  1. // 1. Combinando php con javascript.
  2. if($mail_status)
  3. {
  4.     if($field_name4 == 1)
  5.         echo '<script>location.href=\'http://www.forosdelweb.com\';</script>';
  6.     if($field_name4 == 2)
  7.         echo '<script>location.href=\'http://www.wikipedia.org\';</script>';
  8. }
  9.  
  10. // 2. Php sin el arreglo
  11. if($mail_status)
  12. {
  13.     if($field_name4 == 1)
  14.         header('location: http://www.forosdelweb.com');
  15.     if($field_name4 == 2)      
  16.         header('location: http://www.wikipedia.org');
  17. }
  18.  
  19. // 3. Php con el arreglo
  20. $urls = array(
  21.         'http://www.forosdelweb.com',
  22.         'http://www.wikipedia.org'      
  23.         );
  24.  
  25. if($mail_status)  
  26.         header('location: '.$urls[$field_name4-1]);

Esas son las opciones que se me ocurren, prueba y comentas
cuál te gusta más pablomaxit.

__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: formulario, html, variable
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 14:11.