Foros del Web » Programando para Internet » PHP »

Problemas para recoger una variable por radio button con php+sql

Estas en el tema de Problemas para recoger una variable por radio button con php+sql en el foro de PHP en Foros del Web. Hola saludos. Tengo un formulario en html5 y otra página en php+sql. El usuario escoge una de las tres opciones disonibles (CARREC) y luego se ...
  #1 (permalink)  
Antiguo 23/03/2014, 15:45
 
Fecha de Ingreso: marzo-2013
Mensajes: 36
Antigüedad: 11 años
Puntos: 1
Problemas para recoger una variable por radio button con php+sql

Hola saludos.
Tengo un formulario en html5 y otra página en php+sql.

El usuario escoge una de las tres opciones disonibles (CARREC) y luego se guarda 0, 1 o 2 en la base de datos (esa es la idea).
Solo he conseguido que se inserte 0 escoja cual escoja el usuario o error.
El resto de la información se inserta de forma deseada.
En la base de datos, carrec es siempre 0

adjunto el código

HTML

Código HTML:
Ver original
  1. <br />
  2.           <label>Carrec</label>            
  3.           <input type = "radio"
  4.                 name = "carrec"
  5.                 id = "btnadmin"
  6.                 value = "0"
  7.                 checked = "checked" />
  8.           <label for = "btnadmin">Administrador</label>
  9.          
  10.           <input type = "radio"
  11.                 name = "carrec"
  12.                 id = "btnprofe"
  13.                 value = "1" />
  14.           <label for = "btnprofe">Professor</label>
  15.  
  16.           <input type = "radio"
  17.                 name = "carrec"
  18.                 id = "btnalumne"
  19.                 value = "2" />
  20.           <label for = "btnalumne">Alumne</label>
  21. <br />

PHP

Código PHP:
Ver original
  1. function signup () {
  2.  
  3.         $nom=$_POST["nom_control"];
  4.         $password=$_POST["pass_control"];
  5.         $cognoms=$_POST["cog_control"];
  6.         $telefon=$_POST["tel_control"];
  7.         $mail=$_POST["mail_control"];
  8.         $carrec = $_POST["carrec"];
  9.         $dni = $_POST["dni"];
  10.  
  11.         if ($carrec = $_POST[0]) {
  12.  
  13.             $carrec = 0;
  14.         }
  15.  
  16.         if ($carrec = $_POST[1]) {
  17.  
  18.             $carrec = 1;
  19.         }
  20.  
  21.         if ($carrec = $_POST[2]) {
  22.  
  23.             $carrec = 2;
  24.         }
  25.        
  26.  
  27.         $password = md5($password);
  28.  
  29.         if(validarDNI($dni)){
  30.  
  31.             mysql_query("INSERT INTO usuaris (nom,cognom,usuari,DNI,carrec,password,telefon,mail) VALUES (\"$nom\",\"$cognoms\",'dasd',\"$dni\",\"$carrec\",\"$password\",\"$telefon\",\"$mail\")");
  32.                             header("location:paginaInici.php");
  33.         } else {
  34.  
  35.  
  36.             header("location:formulariRegistre.php?error=dni");
  37.  
  38.         }
  39.  
  40.     }

Toda ayuda sera bien recibida
Muchas gracias y saludos
  #2 (permalink)  
Antiguo 24/03/2014, 10:01
 
Fecha de Ingreso: junio-2011
Ubicación: Barcelona
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 17
Respuesta: Problemas para recoger una variable por radio button con php+sql

Buenos dias :) El problema lo tienes aqui:


Código PHP:
Ver original
  1. if ($carrec = $_POST[0]) {
  2.  
  3.             $carrec = 0;
  4.         }
  5.  
  6.         if ($carrec = $_POST[1]) {
  7.  
  8.             $carrec = 1;
  9.         }
  10.  
  11.         if ($carrec = $_POST[2]) {
  12.  
  13.             $carrec = 2;
  14.         }

Verificas si la variable es igual a ¿$_POST[2]?. $_POST[2] no tiene valor y de echo ni existe. Seria a si:

Código PHP:
Ver original
  1. if ($carrec = "0") {
  2.  
  3.         $carrec = 0;
  4. }
  5.  
  6. if ($carrec = "1") {
  7.  
  8.        $carrec = 1;
  9. }
  10.  
  11. if ($carrec = "2") {
  12.  
  13.        $carrec = 2;
  14. }

O utilizando switch.

Un saludo.
__________________
Twitter: @ed33x
  #3 (permalink)  
Antiguo 26/03/2014, 10:43
 
Fecha de Ingreso: marzo-2013
Mensajes: 36
Antigüedad: 11 años
Puntos: 1
Respuesta: Problemas para recoger una variable por radio button con php+sql

confirmado y funciona, muchas gracias por la ayuda!
una curiosidad, si quisiera hacerlo enves de tanto if con if, else if y else, como seria?

gracias!
  #4 (permalink)  
Antiguo 26/03/2014, 10:54
 
Fecha de Ingreso: junio-2011
Ubicación: Barcelona
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 17
Respuesta: Problemas para recoger una variable por radio button con php+sql

Utiliza switch aqui un ejemplo de tu code :P.

Código PHP:
Ver original
  1. switch ($carrec) {
  2.     case '0':
  3.         $carrec = 0;
  4.         break;
  5.  
  6.     case '1':
  7.         $carrec = 1;
  8.         break;
  9.  
  10.     case '3':
  11.         $carrec = 3;
  12.         break;
  13.    
  14.     default:
  15.         $carrec = "No tengo valor";
  16.         break;
  17. }
__________________
Twitter: @ed33x
  #5 (permalink)  
Antiguo 26/03/2014, 10:56
liranan
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas para recoger una variable por radio button con php+sql

Código PHP:
if ($carrec "0") {
         
$carrec 0;
}else if (
$carrec "1") {
        
$carrec 1;
}else if (
$carrec "2") {
        
$carrec 2;

o también

Código PHP:
switch($carrec){
     case 
"0":
          
$carrec=0;
          break;
     case 
"1":
          
$carrec=1;
          break;
     case 
"2":
          
$carrec=2;
          break;

  #6 (permalink)  
Antiguo 26/03/2014, 11:00
Avatar de wunderwaffen077  
Fecha de Ingreso: marzo-2014
Mensajes: 45
Antigüedad: 10 años, 1 mes
Puntos: 3
Respuesta: Problemas para recoger una variable por radio button con php+sql

La condicional "if" usa signo doble "=".

if ($carrec == "0")

Etiquetas: button, formulario, html, mysql, radio, recoger, sql, variable
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 18:19.