Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas de sesion

Estas en el tema de Problemas de sesion en el foro de PHP en Foros del Web. Hola tengo este codigo: <?php //captura de datos $user=$_REQUEST["username"]; $pass=$_REQUEST["pass"]; //coneccion a la base de datos. $con=mysql_connect("localhost", "root", ""); $query="SELECT * FROM inventariodb.users WHERE username='".$user."';"; ...
  #1 (permalink)  
Antiguo 16/07/2013, 09:38
 
Fecha de Ingreso: julio-2013
Mensajes: 17
Antigüedad: 10 años, 9 meses
Puntos: 0
Pregunta Problemas de sesion

Hola tengo este codigo:

<?php
//captura de datos
$user=$_REQUEST["username"];
$pass=$_REQUEST["pass"];
//coneccion a la base de datos.
$con=mysql_connect("localhost", "root", "");
$query="SELECT * FROM inventariodb.users
WHERE username='".$user."';";
$x=mysql_query($query);
@$user1=mysql_result($x, 0, 'username');
@$pass1=mysql_result($x, 0, 'pass');
@$rol=mysql_result($x,0,'rol');
mysql_close();
if($user==$user1 && $pass==$pass1 && $user!="" && $rol=="admin"){
session_start();
$_SESSION["ok"]=true;
$_SESSION["user"]=$user;
$_SESSION["admin"]=true;


header("Location: /paginas/admin/index admin.php");
exit;
}elseif($user==$user1 && $pass==$pass1 && $user!="" && $rol=="user"){
session_start();
$_SESSION["ok"]=true;
$_SESSION["user"]=$user;



header("Location: /paginas/index.php");
exit;
}else{
session_destroy();
header("Location: /paginas/Iniciar Sesion.php");
exit;
}
?>


A nivel local no me genera errores, pero cuando lo subo al hosting me sale esto:

Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in

Warning: Cannot modify header information - headers already sent by

que puede ser??
  #2 (permalink)  
Antiguo 16/07/2013, 14:18
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Problemas de sesion

Después de validar que el user y el password son correctos debes hacer el session start, no puedes hacer 2 session start en tu codigo, sólo 1 vez.
incluso puedes resumir un poco el código:

Código PHP:

mysql_close
();
if(
$user==$user1 && $pass==$pass1 && $user!=""){
session_start();
$_SESSION["ok"]=true;
$_SESSION["user"]=$user;
 if(
rol=='admin')
{
    
$_SESSION["admin"]=true;
    
header("Location: /paginas/admin/index admin.php");
    exit;

}
elseif(
rol=='user'){
    
$_SESSION['admin']=false;
    
header("Location: /paginas/index.php");
    exit;
}


}

else {

    echo 
"el usuario o contraseña no son correctos";

  #3 (permalink)  
Antiguo 17/07/2013, 07:58
 
Fecha de Ingreso: julio-2013
Mensajes: 17
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Problemas de sesion

Genial amigo muchisimas gracias!!

Etiquetas: mysql, select, sql
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 04:07.