Foros del Web » Programando para Internet » PHP »

Problemas con el login

Estas en el tema de Problemas con el login en el foro de PHP en Foros del Web. hola, necesito ayuda urgente, he creado una validacion de usuario y contraseña para ello cuento con 4 archivos: el primero que es la pagina desde ...
  #1 (permalink)  
Antiguo 28/11/2007, 09:49
 
Fecha de Ingreso: abril-2007
Mensajes: 20
Antigüedad: 17 años
Puntos: 0
Problemas con el login

hola, necesito ayuda urgente, he creado una validacion de usuario y contraseña para ello cuento con 4 archivos:

el primero que es la pagina desde donde se loguea ingresando el password y la contraseña...

el segundo es donde conecto a la base de datos, se llama conexion.php...

el tercero es donde conecto a la base de datos (llamando al archivo conexion.php) y valido los datos, se llama validacion.php

... y el cuarto es el archivo que se muestra si el logueo es correcto. Pero tengo problemas con el tercero (donde conecto a la base de datos y valido los datos) porque me sales estos dos errores:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\webs\home\socios\validacion.php:4) in C:\webs\home\socios\validacion.php on line 22

Warning: Cannot modify header information - headers already sent by (output started at C:\webs\home\socios\validacion.php:4) in C:\webs\home\socios\validacion.php on line 26


el codigo del archivo en mencion (validacion.php) es:


<? //llamando a la pagina conexion.php ?>
<? include("conexion.php"); ?>

<? //recibiendo los datos del formulario y almacenandolos en una variable ?>
<?php
$user=$_GET['codusuario'];
$password=$_GET['password'];
?>

<? //abre la conexion y valida los datos ingresados por el formulario ?>
<? $link = Conectarse();

$result=mysql_query("select nivel from usuarios where codusuario like '$user' and password like '$password'",$link);
?>

<?php
if($row=mysql_fetch_array($result)){
do{
?>
<? //si el usuario existe crea una sesion ?>
<?
session_start();
$_SESSION['nivel']=$row[0];
?>
<? //luego de crear la sesion redirecciona a la pagina donde se mostrara la pagina principal dela sesion ?>
<? header ("Location: index_sesion_admin.php"); ?>
<? //si el usuario no esta registrado muestra el siguiente mensaje ?>
<? } while($row=mysql_fetch_array($result));
}else{
echo "¡Usuario o contraseña no existe!";
}
?>

<? //cerramos la conexion ?>
<?
mysql_close($link);
?>


Por favor que puede estar mal? ayudenme!... si el usuario no existe muestra el echo sin problemas pero si existe me salen esos dos errores que estan en negrita, ayuda por favor!
  #2 (permalink)  
Antiguo 28/11/2007, 11:11
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 4 meses
Puntos: 8
Re: Problemas con el login

No tiene nada que ver con el foro, deberías haber posteado en el foro de PHP General y no aquí en PHP orientado a objetos.

Saludos.
  #3 (permalink)  
Antiguo 28/11/2007, 14:29
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Re: Problemas con el login

amigo cuando inicie sesion no tiene q hacerlo despues de una impresion previa

puede solucionarlo con @session_start();
__________________
Degiovanni Emilio
developtus.com
  #4 (permalink)  
Antiguo 28/11/2007, 17:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas con el login

Tema tasladado a PHP General.

Porfavor publica en los foros correctos.
  #5 (permalink)  
Antiguo 28/11/2007, 18:34
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problemas con el login

Pero.... para qué abres y cierras tantas veces los tags php (<? y ?>) ???

Entre algunos cierres y sus correspondientes aperturas estás dejando espacios, lo que significa una salida hacia el navegador, osea cabeceras que ya se están enviando...

Para comentar lineas no es necesario cerrar y abrir un nuevo tag PHP:

Código PHP:
<?php
//llamando a la pagina conexion.php
include("conexion.php");

//recibiendo los datos del formulario y almacenandolos en una variable

$user=$_GET['codusuario'];
$password=$_GET['password'];

//abre la conexion y valida los datos ingresados por el formulario
$link Conectarse();

$result=mysql_query("select nivel from usuarios where codusuario like '$user' and password like '$password'",$link);

if(
$row=mysql_fetch_array($result)){
    do{

        
//si el usuario existe crea una sesion

        
session_start();
        
$_SESSION['nivel']=$row[0];

        
//luego de crear la sesion redirecciona a la pagina donde se mostrara la pagina principal dela sesion

        
header ("Location: index_sesion_admin.php");
        
//si el usuario no esta registrado muestra el siguiente mensaje

    
} while($row=mysql_fetch_array($result));
}else{
    echo 
"¡Usuario o contraseña no existe!";
}

//cerramos la conexion

mysql_close($link);
?>
Un saludo,
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 18:57.