PHP - Internet Explorer no autentica usuario

 
Vista:

Internet Explorer no autentica usuario

Publicado por Miguel (17 intervenciones) el 27/03/2013 21:32:19
Buenas,

Estoy diseñando una autenticación de usuario en php que recoge datos de una base de datos en MySql. Funciona perfectamente con Mozilla y Google Chrome pero el maldito I Explorer no permite la autenticación y me devuelve siempre a la página de ingreso de datos.

A ver si alguien puede ayudarme.

La página en cuestión es:
http://www.xocodirectoriogalicia.es/usuarios.php


Y el código que controla la autenticación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}
 
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
 
if (isset($_POST['email'])) {
  $loginUsername=$_POST['email'];
  $password=$_POST['password'];
  $MM_fldUserAuthorization = "control";
  $MM_redirectLoginSuccess = "administrador.php";
  $MM_redirectLoginFailed = "mal.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_empresas, $empresas);
 
  $LoginRS__query=sprintf("SELECT email, password, control FROM usuarios WHERE email='%s' AND password='%s'",
  get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
 
  $LoginRS = mysql_query($LoginRS__query, $empresas) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
 
    $loginStrGroup  = mysql_result($LoginRS,0,'control');
 
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;
 
 
    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>



Y los datos se insertan con:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<form ACTION="<? echo ($_SERVER[PHP_SELF])?>" id="form3" name="form3" method="POST">
          <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
            <tr>
              <td colspan="3"><div align="center"><span class="Estilo24 Estilo25 Estilo28">INTRODUCE TUS DATOS DE USUARIO: </span></div></td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td class="TestoDescripcion">Correo:</td>
              <td><input name="email" type="text" id="email" /></td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td class="TestoDescripcion">Contrase&ntilde;a:</td>
              <td><input name="password" type="password" id="password" /></td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td width="31%"><div align="right"></div></td>
              <td width="14%"><div align="right"></div></td>
              <td>
                <div align="left">
                  <input type="submit" name="Submit22" value="Enviar Datos" />
              </div>                <div align="right"></div>              <div align="right"></div></td>
              <td width="1%"><div align="right"></div></td>
            </tr>
          </table>
        </form>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Internet Explorer no autentica usuario

Publicado por Alexis Ochoa (92 intervenciones) el 28/03/2013 04:26:30
Saludos,

acabo de hacer la prueba con Chrome e IE y en ambos casos obtuve el mismo resultado en usuarios.php

1
Usuario o contraseña incorrecotos


Con esto, no entiendo en sí cual es el error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Internet Explorer no autentica usuario

Publicado por Gracias por la respuesta pero... (17 intervenciones) el 28/03/2013 10:27:50
Muchas gracias por tú respuesta Alexis,

He detectado que no has dado de alta datos de usuario para probar el sistema. Es evidente que sin datos de usuario siempre (en cualquier navegador) te va a devolver el error que comentas.

El problema surge cuando intentamos entrar con las claves previamente dadas de alta. En Mozilla y Chrome funciona bien, en IE no.

Te dejo unas claves de usuario que puedes utilizar para probar:

email: [email protected]
contraseña: 1234

Muchas gracias

romay2001
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Internet Explorer no autentica usuario

Publicado por xve (6935 intervenciones) el 28/03/2013 08:18:41
Hola Miguel, la parte del código que se ejecuta en el servidor, funciona igual para cualquier navegador, por lo que descarto que sea problema del código PHP, y el código HTML, lo veo bien, no tiene nada de especial que no le guste al IE.

Prueba a ver que los datos lleguen bien el PHP.. por algo así después de crear la query:
1
exit($LoginRS__query);

De esta manera veremos que parámetros esta recibiendo.

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Internet Explorer no autentica usuario

Publicado por Autenticación con Explorer SOLUCIONADO (17 intervenciones) el 28/03/2013 10:39:26
Buenas,

Muchas gracias Xve por la sugerencia, la verdad es que no la he probado porque ya di con la solción al darme cuenta de que me faltaba probar una cosa.

Lo he solucionado poniendo al formulario de ingreso de email y contraseña el tipo de codificación multipart/form-data.

Parece ser que a Mozilla y Chrome esta indicación no le importa pero a Explorer sí que le causa problemas si no se indica así.

Bueno, era una tontería pero espero que sirva a alguien a quien le surja la misma problematica.

Un saludo


romay2001
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Internet Explorer no autentica usuario

Publicado por xve (6935 intervenciones) el 28/03/2013 19:46:19
Muchas gracias por comentarlo... no había pensado en eso... aunque el formato multipart/form-data es utilizado para enviar desde un formulario datos que contienen ficheros o caracteres no ASCII....
http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2

Pero puede ser que estos de Microsoft, como siempre dando problemas a los desarrolladores de Internet...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar