Foros del Web » Programando para Internet » PHP »

Problema registro de sesiones

Estas en el tema de Problema registro de sesiones en el foro de PHP en Foros del Web. Buenas! No se porque no me deja registrar sesiones el servidor. Tengo un archivo index.php donde se requiere usuario y contraseña, al introducirla me salta ...
  #1 (permalink)  
Antiguo 05/04/2012, 02:58
 
Fecha de Ingreso: febrero-2012
Mensajes: 45
Antigüedad: 12 años, 2 meses
Puntos: 0
Problema registro de sesiones

Buenas!

No se porque no me deja registrar sesiones el servidor.
Tengo un archivo index.php donde se requiere usuario y contraseña, al introducirla me salta a inicio.php, y si lo introduzco vacio o erroneo me salta de nuevo a index; con lo cual parece que esta bien.
Pero al intentar entrar en otra pagina me salta a index. Esta pagina tengo puesto que si la variable sesion esta vacia que te salte a index, con lo cual no me las graba.

En la pagina inicio que si me pasa a ella (no esta puesto que si esta vacia me mande a index, por eso me deja) he puesto que me muestre el nombre de usuario, pero nada, vacio.. con lo cual no me registra bien las sesiones.

He intentado todo y he mirado por todos lados sin solucion.. a ver si me podeis echar una mano.. este es el codigo:

Código PHP:
<?
if($_POST){
     
$msgerror "Usuario o Clave Incorrecto";
     
    if (
$_POST[user] == ""){
        
$msgerror;}else{
        
if( (
$_POST[user] == ' ') or ($_POST[clave] == ' ') )
{
Header("Location: index.php");
}else{


mysql_select_db($database_laslosas$laslosas);
$query sprintf("SELECT * FROM usuarios WHERE user='$_POST[user]'");
$datoslaslosas mysql_query($query$laslosas) or die(mysql_error());

if(
$row_laslosas2 mysql_fetch_assoc($datoslaslosas)) 
{

session_register("user"); 
$_SESSION['user'] = $user_ok["user"]; 

Header("Location: inicio.php");
        
}else{
$msgerror;}

}}}
?>
Muchas gracias
  #2 (permalink)  
Antiguo 05/04/2012, 03:08
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 4 meses
Puntos: 14
Respuesta: Problema registro de sesiones

Yo no soy un experto pero también he hecho un sistema de sesiones en mi web y creo que puede ser que no et funcione porque nunca inicias una sesión, en el head deberías poner session_start();

Que alguien que sea experto lo confirme por si acaso :P
  #3 (permalink)  
Antiguo 05/04/2012, 04:11
 
Fecha de Ingreso: febrero-2012
Mensajes: 45
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Problema registro de sesiones

antes tenia puesto un session_start, pero me daba error y cambie el codigo por otro que si me funcionaba que es el que he puesto antes.
ahora lo estoy intentando con otro y mas de lo mismo...

es este:
Código PHP:
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

mysql_select_db($database_laslosas$laslosas);
$query_usuarios "SELECT * FROM usuarios";
$usuarios mysql_query($query_usuarios$laslosas) or die(mysql_error());
$row_usuarios mysql_fetch_assoc($usuarios);
$totalRows_usuarios mysql_num_rows($usuarios);

// *** Validate request to login to this site.
if (!isset($_SESSION)) {session_start();}

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset(
$_POST['user'])) {
  
$loginUsername=$_POST['user'];
  
$password=$_POST['clave'];
  
$MM_fldUserAuthorization "";
  
$MM_redirectLoginSuccess "inicio.php";
  
$MM_redirectLoginFailed "index.php";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_laslosas$laslosas);
  
  
$LoginRS__query=sprintf("SELECT user, clave FROM usuarios WHERE user=%s AND clave=%s",
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
   
  
$LoginRS mysql_query($LoginRS__query$laslosas) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
     
$loginStrGroup "";
    
    if (
PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    
//declare two session variables and assign them
    
$_SESSION['user'] = $loginUsername;
    
$_SESSION['clave'] = $loginStrGroup;
    
    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }
}
?>
este es el codigo que genera dreamweaver. Y no se que pasa que no me detecta que hay un row porque me salta a la pagina de error...

seguire mirando a ver si algun error de la consulta... pero vamos consultas similares estoy usando y me van bien.

Etiquetas: mysql, registro, sesiones, sql, variables, usuarios
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 16:33.