
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
Y este verificar_sesion.php
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.
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ñ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


0