Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/09/2010, 05:33
Avatar de OsSk4R
OsSk4R
 
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Controlar usuario inexistente en BD

Buenas de nuevo,

He estado observando más atentamente tu código, y me he percatado que lo que tenias en un principio "estaba bien". O sea, no hacía falta añadir lo que te comente...

He dejado tu código así y funciona:

Código PHP:
Ver original
  1. <?php
  2.  
  3. include("include/cons.php");
  4. include_once("include/inctexteadmin.php");
  5.  
  6.  
  7. $login = htmlspecialchars(trim($_POST['login']));
  8. $pass = md5(trim($_POST['pass']));
  9.  
  10.  
  11.    
  12.     $query = sprintf("SELECT id_usuari, password, codi, sam, clau_permis, clau_idioma, deshabilitat FROM usuaris WHERE codi='".$login."' and password='".$pass."'");
  13.    
  14.    
  15.     $result=mysql_db_query($database,$query,$link) or die (mysql_error());
  16.     if (mysql_num_rows($result)>0){
  17.  
  18.         $array=mysql_fetch_array($result);
  19.        
  20.             $_SESSION["id_usuari"]=$array["id_usuari"];
  21.             $_SESSION["codi"]=$array["codi"];
  22.             $_SESSION["password"]=$array["password"];
  23.             $_SESSION["sam"]=$array["sam"];
  24.             $_SESSION["clau_permis"]=$array["clau_permis"];
  25.             $_SESSION["clau_idioma"]=$array["clau_idioma"];
  26.             $_SESSION["deshabilitat"]=$array["deshabilitat"];
  27.            
  28.             $idioma = $_SESSION["clau_idioma"];
  29.             if ($idioma == 1){
  30.             if ($idioma == 1){
  31.                 $_SESSION["idioma"] = "cs";
  32.             }else{
  33.                 $_SESSION["idioma"] = "ct";
  34.             }
  35.             $_SESSION["idiomes"] = "cs,ct";
  36.            
  37.             $deshabilitat = $_SESSION["deshabilitat"];
  38.                
  39.             if ($deshabilitat == 1){
  40.             ?>
  41.                 <script language="JavaScript" type="text/JavaScript">
  42.                 <!--
  43.    
  44.                 alert('<?=texte($_SESSION["idioma"],"txtdeshabilitat")?>');
  45.                 top.location = "index.php";
  46.    
  47.                 -->
  48.                 </script>
  49.             <?php
  50.             }
  51.             @header("Location:main.php");
  52.          
  53.     }else{
  54.         echo "<script language='JavaScript'> alert('Login INCORRECTE');</script>";
  55.         echo "<SCRIPT LANGUAGE='JavaScript'> location.href='index.php'; </SCRIPT>";
  56.         }
  57.    
  58. ?>

Eso sí, cuando los datos eran los correctos... marcaba un error de cabecera en header (Warning: Cannot modify header information - headers already sent by...). No se si lo sabes, pero eso es un problema debido a que estas enviando antes de header, contenido y, antes de header, session_start... no puede haber nada. Ni un espacio en blanco siquiera.

Te lo he suprimido con el operador @. Se que no es lo más adecuado, pero bueno...

Saludos,