Foros del Web » Programando para Internet » PHP »

Session con menu/lista

Estas en el tema de Session con menu/lista en el foro de PHP en Foros del Web. Buenos días. tengo el siguiente inconveniente tengo un formulario donde ademas tengo que poner las tallas de remeras 4,6,8,10,12 y lo quiero poner en en ...
  #1 (permalink)  
Antiguo 27/10/2008, 12:02
 
Fecha de Ingreso: noviembre-2007
Ubicación: san justo - santa fe
Mensajes: 31
Antigüedad: 17 años
Puntos: 0
Session con menu/lista

Buenos días. tengo el siguiente inconveniente
tengo un formulario donde ademas tengo que poner las tallas de remeras 4,6,8,10,12 y lo quiero poner en en menu.
el tema es que utilizo una session. todo lo demas me funciona perfecto pero no se como poner para que me carge el numeo elegido a la variable session.
ej: inscripcionhtml.php
Código PHP:
<label class="formulariotexto">Celular
  <input name="celular" type="text" id="celular" size="20" value="<?php if (isset($_SESSION['celular'])){ echo $_SESSION['celular']; } ?>"/>
  </label>
  <span class="textfieldRequiredMsg">Ingrse su Celular</span></span> <span class="formulariotexto">Talle de remera</span> 
  <label>
  <select name="talles" id="talles">
    <option value="4">4</option>
    <option value="6">6</option>
    <option value="8">8</option>
    <option value="10">10</option>
    <option value="12">12</option>
    </select>
  </label>
como podran ver una parte del codigo tengo el label Celular que recoje lo que el usuario escribio para la session. pero no se como utilizarlo en la lista de menu.

el archivo que ejecuta el formulario incripcion.php tengo:
Código PHP:
session_start(); 

$_SESSION['nombre'] = $_POST['nombre']; 
$_SESSION['nacimiento'] = $_POST['nacimiento']; 
$_SESSION['dni'] = $_POST['dni']; 
esto va guardando todo los datos en la session. como deberia poner la talla aqui?

y por ultimo en el mismo archivo inscripcion.php tegno armado lo que envia por mail:
Código PHP:
$cuerpo .= "Nombre y Apellido: " $_POST["nombre"] . "\n";
$cuerpo .= "Fecha de Nacimiento: " $_POST["nacimiento"] . "\n";
$cuerpo .= "D.N.I.: " $_POST["dni"] . "\n"
aqui como quedaria formado lo de las talla?

desde ya les agradezco su ayuda. y gracias por compartir sus conocimientos.
saludos
manuel
  #2 (permalink)  
Antiguo 27/10/2008, 18:44
 
Fecha de Ingreso: septiembre-2007
Mensajes: 52
Antigüedad: 17 años, 2 meses
Puntos: 2
Respuesta: Session con menu/lista

Cita:
Iniciado por manalesan Ver Mensaje
Buenos días. tengo el siguiente inconveniente (..)

todo lo demas me funciona perfecto pero no se como poner para que me carge el numeo elegido a la variable session.
Hola,

Si te entiendo correctamente, lo que quieres es que en tu campo tipo select, el talle que halla sido almacenado previamente en una sesión aparezca seleccionado cuando este formulario es mostrado de nuevo.

Hay muchas formas de resolver este problema, pero lo primero que se me ocurre es algo así:

Código PHP:
<?php

$celular 
= isset ($_SESSION['celular']) ? $_SESSION['celular'] : '';

?>
  <label class="formulariotexto">Celular
    <input name="celular" type="text" id="celular" size="20"
           value="<?php echo $celular?>"/>
  </label>

  <span class="textfieldRequiredMsg">Ingrese su Celular</span>
  <span class="formulariotexto">Talle de remera</span>
  <label>
    <select name="talles" id="talles">
<?php

$talles 
= array (4681012);

foreach (
$talles as $talle) {
    if (
$_SESSION['talles'] == $talle)
        
$atributos_extra ' selected="selected"';
    else
        
$atributos_extra '';

    echo 
"<option value=\"$talle\"$atributos_extra>$talle</option>\n";
}

?>
    </select>
  </label>
Es decir, no escribes directamente las etiquetas <option> como si fuera texto estático, porque entonces no tendrás oportunidad de agregarle el atributo 'selected' a la que quieras mostrar como preseleccionada.

En su lugar, imprimes esos <option> en un ciclo, y en cada paso del ciclo verificas si el valor <option> que vas a imprimir coincide con el valor de la sesión. Espero que sea claro, pero si no te parece, me cuentas.

Cita:
Iniciado por manalesan Ver Mensaje
el archivo que ejecuta el formulario incripcion.php tengo:
(..)
esto va guardando todo los datos en la session. como deberia poner la talla aqui?
Simplemente como otra variable más..

Código PHP:
$_SESSION['talles'] = $_POST['talles']; 
Algo similar ocurriría con el código que tienes en inscripcion.php para armar el cuerpo del e-mail. Es decir, simplemente usa $_POST['talles'].
  #3 (permalink)  
Antiguo 28/10/2008, 03:57
 
Fecha de Ingreso: noviembre-2007
Ubicación: san justo - santa fe
Mensajes: 31
Antigüedad: 17 años
Puntos: 0
Respuesta: Session con menu/lista

Exelente respueta mi querido amigo.
te comento que lo he solucionado de la siguiente manera.
Código PHP:
<option value="4" <? if ($_session['talle']==4){?>checked<? }?>>4</option>
<option value="6" <? if ($_session['talle']==4){?>checked<? }?>>6</option>
<option value="8" <? if ($_session['talle']==4){?>checked<? }?>>8</option>
etc..
y lo otro como lo pusiste vos.
Código PHP:
$_session['talle']=$_post['talle']; 
Funciona perfecto. de todos modos comprendi muy bien lo que me has comentado.
desde ya te agradezco por tu tiempo y respuesta.
Un saludos cordial.
atte manuel
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 14:13.