Foros del Web » Programando para Internet » PHP »

no perder datos + select onChange + mostrar otro select PHP

Estas en el tema de no perder datos + select onChange + mostrar otro select PHP en el foro de PHP en Foros del Web. hola a todos, tengo el siguiente problema que estoy atacando actualmente, tengo un formulario el cual es para registrar un usuario, entones se introducen una ...
  #1 (permalink)  
Antiguo 06/08/2009, 15:05
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
Exclamación no perder datos + select onChange + mostrar otro select PHP

hola a todos, tengo el siguiente problema que estoy atacando actualmente, tengo un formulario el cual es para registrar un usuario, entones se introducen una serie de datos, y cuando selecciono en un selectDecision, si esta opcion es igual a UNO entonces muestro otro select, pero me pasa lo siguiente, pierdo la informacion del formulario a la hora de la recarga, y pierdo la seleccion del selectDecision, que puedo hacer? netamente php por favor !!!
  #2 (permalink)  
Antiguo 06/08/2009, 15:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: no perder datos + select onChange + mostrar otro select PHP

Puedes usar $_SESSION para poder recordar lo que ingresaste en el selectDecision
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 06/08/2009, 15:16
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: no perder datos + select onChange + mostrar otro select PHP

Cita:
Iniciado por abimaelrc Ver Mensaje
Puedes usar $_SESSION para poder recordar lo que ingresaste en el selectDecision
al seleccionar le creo la variable de sesion y luego se la seteo nuevament?
  #4 (permalink)  
Antiguo 06/08/2009, 15:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: no perder datos + select onChange + mostrar otro select PHP

Haces algo asi

Código PHP:
Ver original
  1. <?php
  2.  
  3. $_SESSION["selectDecision"] = "selectDecision (o los campos que requieres, puedes crear cuantas variables de session quieras, solo coloca el nombre que desees usar)";
  4.  
  5. echo $_SESSION["selectDecision"];

Para evitar que sobreescriba la $_SESSION te sugiero ingresarlas en un if para que verifique si ya existe esa variable.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 06/08/2009, 16:24
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
De acuerdo Respuesta: no perder datos + select onChange + mostrar otro select PHP

Cita:
Iniciado por abimaelrc Ver Mensaje
Haces algo asi

Código PHP:
Ver original
  1. <?php
  2.  
  3. $_SESSION["selectDecision"] = "selectDecision (o los campos que requieres, puedes crear cuantas variables de session quieras, solo coloca el nombre que desees usar)";
  4.  
  5. echo $_SESSION["selectDecision"];

Para evitar que sobreescriba la $_SESSION te sugiero ingresarlas en un if para que verifique si ya existe esa variable.
en esta parte creo q la idea es q si la sobreescriba, ya que es un registro de usuario, tones no las necesitare en otros formularios, solo en la recarga de ese, y muchas gracias por la acotacion, ya casi estoy terminando, gracias
  #6 (permalink)  
Antiguo 06/08/2009, 17:17
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 16 años, 2 meses
Puntos: 41
Respuesta: no perder datos + select onChange + mostrar otro select PHP

Hombre... simplemente pon value a los input con $_POST['nombre'] y ya está.
  #7 (permalink)  
Antiguo 06/08/2009, 17:32
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: no perder datos + select onChange + mostrar otro select PHP

Cita:
Iniciado por codig0 Ver Mensaje
Hombre... simplemente pon value a los input con $_POST['nombre'] y ya está.
no habia pensado eso... GRACIAS !!!
  #8 (permalink)  
Antiguo 06/08/2009, 20:43
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
Exclamación Respuesta: no perder datos + select onChange + mostrar otro select PHP

problema de ultima hora !!!!


tengo el select el cual me recargara el formulario, una vez q recargo el formulario : y tengo todo "bien" como hago para despues enviar mendiante el boton a otra PAG mis variables ? ? ? ? ayuda pr favor

  #9 (permalink)  
Antiguo 06/08/2009, 20:47
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 2 meses
Puntos: 188
Respuesta: no perder datos + select onChange + mostrar otro select PHP

mmm.

mira pon las variables que recogiste de un formulario en campos hidden de formulario para que puedas trabaja con el otro formulario (y asi sucesivamente envias por POST y recoges por POSTy despues la envias por POST a la pagina que desees.

Recuerda que cuando recoges por POST es asi

$nombre = $_POST['nombre'];
echo "su nombre es" $nombre;


Se entiende?
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #10 (permalink)  
Antiguo 06/08/2009, 20:51
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
Exclamación Respuesta: no perder datos + select onChange + mostrar otro select PHP

Cita:
Iniciado por New Ver Mensaje
mmm.

mira pon las variables que recogiste de un formulario en campos hidden de formulario para que puedas trabaja con el otro formulario (y asi sucesivamente envias por POST y recoges por POSTy despues la envias por POST a la pagina que desees.

Recuerda que cuando recoges por POST es asi

$nombre = $_POST['nombre'];
echo "su nombre es" $nombre;


Se entiende?
si entiendo, pero el problema es el siguiente, tengo un formulario con el select Onchange el cual me recarga el formulario y me cargar otro SELECT, ahora una vez q ya lleno todo y le doy al boton ENVIAR me direcciona a la misma pag, ese es el problema, q hago? coloco un formulario interno?

Última edición por ricardoernes; 06/08/2009 a las 21:01
  #11 (permalink)  
Antiguo 06/08/2009, 21:00
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 2 meses
Puntos: 188
Respuesta: no perder datos + select onChange + mostrar otro select PHP

no no ok

modifica el action=""

Mira, supongamos que quieres enviar un email mediante un formulario en PHP.
Bueno el formulario es HTML y en el PHP estarian las funciones con que enviarais al email.

ejemplo:

form.html
Código HTML:
<form action="sendEmail.php" method="post">
<!-- Todos los campos de formulario aqui -->
<input type="submit" name="onsubmit" value="Enviar">
</form> 

sendEmail.php
Código PHP:
if(isset($_POST['onsubmit'])){
$nombre $_POST['nombre'];
$email $_POST['email'];

//envio el email
                                             

Saludos!
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #12 (permalink)  
Antiguo 06/08/2009, 21:10
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: no perder datos + select onChange + mostrar otro select PHP

Cita:
Iniciado por New Ver Mensaje
no no ok

modifica el action=""

Mira, supongamos que quieres enviar un email mediante un formulario en PHP.
Bueno el formulario es HTML y en el PHP estarian las funciones con que enviarais al email.

ejemplo:

form.html
Código HTML:
<form action="sendEmail.php" method="post">
<!-- Todos los campos de formulario aqui -->
<input type="submit" name="onsubmit" value="Enviar">
</form> 

sendEmail.php
Código PHP:
if(isset($_POST['onsubmit'])){
$nombre $_POST['nombre'];
$email $_POST['email'];

//envio el email
                                             

Saludos!
te voy a postear un ejemplo similiar para q me comprendas, disculpa por no explicarme bien
  #13 (permalink)  
Antiguo 06/08/2009, 21:17
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
Pregunta Respuesta: no perder datos + select onChange + mostrar otro select PHP

<!-- aki tengo otro campos que necesito enviar -->

<form name="consultar" action="cargarUsuario.php" method="post">

if ($_POST['selectCargo'] == "")
echo '<option>Seleccione:</option>';
else
echo '<option>'.$_POST['selectCargo'].'</option>';


while ($linea = mysql_fetch_array($resultado))
{
if ($_POST['selectCargo'] != $linea[0])
echo ('<option value="'.$linea[0].'">'.$linea[0].'</option>');
echo' </select>'; }
</form>

<!-- aki tengo el select que cargo del selectCargo -->

si la opcion del selectCargo = XXXX muestrame selectOtro


<!-- aki tengo otro campos que necesito enviar -->


<!-- aki abajo el boton enviar -->




sera en envuelvo eso en otro formulario o q?
  #14 (permalink)  
Antiguo 06/08/2009, 22:00
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 2 meses
Puntos: 188
Respuesta: no perder datos + select onChange + mostrar otro select PHP

Hola bueno mira.

Tienes aparentemente 2 soluciones

1 la mas logica, es que pongas todos los campos dentro de las mismas etiquetas <form> y </form>, de esa maneras envias todo los valores de los campos a la mimsma pagina.

ej

Código HTML:
<form name="consultar" action="cargarUsuario.php" method="post">
<!-- aki tengo otro campos que necesito enviar -->



if ($_POST['selectCargo'] == "")
echo '<option>Seleccione:</option>';
else
echo '<option>'.$_POST['selectCargo'].'</option>';


while ($linea = mysql_fetch_array($resultado))
{
if ($_POST['selectCargo'] != $linea[0])
echo ('<option value="'.$linea[0].'">'.$linea[0].'</option>');
echo' </select>'; }


<!-- aki tengo el select que cargo del selectCargo -->

si la opcion del selectCargo = XXXX muestrame selectOtro


<!-- aki tengo otro campos que necesito enviar -->


<!-- aki abajo el boton enviar -->
</form> 
Pero si estas haciendo comunicacion entre formulario y es preciso que los 3 o 4 o lso que sean sean formularios independientes entonces necesitas trabajar con javascript

Es decir en boton "enviar" en este caso deverá ser un boton type="button" con un onclick="sendForm()"

Y en JavaScript deveras definir la funcion sendForm() { ..... }

dentro de los corchetes tienes las funciones que enviaran los datos de todos los formularios.

Si requieres de esto, ve al foro de javascript y pide ayuda, ahi se te puede ayudar mejor

Saludos!
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #15 (permalink)  
Antiguo 06/08/2009, 22:03
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
Exclamación Respuesta: no perder datos + select onChange + mostrar otro select PHP

Cita:
Iniciado por New Ver Mensaje
Hola bueno mira.

Tienes aparentemente 2 soluciones

1 la mas logica, es que pongas todos los campos dentro de las mismas etiquetas <form> y </form>, de esa maneras envias todo los valores de los campos a la mimsma pagina.

ej

Código HTML:
<form name="consultar" action="cargarUsuario.php" method="post">
<!-- aki tengo otro campos que necesito enviar -->



if ($_POST['selectCargo'] == "")
echo '<option>Seleccione:</option>';
else
echo '<option>'.$_POST['selectCargo'].'</option>';


while ($linea = mysql_fetch_array($resultado))
{
if ($_POST['selectCargo'] != $linea[0])
echo ('<option value="'.$linea[0].'">'.$linea[0].'</option>');
echo' </select>'; }


<!-- aki tengo el select que cargo del selectCargo -->

si la opcion del selectCargo = XXXX muestrame selectOtro


<!-- aki tengo otro campos que necesito enviar -->


<!-- aki abajo el boton enviar -->
</form> 
Pero si estas haciendo comunicacion entre formulario y es preciso que los 3 o 4 o lso que sean sean formularios independientes entonces necesitas trabajar con javascript

Es decir en boton "enviar" en este caso deverá ser un boton type="button" con un onclick="sendForm()"

Y en JavaScript deveras definir la funcion sendForm() { ..... }

dentro de los corchetes tienes las funciones que enviaran los datos de todos los formularios.

Si requieres de esto, ve al foro de javascript y pide ayuda, ahi se te puede ayudar mejor

Saludos!


no .js no por favor !!!!

si lo coloco todo en un mismo formulario como haria la carga del otro select y como haria el envio de informacion a la otra pag ?
  #16 (permalink)  
Antiguo 06/08/2009, 22:08
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 2 meses
Puntos: 188
Respuesta: no perder datos + select onChange + mostrar otro select PHP

mira amigo, ya que te noto muy palido te ofresco mi ayuda, es cuestion de modificar un poco tu codigo unos 5 tal ves 7 minutos y listo.

Pega tu codigo aqui, en etiquetas [php ] y [/ php]

para que lo pueda leer rapido.

Saludos!
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #17 (permalink)  
Antiguo 06/08/2009, 22:28
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
Exclamación Respuesta: no perder datos + select onChange + mostrar otro select PHP

aki esta el codigo

Código PHP:
<?php


$cargoConsulta 
= isset($_POST['selectCargo']) ? $_POST['selectCargo']:NULL;

?>
<html>
<body>
            
                    
                    <table width="65%" border="4" align="center" bgcolor="#FFFFCC">
                    <!-- <form name="registroUsuario"  action="php/registrarUsuario.php" method="post"> -->
                      <tr>
                                    <td width="48%">
                                      
                                        C&eacute;dula
                                          <input type="text" name="cedula">
                                      </td>
                                    <td width="52%">
                                                           
                                        
                                        Password
                                          <input type="text" name="password">
                                       </td>
                      </tr>
                                  <tr>
                                    <td>Nombre
                                          <input type="text" name="nombre">
                                        <                                    </td>
                                    <td>Apellido
                                          <input type="text" name="apellido">
                                 </td>
                                  </tr>
                                  <tr>
                                    <td>
                                          Numero
                                          <input type="text"  name="opcNumero1">
                                    </td>
                                    <td>
                                    
                                      Email
                                        <input type="text" name="email">
                                    </td>
                                  </tr>
                                  <tr>
                                  
                                  
                                    <td>
                                      <form name="consultar"   action="cargarUsuario.php" method="post">
                                       Cargo
                                        <?php
                                        
                                        
if ( $_SESSION['SidUnidad'] > '1')
                                        {
                                               
//Creando la conexion
                                                
$con mysql_connect('localhost','actividad','xx');
                                                if (!
$con)
                                                    die(
"No nos dieron conexion");
                                                else
                                                {    
//seleccionando la Base de Datos Personal
                                                    
$db mysql_select_db('registro',$con);
                                                    if (!
$db)
                                                        die(
"No nos dieron la Base de Datos");
                                                    else
                                                    {
                                                        
$query "select nombre from cargo;";                                        
                                                        
                                                        
$resultado mysql_query($query,$con);
                                                        
                                                                                                    
                                                        echo
'    <select name="selectCargo" onChange="this.form.submit()">';
                                                        
                                                        if (
$_POST['selectCargo'] == "")
                                                            echo 
'<option>Seleccione:</option>';
                                                        else
                                                            echo 
'<option>'.$_POST['selectCargo'].'</option>';
                                                        
                                                        
                                                        while (
$linea mysql_fetch_array($resultado)) 
                                                        {  
                                                           if (
$_POST['selectCargo'] != $linea[0]) 
                                                           echo (
'<option value="'.$linea[0].'">'.$linea[0].'</option>');    
                                                        } 
                                                        echo
'        </select>';  

                                                            
                                                    }
                                                    
mysql_close($con);
                                                }
                                                
                                        }
//fin if de control de Unidad
                                        
else
                                            {
                                                echo
'    <select name="selectCargo" title= "para disponibilidad de los demas cargos por favor registre Unidad">';
                                                echo 
'<option>Seleccione:</option>';
                                                   echo 
'<option value="1">Jefe de Direccion</option>';    
                                                 
                                                echo
'        </select>';
                                            }
                                                
                                        
?>
                                   
                                      </form>
                                      </td>
                                    <td>
                                     
                                     Estado
                                          <input type="text" name="estado2" disabled="true" value="Activo">
                                    </td>
                                  </tr>
                                  <tr>
                                    <td>                                   
                                                                       
                                            <?php
                                            
if ($cargoConsulta != NULL && $cargoConsulta != "Jefe de Direccion")
                                                
// AKI CARGO EL OTRO SELECT
                                            
?>                
                                                               
                                    </td>
                                    <td>                                      
                                      
                                          <input name="Submit3" type="submit" class="button" value="Registrar">
                                          <input name="SubmitCancelar" type="button" class="button" value="Cancelar" onClick="location.href='submenuAdministrador.php';">
                                   </td>
                                  </tr>
     <!--</form>--> 
    </table>
        
 
</body>

</html>
ahora lo que quiero y lo que me falta es enviar esta informacion a OTRA PAG!!!!

Última edición por ricardoernes; 06/08/2009 a las 23:17
  #18 (permalink)  
Antiguo 07/08/2009, 04:28
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 16 años, 2 meses
Puntos: 41
Respuesta: no perder datos + select onChange + mostrar otro select PHP

¿Y para que la quieres enviar a otra página?, déjala en la misma página y añade isset

Código:
if (isset($_POST['Submit3'])) {
// aqui el mysql_query o lo que tu quieras.
}
  #19 (permalink)  
Antiguo 07/08/2009, 10:30
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
De acuerdo Respuesta: no perder datos + select onChange + mostrar otro select PHP

Cita:
Iniciado por codig0 Ver Mensaje
¿Y para que la quieres enviar a otra página?, déjala en la misma página y añade isset

Código:
if (isset($_POST['Submit3'])) {
// aqui el mysql_query o lo que tu quieras.
}

ah ok ok... y ahi registro? en este caso pues ?
lo probare y aviso, gracias
  #20 (permalink)  
Antiguo 07/08/2009, 12:01
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: no perder datos + select onChange + mostrar otro select PHP

Solucionado no me quedo otraque usar script:

Código PHP:
<script languaje="javascript">

function 
cargarSelect(){
document.consultar.action"cargarUsuario.php";
document.consultar.submit();
}

function 
registro(){
document.consultar.action"php/registrarUsuario.php";
document.consutlar.submit();
}

</script>

<form name="consultar" method="post">

aki mis campos

<select name="selectCargo" onChange="cargarSelect()">
aki mi campo que depende de la seleccion de este select


<input name="botonRegistrar" type="submit" class="button" value="Registrar" onClick="registro()">

</form> 
listo, si no me explique bien en la solucion avisenme, gracias !!!

Última edición por ricardoernes; 08/08/2009 a las 08:55
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:30.