Foros del Web » Programando para Internet » PHP »

Asignar valor a campo de form

Estas en el tema de Asignar valor a campo de form en el foro de PHP en Foros del Web. Presenté esta pregunta hace unos días, pero no conseguí resolverla, a ver si podéis echarme una mano. Tengo un formulario y necesito que al indicar ...
  #1 (permalink)  
Antiguo 21/08/2011, 11:09
Avatar de Lutaj  
Fecha de Ingreso: septiembre-2007
Ubicación: Sevilla
Mensajes: 97
Antigüedad: 16 años, 7 meses
Puntos: 3
Asignar valor a campo de form

Presenté esta pregunta hace unos días, pero no conseguí resolverla, a ver si podéis echarme una mano.
Tengo un formulario y necesito que al indicar la edad, en el campo siguiente (categoría) se asigne el valor correspondiente según unas condiciones: de 0 a 18 = juvenil; de 19 a 30 = sénior; y de 31 en adelante = veterano.
Aquí os dejo el código que tengo actualmente, no consigo que me funcione. A partir de la línea 58 está el meollo. Gracias !!

Código PHP:
Ver original
  1. <?php
  2. $state = false;
  3. if ($_POST['action'] == "add") {  
  4.     $conexion = mysql_connect("mysqlhost5", "622862_lutaj", "ltapia");
  5.     mysql_select_db("622862_corpor", $conexion);
  6.      
  7. $que = "INSERT INTO circuito (categoria, apellidos, nombre, sexo, edad, localidad, club, email, referencia) ";
  8. $que.= "VALUES (
  9. '".$_POST['categoria']."',  
  10. '".$_POST['apellidos']."',  
  11. '".$_POST['nombre']."',  
  12. '".$_POST['sexo']."',  
  13. '".$_POST['edad']."',  
  14. '".$_POST['localidad']."',  
  15. '".$_POST['club']."',  
  16. '".$_POST['email']."',
  17. '".$_POST['referencia']."') ";
  18. $res = mysql_query($que, $conexion) or die(mysql_error());
  19. $state = true;
  20. }
  21. ?>
  22.  
  23.  
  24. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  25. <html>
  26.     <head>
  27.         <title>CIRCUITO/ inscripciones paso3</title>
  28.         <link rel="stylesheet" type="text/css" href="css/layout.css">
  29.     </head>
  30.      
  31.     <body>
  32.  
  33.         <div id="content">
  34.  
  35.             <?  
  36.             if (!$HTTP_POST_VARS){  
  37.             ?>  
  38.  
  39.             <form name="frm" method="post" action="" >  
  40.  
  41.                 <p>Referencia pago:&nbsp;&nbsp;&nbsp;
  42.                 <input name="referencia" type="text" id="referencia" size="34" onkeyup="this.value=this.value.toUpperCase()" />
  43.                 </p>
  44.                  
  45.                 <p>Apellidos:
  46.                 <input name="apellidos" type="text" id="apellidos" size="40" />
  47.                 </p>
  48.                  
  49.                 <p>Nombre:
  50.                 <input name="nombre" type="text" id="nombre" size="40" />
  51.                 </p>
  52.                  
  53.                 <p>Sexo:
  54.                 <input type="radio" name="sexo" value="H" checked />Hombre
  55.                 <input type="radio" name="sexo" value="M"/>Mujer
  56.                 </p>
  57.                  
  58.                 <p>Fecha nacimiento:
  59.                 <input type="text" name="edad" id="edad" size="34" />
  60.    
  61.                   <?
  62.                   if(isset($_POST['submit'])) {
  63.                   $edad = $_POST['edad'];  
  64.  
  65.                   // Detectamos la edad y cargamos el valor de la categoria
  66.                   if( $edad < 18) {
  67.                     $categoria = "Sénior"; }
  68.                   } elseif ($edad >= 18 && $edad <= 30) {
  69.                     $categoria = "Veterano A";
  70.                   } else {
  71.                      $categoria = "Veterano B";
  72.                   }
  73.                    
  74.                   ?>
  75.  
  76.                 </p>
  77.              
  78.                 <p>Localidad:
  79.                 <input name="localidad" type="text" id="localidad" size="40" />
  80.                 </p>
  81.                  
  82.                 <p>Club:
  83.                 <input name="club" type="text" id="club" size="40" />
  84.                 </p>  
  85.                  
  86.                 <p>Email:
  87.                 <input name="email" type="text" id="email" size="40" />
  88.                 </p>                
  89.              
  90.                   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  91.                   <input type="submit" name="Submit" value="Inscribirme" />
  92.                   <input type="hidden" name="action" value="add" />
  93.  
  94.                   <?php
  95.                      
  96.                 }else{  
  97.                     //Estoy recibiendo el formulario, compongo el cuerpo  
  98.                     $cuerpo = "DATOS DE TU INSCRIPCIÓN:\n\n";  
  99.                     $cuerpo .= "Carrera: " . $HTTP_POST_VARS["carrera"] . "\n";  
  100.                     $cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";  
  101.                     $cuerpo .= "Apellidos: " . $HTTP_POST_VARS["apellidos"] . "\n";  
  102.                     $cuerpo .= "Edad: " . $HTTP_POST_VARS["edad"] . "\n";  
  103.                     $cuerpo .= "Localidad: " . $HTTP_POST_VARS["localidad"] . "\n";  
  104.                     $cuerpo .= "Categoria: " . $HTTP_POST_VARS["categoria"] . "\n";  
  105.                     $cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";  
  106.                     $cuerpo .= "Club: " . $HTTP_POST_VARS["club"] . "\n";  
  107.                     $headers = "From: Circuito <[email protected]>\r\n";  
  108.  
  109.                       echo "<div align='center'><br /><br /><br /><br /><br /><p><h3>Estamos registrando tu inscripción.<br />
  110.                     Recibirás un correo de confirmación en la cuenta que nos has facilitado.</h3></div>";      
  111.                     //mando el correo...  
  112.                     mail($email,"Inscripcion al Circuito",$cuerpo,$headers);  
  113.                     echo "<br><br><br><br>";  
  114.                 }  
  115.                  
  116.                 ?>  
  117.  
  118.             </form>
  119.  
  120.         </div>
  121.          
  122.     </body>
  123. </html>
  #2 (permalink)  
Antiguo 21/08/2011, 11:39
 
Fecha de Ingreso: febrero-2011
Mensajes: 111
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Asignar valor a campo de form

Que quieres, que si en edad pongan 18, automaticamente en sql, la columna categoria te asigne solo juvenil?


PD: borra las conexiones :)
  #3 (permalink)  
Antiguo 21/08/2011, 11:52
Avatar de Lutaj  
Fecha de Ingreso: septiembre-2007
Ubicación: Sevilla
Mensajes: 97
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Asignar valor a campo de form

Sí, la idea es que según la edad que se introduzca en el campo edad, al campo "categoría" se le asigne un valor.
Los datos que doy son un ejemplo: de 0 a 18 de edad la categoría sería "juvenil", si se introduce entre 19 y 30, la categoría sería "senior"; y si se introduce entre 31 en adelante, la categoría sería "veterano".
Este formulario se usará en diversos sitios y seguro habrá que ir modificando este escalado, pero como ejemplo me vale.

Ups! Es cierto me olvidé borrar las conexiones, ¿cómo las borro ahora? No veo cómo puedo volver al mensaje original.
Gracias.

Última edición por Lutaj; 21/08/2011 a las 11:54 Razón: Añado más información
  #4 (permalink)  
Antiguo 21/08/2011, 11:55
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Asignar valor a campo de form

Cita:
Se introdujo $_POST y $HTTP_POST_VARS quedó obsoleto.
Te recomiendo que no uses $HTTP_POST_VARS, reemplazalo por $_POST
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 21/08/2011, 11:59
Avatar de Lutaj  
Fecha de Ingreso: septiembre-2007
Ubicación: Sevilla
Mensajes: 97
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Asignar valor a campo de form

Es cierto que está obsoleto, pero he probado a quitarlo y me falla el envío del form (no sé por qué), así que mejor lo dejo.
De todos modos no creo que ése sea el fallo, más bien parece que las llaves del código no pasan de la primera opción del if.
  #6 (permalink)  
Antiguo 22/08/2011, 04:12
 
Fecha de Ingreso: febrero-2011
Mensajes: 111
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Asignar valor a campo de form

Código PHP:
   <? 
                  
if(isset($_POST['submit'])) { 
                  
$edad $_POST['edad'];  
 
                  
// Detectamos la edad y cargamos el valor de la categoria 
                  
if( $edad 18) { 
                    
$categoria "Sénior"; } 
                  } elseif (
$edad >= 18 && $edad <= 30) { 
                    
$categoria "Veterano A"
                  } else { 
                     
$categoria "Veterano B"
                  } 
                   
                  
?>
Pero ese codigo es el que te da la categoria, que segun dices no te funciona




Prueba con este que hice.
Código PHP:
<?
$edad 
$_POST['edad'];

  if( 
$edad 19) { 
  
    
$categoria "Juvenil"; } 
    
    elseif (
$edad 18 && $edad 31 ) {
    
    
$categoria "Sénior"; }
    
    elseif (
$edad 30) {
    
$categoria "Veterano";}
    
    else {
    
$categoria "Nulo" ;};
    
    
                    
     
?>

Última edición por rimander; 22/08/2011 a las 04:26

Etiquetas: html, mysql, sql, formulario, campos
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 22:00.