Foros del Web » Programando para Internet » PHP »

Problema PHP con navegadores

Estas en el tema de Problema PHP con navegadores en el foro de PHP en Foros del Web. ¡Hola! Tengo un problema que nunca me había pasado, y es que, con mi sistema de usuarios (por Cookies) solamente me deja iniciar sesión en ...
  #1 (permalink)  
Antiguo 06/10/2010, 07:34
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Problema PHP con navegadores

¡Hola!

Tengo un problema que nunca me había pasado, y es que, con mi sistema de usuarios (por Cookies) solamente me deja iniciar sesión en Firefox, en IExplorer no funciona... ¿saben a que se puede deber?

Muchas gracias.

Saludos
  #2 (permalink)  
Antiguo 06/10/2010, 07:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema PHP con navegadores

Cita:
Iniciado por Ueki Ver Mensaje
¡Hola!

Tengo un problema que nunca me había pasado, y es que, con mi sistema de usuarios (por Cookies) solamente me deja iniciar sesión en Firefox, en IExplorer no funciona... ¿saben a que se puede deber?

Muchas gracias.

Saludos
Creo que tienes un error en la línea 23.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 06/10/2010, 07:51
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Problema PHP con navegadores

Ehm...bueno...

Realmente no sé donde está el error, pero no he puesto código porque pensé que podría ser simplemente algún fallo general.

En fin, gracias igual
  #4 (permalink)  
Antiguo 06/10/2010, 07:52
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema PHP con navegadores

No lo tomes a mal, fue una broma, indica que haz hecho para que se te pueda ayudar mejor
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 06/10/2010, 07:54
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Problema PHP con navegadores

Ok, disculpa mi modo, como se sabe...a veces las cosas por la red se malinterpretan.

Código PHP:
Ver original
  1. <?php
  2. include('conectar.php'); // Incluimos el archivo que tiene la coneccion a la base de datos
  3. //Seleccionamos en la tabla usuarios de la base de dato la fila del usuario introducido en el formulario.
  4. $query = mysql_query("SELECT * FROM usuarios WHERE usuario='".mysql_escape_string($_POST['user'])."'");
  5. $datos = mysql_fetch_array($query);
  6. // Comprobamos si la contraseña introducida en el formulario es igual a la que ese usuario usó para registrarse.
  7. if(mysql_escape_string($datos['contrasena']) == md5(mysql_escape_string($_POST['contrasena']))){
  8. // Si es cierto creamos las cookies.
  9. setcookie("user",$datos['usuario'],time()+3600); // Cookie del usuario
  10. setcookie("contrasena",$datos['contrasena'],time()+3600); // Cookie de la contraseña.
  11. // Ahora se le manda de nuevo al índex.
  12. header("location: index.php");
  13. }
  14. else{
  15. // Si no son correctos los datos, avisamos para que vuelvan a intentarlo.
  16. echo '<script>alert("Error: Usuario o contraseña incorrectos"); window.location = "index.php";</script>';
  17. }
  18. ?>

Este es mi entrar.php, el lugar a donde me redirecciona el formulario de login. Si no es aquí, también puede ser en el mismo formulario de login:

Código HTML:
Ver original
  1. <form method="POST" action="/entrar.php">
  2. <p>Usuario:<br>
  3. <input type="text" name="user" size="20"><br>
  4. Contrase&ntilde;a:<br> 
  5. <input type="password" name="contrasena" size="20"><br>
  6. <input type="submit" value="OK" name="OK"></p>
  7. </form><br>

Gracias ^^
  #6 (permalink)  
Antiguo 06/10/2010, 08:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema PHP con navegadores

Cambia el sistema para que sea por sesiones. Trata de esta forma
Código PHP:
Ver original
  1. <?php
  2. include('conectar.php');
  3. $query = mysql_query("SELECT * FROM usuarios WHERE usuario='".mysql_escape_string($_POST['user'])."'");
  4. $datos = mysql_fetch_array($query);
  5.  
  6. if($datos['contrasena'] == md5($_POST['contrasena'])){
  7.     $_SESSION["user"] = $datos['usuario'];
  8.     $_SESSION["contrasena"] = $datos['contrasena'];
  9.     header("location: index.php");
  10. }else{
  11.     header( "refresh:3;url=entrar.php" );
  12.     echo 'Error en la contraseña intenta de nuevo. Si no te redirecciona en 3 segundos <a href="entrar.php">pulsa aquí</a>';
  13. }
No necesitas en las condiciones usar la función mysql_real_escape_string.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 06/10/2010, 08:04
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Problema PHP con navegadores

Voy a probar, muchas gracias.
Una duda con sesiones, el session_start() se pone siempre ¿al inicio del código o de la página?
  #8 (permalink)  
Antiguo 06/10/2010, 08:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema PHP con navegadores

Así es
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 06/10/2010, 08:10
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Problema PHP con navegadores

Al probar con las sesiones me da el siguiente fallo:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/ampaciam/domains/ampaciamaria.es/public_html/entrar.php:1) in /home/ampaciam/domains/ampaciamaria.es/public_html/entrar.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/ampaciam/domains/ampaciamaria.es/public_html/entrar.php:1) in /home/ampaciam/domains/ampaciamaria.es/public_html/entrar.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /home/ampaciam/domains/ampaciamaria.es/public_html/entrar.php:1) in /home/ampaciam/domains/ampaciamaria.es/public_html/entrar.php on line 11
  #10 (permalink)  
Antiguo 06/10/2010, 08:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema PHP con navegadores

Lee esto http://www.forosdelweb.com/wiki/PHP:...lready_sent%3F
y esto http://www.forosdelweb.com/wiki/PHP:...n_line_4%22%3F
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 06/10/2010, 08:13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Problema PHP con navegadores

Oki, ya lo arreglé, muchísimas gracias, ya si funciona, no sabía que Explorer no permitía COOKIES.

Muchas gracias nuevamente.
  #12 (permalink)  
Antiguo 06/10/2010, 08:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema PHP con navegadores

Explorer si permite cookies, debe ser la forma como la estás almacenando. Las sesiones por defecto en la configuración del php.ini se guarda el SID en un cookie. Si le haces un var_dump($_COOKIES) veras todos los cookies almacenados por tu aplicación. El problema lo más probable es que tiene almacenado en el cache la información y no la está refrescando por eso no te está funcionando correctamente lo de los cookies con IE. Borra el cache y trata de nuevo tu código a ver si funciona. Aunque lo recomendable es usar sesiones.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 06/10/2010, 08:35
 
Fecha de Ingreso: octubre-2009
Mensajes: 240
Antigüedad: 14 años, 6 meses
Puntos: 6
Respuesta: Problema PHP con navegadores

Hola, yo tengo un sitio que hace un par de dias dejo de funcionar el almacenamiento de cookies en el explorer y en chrome, solo andan las cookies en firefox (antes de eso funcionaba perfecto en todos).
Ya he visto algunos post comentando esto, así que algo hubo.
Saludos.

Etiquetas: navegadores
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 13:09.