Foros del Web » Programando para Internet » PHP »

No mantiene datos de un select...

Estas en el tema de No mantiene datos de un select... en el foro de PHP en Foros del Web. Consigo que mantenga los del input text pero no los del select :( Código PHP:  <input name="edad" id="f3" maxlength="2" size="6" value=" <?php  if (isset( $_POST [ 'edad' ])) echo  $_POST [ 'edad' ...
  #1 (permalink)  
Antiguo 21/05/2010, 11:56
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
No mantiene datos de un select...

Consigo que mantenga los del input text pero no los del select :(
Código PHP:
 <input name="edad" id="f3" maxlength="2" size="6" value="<?php if (isset($_POST['edad'])) echo $_POST['edad']; ?>"></div>
Funciona
Código PHP:

<select name="titulo" size="1" >
            <option value="<?php if (isset($_POST['titulo'])) echo $_POST['titulo']; ?>" selected="selected">Seleccione un título</option>
   <option value="<?php if (isset($_POST['titulo'])) echo $_POST['titulo']; ?>">M&aacute;ster Universitario de Educaci&oacute;n Secundaria Obligatoria, Bachillerato, Formaci&oacute;n Profesional y Ense&ntilde;anza de Idiomas</option>
   <option value="<?php if (isset($_POST['titulo'])) echo $_POST['titulo']; ?>">titulo2</option>
   <option value="<?php if (isset($_POST['titulo'])) echo $_POST['titulo']; ?>">titulo3</option>
</select>
No funciona
  #2 (permalink)  
Antiguo 21/05/2010, 12:50
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: No mantiene datos de un select...

Prueba con variables de sesion, ya que estas se conservan

En la parte superior de tu scripr pon esta linea, luego de la etiqueta de php
session_start();


Luego le das valor a una variable de sesion con uno de los envios post, y asi haces con todas

$_SESSION['ses_edad'] == $_POST['edad'];


Luego la metes en el option

<input name="edad" id="f3" maxlength="2" size="6" value="<?php if (isset($_SESSION['ses_edad'])) echo $_SESSION['ses_edad']; ?>">

<!-- Si te funciona hazlo asi, ocupa menos lugar, si session esta vacia le da value 0 automaticamente -->
<input name="edad" id="f3" maxlength="2" size="6" value="<?=$_SESSION['ses_edad']?>">


Si deseas que la session continue en otra pagina debes poner al principio:
session_start();


Otra cosa:

$_POST['titulo']

Si deseas insertar distintos titulos deberia ser $_POST['titulo1'] $_POST['titulo2'] etc



Otra cosa:
No le das un name="titulo1" (al que no te funciona)

Ves..?:

<option value="<?php if (isset($_POST['titulo'])) echo $_POST['titulo']; ?>" selected="selected">Seleccione un título</option>

Seria (ya usando $_SESSION['ses_titulo1'] como te dije):

<option name="titulo1" value="<?php if (isset($_SESSION['ses_titulo1'])) echo $_SESSION['ses_titulo1']; ?>" selected="selected">Seleccione un título</option>

0 asi, mas corto:

<option name="titulo1" value="<?=$_SESSION['ses_titulo1'] ?>" selected="selected">Seleccione un título</option>

Que recibiria asi, mas arriba:
$_SESSION['ses_titulo1'] = $_POST['titulo1'];





Buno, hay que arreglarlo bastante

Última edición por wiwi74; 21/05/2010 a las 13:04
  #3 (permalink)  
Antiguo 21/05/2010, 12:57
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: No mantiene datos de un select...

Intenta asi:


echo " selected" ?>

Código PHP:
<select name="titulo" size="1" >
            <option value=" ">Seleccione un título</option>
   <option value="1"<?php if ($_POST['titulo']=='1') echo " selected" ?>>M&aacute;ster Universitario de Educaci&oacute;n Secundaria Obligatoria, Bachillerato, Formaci&oacute;n Profesional y Ense&ntilde;anza de Idiomas</option>
   <option value="2"<?php if ($_POST['titulo']=='2') echo " selected" ?>>titulo2</option>
   <option value="3"<?php if ($_POST['titulo']=='3') echo " selected" ?>>titulo3</option>
</select>

Última edición por mindoata; 21/05/2010 a las 13:04

Etiquetas: select
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:43.