Foros del Web » Programando para Internet » PHP »

Pasar variable desde select box PHP y HTML

Estas en el tema de Pasar variable desde select box PHP y HTML en el foro de PHP en Foros del Web. Hola a todos, buenas. Necesito auxilio para configurar un select box que según la opcíon seleccionada me abra una página específica.... Lo que hice fue ...
  #1 (permalink)  
Antiguo 06/11/2012, 08:38
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Pasar variable desde select box PHP y HTML

Hola a todos, buenas.

Necesito auxilio para configurar un select box que según la opcíon seleccionada me abra una página específica.... Lo que hice fue programar el select con HTML, luego programar un switch con PHP y pasar la variable a un archivo php que hace un redirect usando como url el enlace cogido desde el select pero no me funciona. Os copio que tengo...

>> ORIGEN

<form action="page_new.php?enlace=page" method="post" target="_blank">

<select name="pais">
<option value="ES">España</option>
</select>


<select name="idioma">
<option value="ES">Español</option>
<option value="CA">Catalán</option>
<option value="EN">English</option>
<option value="FR">Francés</option>
<option value="IT">Italiano</option>
<option value="PT">Português</option>
</select>

<?php
if ($pais == ES && $idioma == ES) {
$seleccion = 'http://www.dominio.es/es';
} elseif ($pais == ES && $idioma == CA) {
$seleccion = 'http://www.dominio.es/ca';
} elseif ($pais == ES && $idioma == EN) {
$seleccion = 'http://www.dominio.es/en';
} elseif ($pais == ES && $idioma == FR) {
$seleccion = 'http://www.dominio.es/fr';
} elseif ($pais == ES && $idioma == IT) {
$seleccion = 'http://www.dominio.es/it';
} elseif ($pais == ES && $idioma == EN) {
$seleccion = 'http://www.dominio.es/pt';
} else {
$seleccion = 'http://www.dominio.es/en';
}

$page=$_POST['seleccion'];
?>

<input type="submit" value="Enter">
</form>

>> DESTINO

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//ES">
<html>
<head>
<title></title>

<meta http-equiv="REFRESH" content="0; url="<?php echo "$enlace";?>">

</HEAD>
<BODY>

Waith please...

</BODY>
</HTML>
  #2 (permalink)  
Antiguo 06/11/2012, 08:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pasar variable desde select box PHP y HTML

A ver, usas variables distintas cada vez: $seleccion, $page y $enlace ¿cual es la buena?

Se nota que no entiendes lo que haces, lee esto:
http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/11/2012, 08:56
 
Fecha de Ingreso: agosto-2006
Mensajes: 24
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: Pasar variable desde select box PHP y HTML

ORIGEN

Código HTML:
Ver original
  1. <form action="page_new.php" method="post" target="_blank">
  2.     <select name="pais">
  3.         <option value="ES">España</option>
  4.     </select>
  5.     <select name="idioma">
  6.         <option value="ES">Español</option>
  7.         <option value="CA">Catalán</option>
  8.         <option value="EN">English</option>
  9.         <option value="FR">Francés</option>
  10.         <option value="IT">Italiano</option>
  11.         <option value="PT">Português</option>
  12.     </select>
  13.     <input type="submit" value="Enter">
  14. </form>



DESTINO

Código PHP:
Ver original
  1. <?php
  2.     $pais = $_POST['pais'];
  3.     $idioma = $_POST['idioma'];
  4.    
  5.     if ($pais == "ES")
  6.     {
  7.         switch ($idioma)
  8.         {
  9.             case "ES": $seleccion = "http://www.dominio.es/es"; break;
  10.             case "CA": $seleccion = "http://www.dominio.es/ca"; break;
  11.             case "EN": $seleccion = "http://www.dominio.es/en"; break;
  12.             case "FR": $seleccion = "http://www.dominio.es/fr"; break;
  13.             case "IT": $seleccion = "http://www.dominio.es/it"; break;
  14.             case "PT": $seleccion = "http://www.dominio.es/pt"; break;
  15.             default: $seleccion = "http://www.dominio.es/en"; break;
  16.         }
  17.         header("Location: $seleccion");
  18.     }
  19. ?>
  #4 (permalink)  
Antiguo 06/11/2012, 08:56
 
Fecha de Ingreso: agosto-2006
Mensajes: 24
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: Pasar variable desde select box PHP y HTML

Cita:
Iniciado por pateketrueke Ver Mensaje
A ver, usas variables distintas cada vez: $seleccion, $page y $enlace ¿cual es la buena?
jajaja si, tenia la cagada no mas
  #5 (permalink)  
Antiguo 06/11/2012, 10:42
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Pasar variable desde select box PHP y HTML

Gracias f4b14n, lo probaré!

Una pregunta, lo que es el código php lo escribo en el mismo html donde tengo el select o en el archivo que tengo indicado por el ACTION del FORM (page_new.php)? La funcion Location hace el redireccionamiento sola?

Un saludo!
  #6 (permalink)  
Antiguo 06/11/2012, 11:49
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Pasar variable desde select box PHP y HTML

Hola Fabian, lo he probado y me sale un error con la función header("Location: $seleccion"); Esto vá en el mismo html donde tengo el select box o vá en el archivo php que apunta el formulario (page_new.php). Probé la ultima alternativa...
Un vez más, gracias.

Cita:
Iniciado por f4b14n Ver Mensaje
ORIGEN

Código HTML:
Ver original
  1. <form action="page_new.php" method="post" target="_blank">
  2.     <select name="pais">
  3.         <option value="ES">España</option>
  4.     </select>
  5.     <select name="idioma">
  6.         <option value="ES">Español</option>
  7.         <option value="CA">Catalán</option>
  8.         <option value="EN">English</option>
  9.         <option value="FR">Francés</option>
  10.         <option value="IT">Italiano</option>
  11.         <option value="PT">Português</option>
  12.     </select>
  13.     <input type="submit" value="Enter">
  14. </form>



DESTINO

Código PHP:
Ver original
  1. <?php
  2.     $pais = $_POST['pais'];
  3.     $idioma = $_POST['idioma'];
  4.    
  5.     if ($pais == "ES")
  6.     {
  7.         switch ($idioma)
  8.         {
  9.             case "ES": $seleccion = "http://www.dominio.es/es"; break;
  10.             case "CA": $seleccion = "http://www.dominio.es/ca"; break;
  11.             case "EN": $seleccion = "http://www.dominio.es/en"; break;
  12.             case "FR": $seleccion = "http://www.dominio.es/fr"; break;
  13.             case "IT": $seleccion = "http://www.dominio.es/it"; break;
  14.             case "PT": $seleccion = "http://www.dominio.es/pt"; break;
  15.             default: $seleccion = "http://www.dominio.es/en"; break;
  16.         }
  17.         header("Location: $seleccion");
  18.     }
  19. ?>

Última edición por rafaelsilvabcn; 06/11/2012 a las 12:12
  #7 (permalink)  
Antiguo 07/11/2012, 15:04
 
Fecha de Ingreso: agosto-2006
Mensajes: 24
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: Pasar variable desde select box PHP y HTML

Son dos archivos, en page_new.php debes poner todo esto

Código PHP:
Ver original
  1. <?php
  2.         $pais = $_POST['pais'];
  3.         $idioma = $_POST['idioma'];
  4.        
  5.         if ($pais == "ES")
  6.         {
  7.             switch ($idioma)
  8.             {
  9.                 case "ES": $seleccion = "http://www.dominio.es/es"; break;
  10.                 case "CA": $seleccion = "http://www.dominio.es/ca"; break;
  11.                 case "EN": $seleccion = "http://www.dominio.es/en"; break;
  12.                 case "FR": $seleccion = "http://www.dominio.es/fr"; break;
  13.                 case "IT": $seleccion = "http://www.dominio.es/it"; break;
  14.                 case "PT": $seleccion = "http://www.dominio.es/pt"; break;
  15.                 default: $seleccion = "http://www.dominio.es/en"; break;
  16.             }
  17.             header("Location: $seleccion");
  18.         }
  19.     ?>

El resto va en el archivo .html o donde tengas el formulario
  #8 (permalink)  
Antiguo 14/11/2012, 07:35
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Pasar variable desde select box PHP y HTML

Muchas gracias, ha funcionado a la perfección. Un gran saludo, éxito!

Etiquetas: box, html, select, variables
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 20:21.