Foros del Web » Programando para Internet » PHP »

Como enviar variables por select a php

Estas en el tema de Como enviar variables por select a php en el foro de PHP en Foros del Web. Hola Amigos, tengo lo siguiente dentro de un file php <?php ...... <form method="post" name="entrega"> <select name="D5" onchange="location=D5.options[D5.selectedIndex].value">> <option value="" selected="selected">[seleccione una opción]</option> <option value="parame.php?D5=1" ...
  #1 (permalink)  
Antiguo 05/04/2005, 03:38
 
Fecha de Ingreso: diciembre-2004
Mensajes: 85
Antigüedad: 19 años, 4 meses
Puntos: 0
Exclamación Como enviar variables por select a php


Hola Amigos, tengo lo siguiente dentro de un file php
<?php
......

<form method="post" name="entrega">
<select name="D5" onchange="location=D5.options[D5.selectedIndex].value">>

<option value="" selected="selected">[seleccione una opción]</option>
<option value="parame.php?D5=1" >PeC</option>
<option value="2">Prueba</option>
<option value="3">Documentation</option>
<option value="4">Database</option>
</select>
</form>
.....
?>

Aquí logro que automáticamente al seleccionar unas de las opciones que estan adentro pueda cargarse lo demas, pero yo quiero irme a un archivo paramete.php dependiendo la option que escoja, donde tengo varias varias y varias aplicaciones, que al seleccionar ingreso automaticamente.

algo como esto:

<?php

switch ($D5) {
case 1:
$path = "http://pcm3080.ch/Php/progra1/navigator/";
$titulo="Resource Navigator - PeC Navigator";
$part1= hola";
break;

case 2:
$path = "http://pcm3080.ch/Php/progra2/navigator/";
$titulo="Prueba amigos";
$part1= prueba";

break;

case 3:
print "i equals 2";
break;

}

?>

lo intento hacer pero no se hace y parameter.php sale en blanco y no escoje ninguna de las opciones que deseo.
Espero su ayuda en esto amigos.
Danny
  #2 (permalink)  
Antiguo 05/04/2005, 09:10
 
Fecha de Ingreso: diciembre-2004
Mensajes: 85
Antigüedad: 19 años, 4 meses
Puntos: 0
nadie me ayuda con esto por favor?
  #3 (permalink)  
Antiguo 05/04/2005, 11:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Con respecto al javascript que empleas .. no sé por qué te lias tanto .. con un submit automatico sobraría:

Código PHP:
<form method="post" name="entrega" action="redireccionador.php">
<
select name="D5" onchange="this.form.submit()">>

<
option value="" selected="selected">[seleccione una opción]</option>
<
option value="1" >PeC</option>
<
option value="2">Prueba</option>
<
option value="3">Documentation</option>
<
option value="4">Database</option>
</
select>
</
form
De ese modo .. donde apuntes tu action ahí se enviarán todas las variables que indicas en tu formulario y por el método que especifiques (si es POST o GET) ..

En redireccionar.php

Código PHP:
switch ($_POST['D5']) {

case 
'1':
$path "http://pcm3080.ch/Php/progra1/navigator/";
$titulo="Resource Navigator - PeC Navigator";
$part1"hola";
break;

case 
'2':
$path "http://pcm3080.ch/Php/progra2/navigator/";
$titulo="Prueba amigos";
$part1"prueba";

break;

case 
'3':
print 
"i equals 2";
break;


Realmente no sé lo que quieres hacer una vez que llegas a "redireccionar.php" .. pero si tienes que redireccionar como tal .. pasando algunas otras variables como parámetros como los que ahí usas tendrás que componer un URL y redireccionar tipo:

Código PHP:
header ("Location: ".$path."?titulo=".urlencode($titulo)."&part1".urencode($part1));
exit; 
Un saludo,

Última edición por Cluster; 05/04/2005 a las 11:35
  #4 (permalink)  
Antiguo 06/04/2005, 01:33
 
Fecha de Ingreso: diciembre-2004
Mensajes: 85
Antigüedad: 19 años, 4 meses
Puntos: 0
Exclamación que estoy haciendo mal

Aqui funciona como me dices ingresa alli

file redireccionador.php

switch ($_POST['D5']) {
case '1':

$path = "http://pcm3080.ch/Php/progra1/navigator/";
$titulo="Resource Navigator - PeC Navigator";
$part1= "hola";
break;

case '2':
$path = "http://pcm3080.ch/Php/progra2/navigator/";
$titulo="Prueba amigos";
$part1= "prueba";

break;

case '3':
print "i equals 2";
break;
}


mi ruta al ingresar alli es $path = "http://pcm3080.ch/Php/progra1/navigator/redireccionador.php
aqui estan las variables de las aplicaciones o paginas web a cargarse (Tengo 3 a mas paginas web en diferentes carpetas, que deben leer las variables que defina aqui y luego ejecutar su propio index), pero al cargar las variables luego debe cargar otra pagina web index.php (dependiendo del path) que se encuentra en la siguente ruta
http://pcm3080.ch/Php/progra1/navigator/index.php, (para este caso) pero no carga.

si le agrego a

case '1':
$path = "http://pcm3080.ch/Php/progra1/navigator/";
$titulo="Resource Navigator - PeC Navigator";
$part1= "hola";

include 'index.php' // que se encuentra dependiendo del path que se esta poniendobreak;

no funciona, que estoy haciendo mal
hay que agregar algo mas?? o no se???
espero sus comentarios.
Saludos
Danny
  #5 (permalink)  
Antiguo 06/04/2005, 02:01
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
... no entiendo qué quieres hacer... pero si tratas de usar include() te faltan los paréntesis: http://mx.php.net/manual/es/function.include.php

... pero... (aunque incisto que no te entiendo) .. ¿no el include debes hacerlo en la página en la que recibes las variables???... no le veo sentido poner include()'s dentro de un switch... quizá $include=archivo.php ... y recojerlo en tu proxima página... include('$archivo');

... como sea, espero te sirva.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 06/04/2005, 02:41
 
Fecha de Ingreso: diciembre-2004
Mensajes: 85
Antigüedad: 19 años, 4 meses
Puntos: 0
Mira lo que necesito es que una vez ingresado a mi redireccionador.php (donde se encuentran mis variables inicializadas con algunos datos) yo quiero que una vez lea esos datos de acuerdo al swicth me cargue la pagina del index.php de esa ruta, mi pregunta es como lo hago una vez leida las variables cambiar a la ruta de donde se ejecuta esa pagina (yo ponia el caso del include, pero ya vi que no se debe usar alli), entonces que debo poner o que hago. Espero que me entiendas y me ayudes en esto.
Saludos
  #7 (permalink)  
Antiguo 07/04/2005, 01:09
 
Fecha de Ingreso: diciembre-2004
Mensajes: 85
Antigüedad: 19 años, 4 meses
Puntos: 0
ayuda con esto
saludos
  #8 (permalink)  
Antiguo 07/04/2005, 08:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Realmente no se entendió que pretendes hacer .. Grafíca el ejemplo ..

Un saludo,
  #9 (permalink)  
Antiguo 11/04/2005, 02:14
 
Fecha de Ingreso: diciembre-2004
Mensajes: 85
Antigüedad: 19 años, 4 meses
Puntos: 0
hola amigos: ya me esta volviendo loco este problemita y he probado con muchas cosas pero no logro resolverlo.

en mi archivo index. php tengo este trozo de codigo:

index.php
.....
<form method="post" name="entrega" action="parame.php">
<select name="opc" onchange="this.form.submit()">
<option value="" selected="selected">[seleccione una opción]</option>
<option value="a" >Navegador</option>
<option value="b" >Prueba</option>
<option value="c" >Documentation</option>
<option value="d" >Database</option>
</select>
</form>
.....


en la cual al seleccionar uno de ellos, debe entrar al parameter, que es:

Parameter.php
<?php
echo $opc;
switch ($_get['opc']) {

case 'a':
$path = "http://pcm.amigo.ch/Php/";
$titulo="Esto es mi proyecto";
$part1= "Navigator ";
$part2= "Web Application";
$part3= "prueba";
$part4= "Ejemplo";

header("location:".$path."index.php?titulo=".urlen code($titulo)."&part1".urlencode($part1)."&part2". urlencode($part2)."&part3".urlencode($part3)."&par t4".urlencode($part4));
echo $path;
exit;
break;

case 'b':
$path = "http://pcm.amigo.ch/ejemplo/";
$titulo ="prueba";
$part1= "Estro es una prueba";
$part2= "Web";
$part3= "Navegador";
$part4= "Sub mensaje";

header("location:".$path."index2.php?titulo=".urle ncode($titulo)."&part1".urlencode($part1)."&part2" .urlencode($part2)."&part3".urlencode($part3)."&pa rt4".urlencode($part4));
exit;
break;

case 'c':
print "i equals 2";
break;

}
?>


Cuando cargo la primera vez que se supone que debe entrar por defecto a case 'a' y aparezcan en la pagina todas las variables dentro de la pagina y si luego selecciono en la lista la segunda solo me imprime la variable 'b', pero no entra a la pagina (que se desea como esta puesta en el parame.php) y no carga nada, solo se queda en parameter.php y no ingresa a la pagina index2.php que se encuentra en otro directorio.

que estoy haciendo mal?? espero que me puedan ayudar.

SALUDOS
  #10 (permalink)  
Antiguo 11/04/2005, 03:06
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Hola ... sigo sin entender del todo... pero veo algunos errores a sinmple vista:
1) el method de tu formulario es POST y recibes por GET?
2) Mandas a imprimir cuando utilizas la función header()... error: http://www.forosdelweb.com/f18/error-header-285272/

Serias muy amable si pusieras tu código entre las etiquetas [ PHP] y [ /PHP] (sin espacios)... facilitaria la lectura y no descompondría la página (como. al menos a mi, lo hace ahora).... lo que se traduciria en ayudarte mejor.

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #11 (permalink)  
Antiguo 11/04/2005, 03:15
 
Fecha de Ingreso: diciembre-2004
Mensajes: 85
Antigüedad: 19 años, 4 meses
Puntos: 0
Envio los dos archivos que se utilizan, los demas index, son paracidos en el envio de datos de la variables que deben presentar.

Index.php

<?php
$opc=a;
include ("parame.php");
?>

<html>

<head><TITLE>
<?php
echo $titulo;
?>
</TITLE></head>

<link rel="stylesheet" type="text/css" href="CSS/style.css" />

<body onload="init()">
<script type="text/javascript" language="javascript" src="JS/index.js" ></script>

<div id="container">
<div id="header">
<div id="header_left"><div style="background:url('./Icons/RDF-Metadata.png') no-repeat right top; float:right;width:200px;; height:90%;position:relative;top:+35px;"></div>
</div>

<div id="header_right" >
<div style="background:url('./Icons/logo.gif') no-repeat left top; float:right;width:200px;; height:100%;position:relative;top:+2px;"></div>
</div>

</div>

<div>
<?
echo $part1;
echo $part2;
?>
</div>

<div style="font-size:8pt;padding-top:0px;">

<div style="font-size:8pt;padding-top:0px;margin-left:120px;">

<?php
#ini_set('display_errors', 'On');
include_once('class.breadcrumb.inc.php');
$breadcrumb = new breadcrumb;
$breadcrumb->homepage='homepage'; // sets the home directory name
$breadcrumb->dirformat='ucfirst'; // Show the directory in this style
$breadcrumb->symbol=' || '; // set the separator between directories
$breadcrumb->showfile=TRUE; // shows the file name in the path
$breadcrumb->linkFile=TRUE; // Link the file to itself
$breadcrumb->_toSpace=TRUE; // converts underscores to spaces
echo $breadcrumb->show_breadcrumb();

echo "<a href='index2.php'>";
echo "Pagina di prova.";
echo "</a>";
echo "<p>";

?>
</div>
</div>

<div id="pannello">

<form method="post" name="entrega" action="parame.php">
<select name="opc" onchange="this.form.submit()">
<option value="" selected="selected">[seleccione una opción]</option>
<option value="a" >PeC</option>
<option value="b" >Prueba</option>
<option value="c" >Documentation</option>
<option value="d" >Database</option>
</select>
</form>

<div id="searchpanel">
<div style="margin-left:10px;float:left; width: 48; height: 48; filter:progid:DXImageTransform.Microsoft.AlphaImag eLoader(src='Icons/48_add_contact.png', sizingMethod='scale');" ></div>
<div style="font-size:10pt;padding-top:10px;">Search:<input name="criterio" style="width:150px;font-size:9pt; " onkeyup="refreshlist()" ></input></div>
<br/>
<div id="filter"></div>
<select id="listhtmlBOX" name="htmllist" multiple style="margin-left:40px;height:310px; width:230px;font-size:8pt; " ></select>
<br/>
<img src="Icons/expand.gif" style="margin-left:50px;" onClick="window.search(htmllist.options(htmllist.s electedIndex).value)" ></img>
</div>


<div id="detailpanel" style="; padding-top:20px;padding-left:30px;" align="left">
<div id="fordetail" ></div>
<div id="forrelation" style="font-size:8pt;" ></div>
</div>

<div style="position:absolute;left:289px; top:-4px">
<img src="Icons/croce.gif" width="15" onclick="large()" />
</div>


<div id="updatepanel">
<div style="font-size:16;font-weight:bold;">Management of Data Source Rdf</div>
<div id="Title">Add / Update a Resource</div>
<div style="font-size:11">Please insert the URI which the Resource is present</div>
<div style="font-size:10">
<input type="text" style="width:200px;" name="URI_update" />
<input type="button" value="Submit" multiple name="uriupdt" onclick="window.open('php/update.php?URI=' + URI_update.value, 'update', 'height=400,width=400,status=no,toolbar=no,menubar =no,location=no')" />
</div>
<div id="title">Rdf - Generator</div>
<div style="font-size:11">To help the creation of the Rdf, we have builded a generator of code XML. Click over the preferred link</div>
<div style="font-size:11">
<div><a href="javascript:" onclick="window.open('foafgenerator.php')">Foaf Generator</a> </div>
<div><a href="javascript:" onclick="window.open('groupgenerator.php')">Group Generator</a> </div>
<div><a href="javascript:" onclick="window.open('competencegenerator.php')">C ompetence Generator</a> </div>
</div>
</div>
</div>

<div id="grafica" style="display:block">
<EMBED id="svg1" width="90%" height="95%" type="image/svg+xml" SRC="Svg/navigator.svg" NAME="mappa" ></EMBED>
</div>


</div>
</body>
</html>




Parame.php
<?php


echo $opc;


switch ($_post['opc']) {

//switch ($opc) {
case 'a':
$path = "http://pcm3080.dti.supsi.ch/Php/SUPSI/navigator/";
$titulo="Resource Navigator - PeC Navigator";
$part1= "<div style='top:-4px;position:absolute; left:30px;font-size:20pt;color:#DDF'><i>Resource Navigator - <small>PeC Navigator (PeC)</small></i></div>";
$part2= "<div style='top:30px;position:absolute; left:50;font-size:15pt;color:#BBf'><i>Semantic Web Application</i></div>";
$part3= "<div style='top:30px;position:absolute; left:30;font-size:10pt;color:#BBf'><i>Person and Competencies Navigator</i></div>";
$part4= "<div style='top:4px;position:absolute; left:30;font-size:19pt;color:#DDF'><i>PeC Navigator (PeC) </i></div>";

header("location:".$path."index.php?titulo=".urlen code($titulo)."&part1".urlencode($part1)."&part2". urlencode($part2)."&part3".urlencode($part3)."&par t4".urlencode($part4));
echo $path;
exit;
break;



case 'b':
$path = "http://pcm3080.dti.supsi.ch/Php/SUPSI/navigator/";
$titulo ="prueba - Danny Anton";
$part1= "<div style='top:-4px;position:absolute; left:30px;font-size:20pt;color:#DDF'><i>Questa è una foglia di Prova - <small>Danny Anton</small></i></div>";
$part2= "<div style='top:30px;position:absolute; left:50;font-size:15pt;color:#BBf'><i>Semantic Web 2</i></div>";
$part3= "<div style='top:30px;position:absolute; left:30;font-size:10pt;color:#BBf'><i>Person and Competencies Navigator</i></div>";
$part4= "<div style='top:4px;position:absolute; left:30;font-size:19pt;color:#DDF'><i>PeC Navigator (PeC) </i></div>";

//header("location:index2.php");
header("location:".$path."index2.php?titulo=".urle ncode($titulo)."&part1".urlencode($part1)."&part2" .urlencode($part2)."&part3".urlencode($part3)."&pa rt4".urlencode($part4));
exit;

break;

case 'c':
print "i equals 2";
break;

}
?>

Saludos
  #12 (permalink)  
Antiguo 11/04/2005, 03:43
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Perdona.. Lesite mi anterior respuesta??
Cita:
Iniciado por jam1138
2) Mandas a imprimir cuando utilizas la función header()... error: http://www.forosdelweb.com/showthread.php?t=285272

Serias muy amable si pusieras tu código entre las etiquetas [ PHP] y [ /PHP] (sin espacios)... facilitaria la lectura y no descompondría la página (como. al menos a mi, lo hace ahora).... lo que se traduciria en ayudarte mejor.
Ahora... de nuevo a imple vista parece haber otro error. En partes como: header("location:".$path."index.php?titulo=".urlen code($titulo)."&part1".urlencode($part1) creo mandas algo como index.php?titulo=valor&part1valor&... lo cuál estáría mal... le faltarian signos de igual.
agina.php?var1=valor&var2=valor&var3=valor....
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #13 (permalink)  
Antiguo 11/04/2005, 04:23
 
Fecha de Ingreso: diciembre-2004
Mensajes: 85
Antigüedad: 19 años, 4 meses
Puntos: 0
ya le puse lo que me has dicho que ponga en tus dos mensajes y igual no finciona

saludos
  #14 (permalink)  
Antiguo 11/04/2005, 04:29
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
no dije que con eso funcionaría.. dije que eran errores que tenías... no he visto tu código porque no... es fácil.. entiende que es complicado... permiteme incistir por tercera vez (y última) que lo pongas entre las etiquetas [ PHP]... además de que comentarás qué errores te arroja y indicarlos dentro del código... qué haz intentado... pero cobre todo ¿qué quieres hacer?.. creo eso aún no queda claro.

y... quizá sea tonto decirlo... pero espero que si decides colorear tú código.. no lo hagas pegando todo de nuevo.. existe la opción de EDITAR... y de paso podrías poner el que ya arreglaste de los errores que mencioné.

Ayudanos a ayudarte. Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 15:09.