Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/03/2014, 13:31
vis97c
Invitado
 
Mensajes: n/a
Puntos:
estoy creando bien la sesion?

estoy creando un login, y aparentemente todo deberia ir bien pero no funciona.

tengo un archivo que verifica los datos del formulario de inicio de sesion:

Código PHP:
session_start();
include 
'../includes/conexion.php';
function 
validamail($pMail) {
 
$comprobar preg_match("/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@+([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$/i"$pMail);
 if (
$comprobar) {
  return 
true;
 }
 else {
  return 
false;
 }

if (isset(
$_POST['enviar'])) { 
 
//Comprobacion del envio del nombre de usuario y contraseña.
 
$user $_POST['username']; 
 
$password $_POST['password']; 
 if (
$password == NULL) {
  echo
'contraseña vacia var 0';
 }
 else{ 
  
$isemail validamail($user);
  if(
$isemail) { 
   
$query mysql_query("SELECT * FROM users WHERE email = '$user'") or die(mysql_error); 
   
$data mysql_fetch_array($query);
   if(
$data['password'] != $password) {
    echo
'contraseña incorrecta var1';
   }
   else{ 
    
$query mysql_query("SELECT * FROM users WHERE email = '$user'") or die(mysql_error()); 
    
$row mysql_fetch_array($query); 
    
$_SESSION['s_username'] = $row['username'];
    
$_SESSION['s_iduser'] = $row['id'];
    if(
$_SESSION['s_username']){
     echo
'
<script language="Javascript">
location.href="../index.php";
</script>
     '
;
    }
    else{
    echo
'sesion no iniciada var1';
    }
   } 
  }
  else{
   
$query mysql_query("SELECT * FROM users WHERE username = '$user'") or die(mysql_error); 
   
$data mysql_fetch_array($query);
   if(
$data['password'] != $password) {
    echo
'contraseña incorrecta var2';
   }
   else{ 
    
$query mysql_query("SELECT * FROM users WHERE username = '$user'") or die(mysql_error()); 
    
$row mysql_fetch_array($query); 
    
$_SESSION['s_username'] = $row['username'];
    
$_SESSION['s_iduser'] = $row['id'];
    if(
$_SESSION['s_username']){
     echo
'
<script language="Javascript">
location.href="../index.php";
</script>
     '
;
    }
    else{
    echo
'sesion no iniciada var2';
    }
   } 
  }
 } 
}
else{
 echo
'no hay datos';

como veran el codigo al verificar la cuenta y detectar la sesion, redirecciona al directorio principal, y este tiene dos variables:

1- si hay una sesion activa muestra la interfaz usuario.
2- si no hay sesion, muestra la interfaz visitante.

pareciese que la sesion se perdiera, al redireccianar con la sesion creada deberia mostrar la interfaz usuario, pero siempre muestra la de visitante, en algunos sitios mensionan que la sesion se pierde debido a una configuracion del host, y que se soluciona con el htaccess porque el php.ini no se puede acceder en mi host.

que deberia hacer?