PHP - Problemas con la verificación de usuarios en modulo de login.

 
Vista:
Imágen de perfil de Paxarin

Problemas con la verificación de usuarios en modulo de login.

Publicado por Paxarin (40 intervenciones) el 13/08/2012 21:14:46
Muy buenas.
Hace como dos semanas que cree un modulo para el acceso a la zona privada (por llamarlo de alguna forma) de mi web, debo decir que en php todabia no tengo mucha experiencia.
Por alguna causa que no consigo saber ya que lei tutoriales al respecto y todo lo que aparecia en internet este modulo siempre me da un error en la pagina de verificación del usuario (verificar.php), cosa que nunca me ocurrio en mi localhost (uso xampp) y los errores que me da son los siguientes:

Warning: Cannot modify header information - headers already sent by (output started at /home/tutoraco/public_html/verificar.php:1) in /home/tutoraco/public_html/verificar.php on line 21

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/tutoraco/public_html/verificar.php:1) in /home/tutoraco/public_html/verificar.php on line 22

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/tutoraco/public_html/verificar.php:1) in /home/tutoraco/public_html/verificar.php on line 22

Warning: Cannot modify header information - headers already sent by (output started at /home/tutoraco/public_html/verificar.php:1) in /home/tutoraco/public_html/verificar.php on line 25

Revise que no existieran espacios entre <?php y ?>.
Que no existiera ningun echo antes de que se envie las cabeceras.
Y hasta lo que yo entiendo y pregunte no existe ningun fallo.
Por favor alguien podria ayudarme?
Os dejo el codigo.
Verificar.php
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
<?php
//Verificamos que las variables contengan datos
if (isset($_POST["usuario"],$_POST["clave"])){
    //conexion con el servidor
    include("conexion.php");
 
    //Limpiar datos para evitar SQL Inyection
    $usuario=mysql_real_escape_string($_POST["usuario"]);
    $clave=mysql_real_escape_string($_POST["clave"]);
    //encriptar la contraseña
  	$salt='cualquiera que sea';
  	$encPass=md5($clave.md5($salt));
 
    //consultamos la información
    $rst_usuarios=mysql_query("SELECT * FROM usuario WHERE usrlogin='".$usuario."' AND usrclave='".$clave."'",$conexion);
 
    //Contamos cantidad de resultados
    $num_registros=mysql_num_rows($rst_usuarios);
    if($num_registros>0){
		$fila=mysql_fetch_array($rst_usuarios);
		setcookie("usuario_nombre",$fila["usrlogin"]);
		session_start();
		$_SESSION["usuario"]=$fila["usrclave"];
        //mostrar pagina del menu
        header("location:menu.php");}
        else{echo "El usuario o la contrase&ntilde;a no es valido";}
    mysql_close($conexion);
 
}
?>

Y este verificar_sesion.php
1
2
3
4
5
6
7
<?php
session_start();
//verifica si el usuario creo una sesion, si no es asi lo redirecciona al index
if ($_SESSION["usuario"]=="")
//creamos la variable nosesion=1 para luego en el index sacar un mensaje de error.
header("location:index.php?nosesion=1");
?>

Una vez verificado el usuario se accede al menu.php en el cual en la parte superior existe un campo con el nombre del usuario y la contraseña que se recoje desde las cookie´s.
Por favor necesito que alguien me aclare que es lo que sucede.
Gracias nuevamente.
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
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

Problemas con la verificación de usuarios en modulo de login.

Publicado por xve (6935 intervenciones) el 14/08/2012 08:19:39
Hola Paxarin, puede ser que esto <?php no sea la primera linea de la pagina?? es lo único que se me ocurre...

Si cuando te da el error revisas el código fuente desde el navegador, hay algo antes de los errores?
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 paxarin

Problemas con la verificación de usuarios en modulo de login.

Publicado por paxarin (40 intervenciones) el 14/08/2012 11:16:52
La verdad que verifique que no existan espacios y campos vacios antes de <?php ?> tanto con el block de notas como con un editor de php y aparece nada de nada.
Esto es increible la verdad. Ya no se que hacer.
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

Problemas con la verificación de usuarios en modulo de login.

Publicado por xve (6935 intervenciones) el 14/08/2012 15:08:13
Si haces ver código fuente en el navegador que te aparece?

Podria ser que el archivo conexion.php si tuviera espacios o lineas en blanco antes del tag <?php ??
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 paxarin

Problemas con la verificación de usuarios en modulo de login.

Publicado por paxarin (40 intervenciones) el 14/08/2012 17:32:48
Aparentemente no aparece ningun espacio. de todas formas si huviera algun espacio no funcionaria conexion.php, no?
Si introduzco un user y pass que no sean correcto me da el mensaje de error de usuario.
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 Paxarin

Problemas con la verificación de usuarios en modulo de login.

Publicado por Paxarin (40 intervenciones) el 14/08/2012 18:19:47
Muy buenas.
Gracias a google docs comprobe que efectivamente por algun extraño motivo me estaban apareciendo unos caracteres delante de <?php en conexion.php y verificar.php
Y lo mejor es que ahora me aparece
500 Internal Server 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