Foros del Web » Programando para Internet » PHP »

Error con variable que esta definida

Estas en el tema de Error con variable que esta definida en el foro de PHP en Foros del Web. Hola a todos, de nuevo yo esperando alguien me pueda ayudar. Tengo un inicio de sesion y cuando los usuarios estan creados los direcciona a ...
  #1 (permalink)  
Antiguo 17/03/2009, 23:25
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Error con variable que esta definida

Hola a todos, de nuevo yo esperando alguien me pueda ayudar. Tengo un inicio de sesion y cuando los usuarios estan creados los direcciona a unas paginas especificas, pero cuando no existe el usuario me sale el error de que la variable tipo_usuario no esta definida, pero esta variable si esta definida puesto que si el usuario existe lo redirecciona, no se que pueda pasar ahi, espero me ayuden, gracias.

Código PHP:
<?php
$login
=$_POST['login'];
$contrasena=$_POST['contraseña'];

function 
Conectarse()
{
    if (!(
$link=mysql_connect("localhost","paola","hola")))
    {
        echo 
"Nombre de Usuario o Contraseña Errada <br>";
        exit();
    }
    if (!
mysql_select_db("gestion_notas",$link))
    {
        echo 
"Error Seleccionando La Base De Datos <br>";
        exit();
    }
    return 
$link;
}

$link=Conectarse();
//echo "Conexión Con La Base De Datos Conseguida <br>";

// mysql_close($link); //cierra la conexion

$sql=("SELECT * FROM usuario WHERE nom_usuario='$login' and contrasena='$contrasena'");
$result=mysql_query($sql);

// Contamos el numero de filas
$count=mysql_num_rows($result);
//Si el resultado marcado es $minombre y $contraseña,debería haber solo una fila

if($count==1){
$col=mysql_fetch_row($result);
      
$tipo_usuario=$col[3]; 
      
echo 
"El Usario Existe y es de tipo:  ";
echo 
$tipo_usuario;
}
else {
 echo 
"El Usuario No Existe o La Contraseña Está Errada <br> Por Favor Intente Nuevamente";
 }
 
if (
$tipo_usuario=="secretaria") {
echo 
'<script languaje="Javascript">location.href="direccion a la que va"</script>';

}

if (
$tipo_usuario=="profesor") {
echo 
'<script languaje="Javascript">location.href="direccion a la que va"</script>';
}

if (
$tipo_usuario=="administrador") {
echo 
'<script languaje="Javascript">location.href="direccion a la que va"</script>';
}
     
     else {
     echo 
"";
}

?>
  #2 (permalink)  
Antiguo 18/03/2009, 02:20
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: Error con variable que esta definida

El error está en que cuando $count != 1 salta al else, lo ejecuta y posteriormente sigue ejecutandose la siguiente sentencia:

if ($tipo_usuario=="secretaria") {
echo '<script languaje="Javascript">location.href="direccion a la que va"</script>';
}

que como ves comprueba la variable $tipo_usuario, la cual no está definida
  #3 (permalink)  
Antiguo 18/03/2009, 13:35
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Error con variable que esta definida

Puedes decirme por favor que puedo hacer, como modificar ese condicional o donde colocarlo? Me seria de gran ayuda, gracias.
  #4 (permalink)  
Antiguo 18/03/2009, 15:34
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Error con variable que esta definida

Ya solucioné el inconveniente, antes del if definí la variable tipo_usuario=""; y funcionó a la perfección.
  #5 (permalink)  
Antiguo 18/03/2009, 15:35
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Error con variable que esta definida

Mete esos if ($tipo_usuario=="secretaria"), etc, dentro del if de $count == 1

Saludos


EDITADO: Bueno me alegro que solucionaste. :D
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
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 17:35.