Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas al declarar variable Sesion

Estas en el tema de Problemas al declarar variable Sesion en el foro de PHP en Foros del Web. Hola, agradeceria su apoyo con la declaracion de variables de sesion, ya que estoy intentando por todos los medios que funcione pero aun nada, y ...
  #1 (permalink)  
Antiguo 29/05/2013, 10:32
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Exclamación Problemas al declarar variable Sesion

Hola, agradeceria su apoyo con la declaracion de variables de sesion, ya que estoy intentando por todos los medios que funcione pero aun nada, y en la ultima modificacion que realice me muestra el siguiente mensaje:

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

alquien puede indicarme esto a que se debe..?

gracias
  #2 (permalink)  
Antiguo 29/05/2013, 10:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Problemas al declarar variable Sesion

Puedes postear la forma en como estas utilizando /declarando esas variables?
  #3 (permalink)  
Antiguo 29/05/2013, 11:24
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Respuesta: Problemas al declarar variable Sesion

claro, en las cabeceras de los archivos php, ejecuto lo siguiente:
Código PHP:
Ver original
  1. <?php
  2. ?>
y dentro de mi archivo login(archivo AJAX que realiza la validacion) declaro algunas variables de sesion:
Código PHP:
Ver original
  1. <?php
  2.  
  3. $user = $_POST['login_username'];
  4. $pwd = $_POST['login_userpass'];
  5.    
  6.     if ( !isset($_SESSION['username']) && !isset($_SESSION['userid']) ){
  7.         if ( $idcnx = mssql_connect('local','user','pwd') ){
  8.             if ( mssql_select_db('Base_Prueba',$idcnx) ){
  9.            
  10.                 $sql = "SELECT [USER],PASSWD,ID FROM T_LOGIN WHERE [USER] ='$user' AND PASSWD ='$pwd'";
  11.  
  12.                 if ( $res = mssql_query($sql) ){
  13.                     if ( mssql_num_rows($res) == 1 ){
  14.                    
  15.                         $user = mssql_fetch_array($res);
  16.                         $_SESSION['username'] = $user['user'];
  17.                         $_SESSION['userid'] = $user['id'];
  18.                         $_SESSION['unombre'] = $user['nombre'];
  19.                         $_SESSION['uapellido'] = $user['apellidop'];
  20.                        
  21.                         $_SESSION['autentificado']= 'SI';
  22.                         $_SESSION['ultimoAcceso']= date('Y-n-j H:i:s');
  23.                        
  24.                         echo 1;
  25.                     }else{
  26.                         echo 0;
  27.                         }
  28.                        
  29.                    
  30.                 }
  31.                 else{
  32.                     echo 0;
  33.                     }
  34.             }
  35.             mssql_close($idcnx);
  36.         }
  37.         else{
  38.             echo 0;
  39.             }
  40.     }
  41.     else{
  42.         echo 0;
  43.     }
  44. ?>
  #4 (permalink)  
Antiguo 29/05/2013, 23:57
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 9 meses
Puntos: 28
Respuesta: Problemas al declarar variable Sesion

yo te preguntaria que version de php corre tu apache principalmente por oeste error: session side-effect which existed until PHP 4.2.3
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #5 (permalink)  
Antiguo 30/05/2013, 07:54
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Respuesta: Problemas al declarar variable Sesion

hola, la version del php que uso es la 5.2.3....
y la version de apache que pude ver es Apache 2.0 Handler.....
gracias
  #6 (permalink)  
Antiguo 30/05/2013, 08:02
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Problemas al declarar variable Sesion

Es un problema de configuración en php.ini, busca estas directivas:

setting session.bug_compat_42
session.bug_compat_warn

Ambas deben estar en off.
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 30/05/2013, 08:06
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Respuesta: Problemas al declarar variable Sesion

gracias por el aporte triby, pero me podrias explicar un poco porque deberian estar en OFF...?
  #8 (permalink)  
Antiguo 30/05/2013, 08:09
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Problemas al declarar variable Sesion

Copia el texto de la advertencia, pégalo en http://translate.google.com/, selecciona "Inglés" en el primer recuadro, "Español" en el segundo y te vas a enterar porqué debe ser así.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 30/05/2013, 08:19
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Respuesta: Problemas al declarar variable Sesion

bueno, gracias por la ayuda, ya se soluciono el error que mostraba, ahora me sale esta advertencia:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\Web_Fija\Body\index.php:1) in C:\xampp\htdocs\Web_Fija\Body\index.php on line 2

porque sucederia esto, ya que los archivos php tienen todos al inicio declarados la variable sesion...?
  #10 (permalink)  
Antiguo 30/05/2013, 10:17
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Respuesta: Problemas al declarar variable Sesion

aun persiste el problema, y realmente no se porque sucede, modifique la estructura de mi archivo login(donde establezco las variables de sesion) pero aun persiste el problema....
algun apoyo...?
  #11 (permalink)  
Antiguo 30/05/2013, 10:53
Avatar de Sherly  
Fecha de Ingreso: septiembre-2008
Ubicación: Valles
Mensajes: 58
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Problemas al declarar variable Sesion

Revisa el esapacio que tienes entre el php el start_session siemrpe debe estar en la primer linea <?php session_start(); y tu tienes un enter despues del <?php
  #12 (permalink)  
Antiguo 30/05/2013, 11:06
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 9 meses
Puntos: 28
Respuesta: Problemas al declarar variable Sesion

presentra nuevamente el codigo actualizado..
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #13 (permalink)  
Antiguo 30/05/2013, 11:07
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Respuesta: Problemas al declarar variable Sesion

realize el cambio a <?php session_start(); pero aun persiste el problema....
T.T
  #14 (permalink)  
Antiguo 30/05/2013, 11:18
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Respuesta: Problemas al declarar variable Sesion

consta de 3 archivos:
index
Código PHP:
Ver original
  1. <?php
  2. ?>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  7. <title>::Web::</title>
  8. <link rel="stylesheet" type="text/css" href="stylesheet.css" />
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="functions.ajax.js"></script>
  11. </head>
  12. <body background="Logo2.jpg">
  13.    
  14.     <table border=0 style="position:absolute;top:40px;left:40px;" width=50%>
  15.     <tr>
  16.         <td><img src="logo1.png" /></td>
  17.         <td>
  18.             <div id="logo">            
  19.                 <h2><font color= white>Web de Presupuestos</h2>
  20.                 <p>Bienvenido! Por favor inicie su sesión...</p>
  21.             </div>
  22.         </td>
  23.     </tr>
  24. </table>
  25.    
  26. <div id="allContent">
  27. <table cellpadding="0" cellspacing="0" border="0" height="100%" width="100%">
  28. <tr>
  29. <td align="center" valign="middle" height="100%" width="100%">
  30.     <div id="alertBoxes"></div>
  31.     <span class="loginBlock">
  32.     <span class="inner">
  33.  
  34. <?php
  35.  
  36. if ( isset($_SESSION['username']) && isset($_SESSION['userid']) && $_SESSION['username'] != '' && $_SESSION['userid'] != '0' ){
  37.     echo '<div class="session_on">
  38.         Ya iniciaste sesion, Ahora has un <a href="javascript:void(0);" id="sessionKiller">logout</a>.
  39.         <span class="timer" id="timer"  style="margin-left: 10px;"></span>
  40.     </div>';
  41. }
  42. else{
  43.     echo '<form method="post" action="">
  44.         <table cellpadding="0" cellspacing="0" border="0">
  45.             <tr>
  46.                 <td>Usuario:</td>
  47.                 <td><input type="text" name="login_username" id="login_username" /></td>
  48.             </tr>
  49.             <tr>
  50.                 <td>Contrase&ntilde;a:</td>
  51.                 <td><input type="password" name="login_userpass" id="login_userpass" /></td>
  52.             </tr>
  53.             <tr>
  54.                 <td colspan="2" align="right"><span class="timer" id="timer"></span><button id="login_userbttn">Login</button></td>
  55.             </tr>
  56.         </table>
  57.     </form>';
  58. }
  59.             ?>
  60.        
  61.         </span>
  62.         </span>
  63.        
  64.     </td>
  65.     </tr>
  66.     </table>
  67.     </div>
  68.     </body>
  69. </html>
  #15 (permalink)  
Antiguo 30/05/2013, 11:19
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Respuesta: Problemas al declarar variable Sesion

login_ajax
Código PHP:
Ver original
  1. <?php
  2.  
  3. $user = $_POST['login_username'];
  4. $pwd = $_POST['login_userpass'];
  5.    
  6.     if ( !isset($_SESSION['username']) && !isset($_SESSION['userid']) ){
  7.         if ( $idcnx = mssql_connect('local','usr','pwd') ){
  8.             if ( mssql_select_db('Base_Prueba',$idcnx) ){
  9.            
  10.                 $sql = "SELECT [USER],PASSWD,ID FROM T_LOGIN WHERE [USER] ='$user' AND PASSWD ='$pwd'";
  11.  
  12.                 if ( $res = mssql_query($sql) ){
  13.                     if ( mssql_num_rows($res) == 1 ){
  14.                    
  15.                         $user = mssql_fetch_array($res);
  16.                         $_SESSION['username'] = $user['user'];
  17.                         $_SESSION['userid'] = $user['id'];
  18.                         $_SESSION['unombre'] = $user['nombre'];
  19.                         $_SESSION['uapellido'] = $user['apellidop'];
  20.                        
  21.                         $_SESSION['autentificado']= 'SI';
  22.                         $_SESSION['ultimoAcceso']= date('Y-n-j H:i:s');
  23.                        
  24.                         echo 1;
  25.                     }else{
  26.                         echo 0;
  27.                         }
  28.                        
  29.                    
  30.                 }
  31.                 else{
  32.                     echo 0;
  33.                     }
  34.             }
  35.             mssql_close($idcnx);
  36.         }
  37.         else{
  38.             echo 0;
  39.             }
  40.     }
  41.     else{
  42.         echo 0;
  43.     }
  44. ?>

ajax
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    
  3.     var timeSlide = 1000;
  4.     $('#login_username').focus();
  5.     $('#timer').hide(0);
  6.     $('#timer').css('display','none');
  7.     $('#login_userbttn').click(function(){
  8.         $('#timer').fadeIn(300);
  9.         $('.box-info, .box-success, .box-alert, .box-error').slideUp(timeSlide);
  10.         setTimeout(function(){
  11.             if ( $('#login_username').val() != "" && $('#login_userpass').val() != "" ){
  12.                
  13.                 $.ajax({
  14.                     type: 'POST',
  15.                     url: 'login_ajax.php',
  16.                     data: 'login_username=' + $('#login_username').val() + '&login_userpass=' + $('#login_userpass').val(),
  17.                     success:function(msj){
  18.                         if ( msj == 1 ){
  19.                             $('#alertBoxes').html('<div class="box-success"></div>');
  20.                             $('.box-success').hide(0).html('Validacion Completa, Bienvenido al Sistema');
  21.                             $('.box-success').slideDown(timeSlide);
  22.                             setTimeout(function(){
  23.                                 window.location.href = "../Main2/Index.php";
  24.                             },(timeSlide + 500));
  25.                         }
  26.                         else{
  27.                             $('#alertBoxes').html('<div class="box-error"></div>');
  28.                             $('.box-error').hide(0).html('Datos Incorrectos, No Tiene Acceso al Sistema '/* + msj*/);//msj significa el error que presenta el login
  29.                             $('.box-error').slideDown(timeSlide);
  30.                         }
  31.                         $('#timer').fadeOut(300);
  32.                     },
  33.                     error:function(){
  34.                         $('#timer').fadeOut(300);
  35.                         $('#alertBoxes').html('<div class="box-error"></div>');
  36.                         $('.box-error').hide(0).html('Ha ocurrido un error durante la ejecución');
  37.                         $('.box-error').slideDown(timeSlide);
  38.                     }
  39.                 });
  40.                
  41.             }
  42.             else{
  43.                 $('#alertBoxes').html('<div class="box-error"></div>');
  44.                 $('.box-error').hide(0).html('Los campos estan vacios');
  45.                 $('.box-error').slideDown(timeSlide);
  46.                 $('#timer').fadeOut(300);
  47.             }
  48.         },timeSlide);
  49.        
  50.         return false;
  51.        
  52.     });
  53.  
  54.     $('#sessionKiller').click(function(){
  55.         $('#timer').fadeIn(300);
  56.         $('#alertBoxes').html('<div class="box-success"></div>');
  57.         $('.box-success').hide(0).html('Terminando Sesion....Espere....…');
  58.         $('.box-success').slideDown(timeSlide);
  59.         setTimeout(function(){
  60.             window.location.href = "logout.php";
  61.         },2500);
  62.     });
  63.    
  64. });

gracias....
  #16 (permalink)  
Antiguo 30/05/2013, 18:14
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Problemas al declarar variable Sesion

Usaste el traductor?... supongo que no.

Cita:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\Web_Fija\Body\index.php:1) in C:\xampp\htdocs\Web_Fija\Body\index.php on line 2
No se pueden enviar los encabezados para mantener sesión porque hay una saluda previa (generada en index.php línea 1) y el error ocurrió en index.php en la línea 2.

Entonces, parece que tienes un caracter, espacio o salto de línea antes de <?php y/o tu script está codificado en utf8 con BOM, debes eliminar el BOM y listo.
__________________
- León, Guanajuato
- GV-Foto
  #17 (permalink)  
Antiguo 31/05/2013, 07:18
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Respuesta: Problemas al declarar variable Sesion

gacias por la aclaracion, pero en el index yo tengo un include de mi archivo sesion, esta declarado de la siguiente forma:
Código PHP:
Ver original
  1. <?php
  2. include ('../Conexion/sesion.php');
  3. ...
  4. ..
  5. .
  #18 (permalink)  
Antiguo 31/05/2013, 08:44
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 9 meses
Puntos: 28
Respuesta: Problemas al declarar variable Sesion

y que tiene que ver el include el problema no es el codigo es el tipo de archivo ya te dijeron que tiene bom ... quitacelo
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #19 (permalink)  
Antiguo 31/05/2013, 09:00
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 1 mes
Puntos: 5
Respuesta: Problemas al declarar variable Sesion

ya solucione el problema, gracias por el apoyo.....y el problema no era el bom, era otro.....
saludos....

Etiquetas: declarar, variable, variables
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:57.