Foros del Web » Programando para Internet » PHP »

dudas con un if...

Estas en el tema de dudas con un if... en el foro de PHP en Foros del Web. Buenas a todo el mundo. en el formulario de registro de nuevos usuarios en el sistema que estoy haciendo quiero hacer que en funcion del ...
  #1 (permalink)  
Antiguo 08/11/2010, 17:36
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 18 años, 4 meses
Puntos: 2
dudas con un if...

Buenas a todo el mundo.
en el formulario de registro de nuevos usuarios en el sistema que estoy haciendo quiero hacer que en funcion del perfil que tenga el usuario se em asigne un indice (level) especifico tal que: para el administrador es el 1, para los redactores es el 2, para los correctores el 3 y para los visitantes autorizados el 4. el codigo que tengo es
Código PHP:
<? 
// conexion a la base de datos
include ('opendb.php');

//inicio de la sesion
session_start ();

//recogida de los valores enviados desde el formulario: primero comprobamos que alguno de los campos no este vacio
$nombre $_POST["nombre"];
$user $_POST["user"];
$pass $_POST["pass"];
$perfil $_POST["perfil"];

// definicion de la variable level y asignacion del rango numerico
if ($perfil == "Administrador") {
    
$level == 1;
} if (
$perfil == "Redactor"){
    
$level == 2;
} if (
$perfil == "Corrector"){
    
$level == 3;
} else {
    
$level == 4;
}

//se insertan los datos en la tabla de la base de datos si es que quiere claro

$nuevousuario "INSERT INTO users (nombre, user, pass, perfil, level) VALUES ('$nombre', '$user', '$pass', '$perfil', '$level')";
mysql_query ($nuevousuario) or die (mysql_error ());

//desconectamos con la bbdd y volvemos al menu general

include ('../libreria/closedb.php');
header ("location:../users/");
?>
ahora cada vez que registro un nuevo usuario ademas de no incluir e perfil, tampoco me asigna el level adecuado...creo que el problema esta en los operadores logicos pero no tengo ni pajolera...como puedo hacer ademas, para que si no se cubre ninguno de los cuadros de texto del formulario el script me devuelva al este formulario.
  #2 (permalink)  
Antiguo 08/11/2010, 17:38
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: dudas con un if...

cuando asignas el valor a $level es con un solo operador igual es decir:
Bien
Código PHP:
Ver original
  1. $level = 1;
Mal
Código PHP:
Ver original
  1. $level == 1;
elresto alparecer esta bn
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #3 (permalink)  
Antiguo 08/11/2010, 17:44
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 18 años, 4 meses
Puntos: 2
Respuesta: dudas con un if...

Pues sigue sin funcionar: cuando meto un usuario con el perfil de Redactor, me agrega en la tabla el usuario con level 4...
  #4 (permalink)  
Antiguo 08/11/2010, 17:48
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: dudas con un if...

pon tu codigo de tu archivo html o donde este el formulario...
ademas mira que te esta llegando en $_POST["perfil"], supongo que tienes un checkbox..
postea el codigo para poderte apoyar
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x

Última edición por malakian; 08/11/2010 a las 17:54
  #5 (permalink)  
Antiguo 08/11/2010, 17:58
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 18 años, 4 meses
Puntos: 2
Respuesta: dudas con un if...

Este es el codigo del formulario
Código:
<? include ('../libreria/opendb.php'); 
session_start (); ?>
<html>
<head>
<link href="../css/css.css" rel="stylesheet" type="text/css">
</head>
<body>
	<div class="container">
		<div class="login">
        	<div id="login_inner">
        	  <form action="../libreria/usuarionuevo.php" method="POST">
              <table width="340px" align="center">
              		<tr>
                    	<td colspan="2" align="justify">Bienvenido <? echo '' .$_SESSION["nombre"]; ?>. Aqui puedes agregar un nuevo usuario al Sistema. Rellena todos los datos y define en perfil del nuevo usuario.</td>
                    </tr>
                    <tr>
                    	<td width="20%" align="right">Nombre:</td>
                        <td><input type="text" name="nombre" size="30"></td>
                    </tr>
                    <tr>
                    	<td width="20%" align="right">User:</td>
                        <td><input type="text" name="user" size="30"></td>
                    </tr>
                    <tr>
                    	<td width="20%" align="right">Password:</td>
                        <td><input type="password" name="pass" size="30" ></td>
                    </tr>
                    <tr>
                    	<td width="20%" align="right">Perfil:</td>
                        <td width="40%"><select name="perfil">
   					 <option value="Administrador">Administrador</option>
  					 <option value="Redactor">Redactor</option>
                     <option value="Corrector">Corrector</option>
                     <option value="Visitante">Visitante</option>
			 				 </select>
                        </td>
                        <td width="40%" align="left"><input type="submit" name="submit" value="Enviar"></td>
                    </tr>
                 </table>
                 </form>
             </div> 	
        </div>
    </div>
</body>
</html>
  #6 (permalink)  
Antiguo 08/11/2010, 18:06
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: dudas con un if...

ya encontre el error, el problema si esta en el condicional, intenta esto
Código PHP:
Ver original
  1. if ($perfil == "Administrador") {
  2.     $level = 1;
  3. }elseif ($perfil == "Redactor"){
  4.     $level = 2;
  5. }elseif ($perfil == "Corrector"){
  6.     $level = 3;
  7. } else {
  8.     $level = 4;
  9. }
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #7 (permalink)  
Antiguo 08/11/2010, 18:11
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 18 años, 4 meses
Puntos: 2
Respuesta: dudas con un if...

perfecto¡¡ gracias¡¡ no se como va lo del karma ese pero te lo mereces
  #8 (permalink)  
Antiguo 08/11/2010, 18:22
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: dudas con un if...

click en el Ying Yang ajajajajajajaja...

es broma!!
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x

Etiquetas: Ninguno
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 23:13.