Foros del Web » Programando para Internet » PHP »

Redireccionar php a traves de menu desplegable

Estas en el tema de Redireccionar php a traves de menu desplegable en el foro de PHP en Foros del Web. Hola tengo un menu desplegable con tres valores (notas, tutorias y asistencias) y tambien tengo 3 php que se llaman igual notas.php ... pues lo ...
  #1 (permalink)  
Antiguo 02/04/2009, 03:11
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años
Puntos: 0
Pregunta Redireccionar php a traves de menu desplegable

Hola tengo un menu desplegable con tres valores (notas, tutorias y asistencias) y tambien tengo 3 php que se llaman igual notas.php ... pues lo que quiero es que cuando se selecciones una de esas tres opciones vaya al php correspondiente, para ello tengo hecho un php llamado opc.php en el cual sera llamado por el menu depslegable y una vez dentro del opc.php he probado hacer un switch y una condicion if en el cual me llega en una variable el valor seleccionado del menu desplegable pero nose como redireccionarlo segun el valor que tome dicha variable, les dejo el codigo, gracias de antemano:

codigo del menu desplegable

Código PHP:
echo "<center><form name='opcion' method='POST' action='opc.php'>";
echo 
"    Elija la opción que desee:    ";
echo 
"    <select name='opc'>";
echo 
"        <option>Notas</option>";
echo 
"        <option>Tutorias</option>";
echo 
"        <option>Asistencia</option>";
echo 
"   </select>";
echo 
"   <input type='submit' name='muestra' value='Consultar'><br>";
echo 
"</form></center>"
codigo del opc.php

Código PHP:
<?php


$opc 
$_POST['opc'];

echo 
"Hola $opc";

if(
$opc=tutorias)
{
   
header ("Location: ./tutorias.php");
}
?>
  #2 (permalink)  
Antiguo 02/04/2009, 04:13
Avatar de celarain  
Fecha de Ingreso: abril-2009
Mensajes: 16
Antigüedad: 15 años
Puntos: 0
Respuesta: Redireccionar php a traves de menu desplegable

Creo que lo que quieres seria algo así, en vez de usar la misma variable, creo una segunda y esta es la que usaria para redigir, tal vez tenga algún fallo de tipeo porque la he escrito a pelo, pero a ver si te sirve.

Saludos

Código PHP:
<?php

$opc 
$_POST['opc'];

echo 
"Hola $opc";
    switch (
$opc){
    case 
1$opcdir='header ("Location: ./tutorias.php");';
    break;
    case 
2$opcdir='header ("Location: ./otro1.php");';
    break;
    case 
3$opcdir='header ("Location: ./otro2.php");';
    break;
    default:
    
$opcdir='header ("Location: ./tutorias.php");';
    }
?>
  #3 (permalink)  
Antiguo 02/04/2009, 05:08
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años
Puntos: 0
Respuesta: Redireccionar php a traves de menu desplegable

Cita:
Iniciado por celarain Ver Mensaje
Creo que lo que quieres seria algo así, en vez de usar la misma variable, creo una segunda y esta es la que usaria para redigir, tal vez tenga algún fallo de tipeo porque la he escrito a pelo, pero a ver si te sirve.

Saludos

Código PHP:
<?php

$opc 
$_POST['opc'];

echo 
"Hola $opc";
    switch (
$opc){
    case 
1$opcdir='header ("Location: ./tutorias.php");';
    break;
    case 
2$opcdir='header ("Location: ./otro1.php");';
    break;
    case 
3$opcdir='header ("Location: ./otro2.php");';
    break;
    default:
    
$opcdir='header ("Location: ./tutorias.php");';
    }
?>
Hola Celarain he visto tu codigo y la verdad que no me cuadra ya que no entraria en ningunos d elos cases del switcho porque la variable opc traera las cadenas (tutorias, notas o asistencia) o me equivoco?? un saludo.
  #4 (permalink)  
Antiguo 02/04/2009, 06:17
Avatar de celarain  
Fecha de Ingreso: abril-2009
Mensajes: 16
Antigüedad: 15 años
Puntos: 0
Respuesta: Redireccionar php a traves de menu desplegable

A vale es que no habia leido todo el código, entonces además de lo que te he dicho, te falta en los options, darle un value. Entonces te pongo los dos códigos. En el primero estás haciendo el desplegable, con las tres opciones y te añado una opción -seleccione- para que quede mejor el selector. A cada opción le damos el valor 1, 2, 3... y luego abajo en el php como hacemos switch ($opc){ cuando el case sea 1 pues hará $opcdir='header ("Location: ./tutorias.php");'; etc etc, creo que así funcionará.

Nota: La variable de opc lo que trae es lo que esté dentro del value.

Saludos

Código PHP:
echo "<center><form name='opcion' method='POST' action='opc.php'>";
echo 
"    Elija la opción que desee:    ";
echo 
"    <select name='opc'>";
echo 
"        <option value="''">- seleccione -</option>"
echo 
"        <option value="1">Notas</option>";
echo 
"        <option value="2">Tutorias</option>";
echo 
"        <option value="3">Asistencia</option>";
echo 
"   </select>";
echo 
"   <input type='submit' name='muestra' value='Consultar'><br>";
echo 
"</form></center>"

Código PHP:
<?php

$opc 
$_POST['opc'];

echo 
"Hola $opc";
    switch (
$opc){
    case 
1$opcdir='header ("Location: ./tutorias.php");';
    break;
    case 
2$opcdir='header ("Location: ./otro1.php");';
    break;
    case 
3$opcdir='header ("Location: ./otro2.php");';
    break;
    default:
    
$opcdir='header ("Location: ./tutorias.php");';
    }
?>
  #5 (permalink)  
Antiguo 02/04/2009, 07:15
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años
Puntos: 0
Respuesta: Redireccionar php a traves de menu desplegable

Cita:
Iniciado por celarain Ver Mensaje
A vale es que no habia leido todo el código, entonces además de lo que te he dicho, te falta en los options, darle un value. Entonces te pongo los dos códigos. En el primero estás haciendo el desplegable, con las tres opciones y te añado una opción -seleccione- para que quede mejor el selector. A cada opción le damos el valor 1, 2, 3... y luego abajo en el php como hacemos switch ($opc){ cuando el case sea 1 pues hará $opcdir='header ("Location: ./tutorias.php");'; etc etc, creo que así funcionará.

Nota: La variable de opc lo que trae es lo que esté dentro del value.

Saludos

Código PHP:
echo "<center><form name='opcion' method='POST' action='opc.php'>";
echo 
"    Elija la opción que desee:    ";
echo 
"    <select name='opc'>";
echo 
"        <option value="''">- seleccione -</option>"
echo 
"        <option value="1">Notas</option>";
echo 
"        <option value="2">Tutorias</option>";
echo 
"        <option value="3">Asistencia</option>";
echo 
"   </select>";
echo 
"   <input type='submit' name='muestra' value='Consultar'><br>";
echo 
"</form></center>"

Código PHP:
<?php

$opc 
$_POST['opc'];

echo 
"Hola $opc";
    switch (
$opc){
    case 
1$opcdir='header ("Location: ./tutorias.php");';
    break;
    case 
2$opcdir='header ("Location: ./otro1.php");';
    break;
    case 
3$opcdir='header ("Location: ./otro2.php");';
    break;
    default:
    
$opcdir='header ("Location: ./tutorias.php");';
    }
?>
lo he probado pero no me llega la variable opc correctamente porque cuando me direccionana a opc.php se queda ahi y pone "hola" y no sale el valor (1,2,3) he probado el valor del value con comillas simple , dobles (da error) y nada, de que puede ser? un saludo.
  #6 (permalink)  
Antiguo 02/04/2009, 07:36
Avatar de celarain  
Fecha de Ingreso: abril-2009
Mensajes: 16
Antigüedad: 15 años
Puntos: 0
Respuesta: Redireccionar php a traves de menu desplegable

Bueno de primeras yo el código del desplegable lo pondría así para salir de dudas,

Código HTML:
?>
<center>
	<form name="opcion" method="POST" action="opc.php">
	<label for="seleccion">Elija la opción que desee:</label>    
	<select name="opc">
		<option value="''">- seleccione -</option> 
		<option value="1">Notas</option>
		<option value="2">Tutorias</option>
		<option value="3">Asistencia</option>
	</select>
	<input type="submit" name="muestra" value="Consultar"><br>
</form>
</center>
<?
Luego en este php, la clave es $opcdir, esto es lo que contiene el código que quieres que haga dependiendo de la opción. He modificado el código algo más, ahora en vez de hacer header... es un script, esto es porque muchas veces el header da problemas, de esta manera no tendrás ninguno. Esto deberia funcionarte porque lo he probado. El hola no te dará ni tiempo a ver porque se te redirigirá casi instantaneamente. Al hacer al final del todo el echo $opcdir, lo que hago es meter el código de la variable de el caso seleccionado. Espero que lo entiendas,

Espero que te sirva, saludos

Código PHP:
<?php
$opc 
$_POST['opc'];

echo 
"Hola $opc";
switch (
$opc){
case 
1$opcdir="<script>location.href='../tutorias.php';</script>";
break;
case 
2$opcdir="<script>location.href='../otro1.php';</script>";
break;
case 
3$opcdir="<script>location.href='../otro2.php';</script>";
break;
default:
$opcdir="<script>location.href='../tutorias.php';</script>";
}
echo 
$opcdir;
?>
  #7 (permalink)  
Antiguo 02/04/2009, 07:54
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años
Puntos: 0
Respuesta: Redireccionar php a traves de menu desplegable

Ahora lo que me pasa es que como el codigo lo tngo qe meter en php pongo las senetecias dentro de echo "sentencia "; entonce me da error las doble comillas de los valores 1,2,3 y si lo pongo entre comilla simple no se me pasa la variable...jjeje vaya tela...
  #8 (permalink)  
Antiguo 02/04/2009, 08:15
Avatar de celarain  
Fecha de Ingreso: abril-2009
Mensajes: 16
Antigüedad: 15 años
Puntos: 0
Respuesta: Redireccionar php a traves de menu desplegable

A ver pero eso no lo entiendo, porque tienes que ponerlo en código php?

Aunque el archivo sea php, lo tienes que abrir así <?php cuando quieres meter código php, y lo cierras así ?>, por lo tanto no tienes más que

Código PHP:
<?php 
--código php--
?>
<center>
    <form name="opcion" method="POST" action="opc.php">
    <label for="seleccion">Elija la opción que desee:</label>    
    <select name="opc">
        <option value="''">- seleccione -</option> 
        <option value="1">Notas</option>
        <option value="2">Tutorias</option>
        <option value="3">Asistencia</option>
    </select>
    <input type="submit" name="muestra" value="Consultar"><br>
</form>
</center>
<?php 
--código php de nuevo
?>
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:15.