Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2012, 17:48
Avatar de VbOkonly
VbOkonly
 
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 5 meses
Puntos: 5
No me toma la SESSION EN AJAX+PHP

Holas, estoy trabajando con ajax y php, tengo el archivo "personas.php" donde ahi llamo a "mostrar-personas.php" con un include en una div, paso por get los valores a travez de ajax.

Bien, me encuentro con el problema de cuando voy pasando fotos asincronicamente, la variable $_SESSION['fid_username'] se llena, pero en la segunda y tercera pagina "asincronica"... no se llena y me salta el error:

Notice: Undefined variable: _SESSION in C:\wamp\www\mostrar-personas.php on line 5

Notice: Undefined variable: usuario_de in C:\wamp\www\mostrar-personas.php on line 47

Este error significa que la session esta indefiinida, o seria, inexistente ... pero en la primera impresion si me devuelve el valor que es:

1410854509

no puedo incluir session_start(); en el mostrar-personas.php porque me dice que ya llame la sesion en personas.php:

Les dejo el codigo php:

mostrar-personas.php
Código PHP:
Ver original
  1. <?php
  2.  include('conexion.php');
  3.  $RegistrosAMostrar=1;
  4.  
  5. echo $_SESSION['fid_username'];
  6.  
  7.  //estos valores los recibo por GET
  8.   if(isset($_GET['trebol'])){
  9.      $trebol = $_GET['trebol'];
  10.   }
  11.  
  12.  
  13.   if(isset($_GET['pag'])){
  14.   $RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
  15.   $PagAct=$_GET['pag'];
  16.   //caso contrario los iniciamos
  17.  }else{
  18.   $RegistrosAEmpezar=0;
  19.   $PagAct=1;
  20.  }
  21.  
  22.  
  23.   //******--------determinar las páginas---------******//
  24.  $NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM fotos",$db));
  25.  $PagAnt=$PagAct-1;
  26.  $PagSig=$PagAct+1;
  27.  $PagUlt=$NroRegistros/$RegistrosAMostrar;
  28.  
  29.  //verificamos residuo para ver si llevará decimales
  30.  $Res=$NroRegistros%$RegistrosAMostrar;
  31.  // si hay residuo usamos funcion floor para que me
  32.  // devuelva la parte entera, SIN REDONDEAR, y le sumamos
  33.  // una unidad para obtener la ultima pagina
  34.  if($Res>0) $PagUlt=floor($PagUlt)+1;
  35.  
  36.  
  37. $Resultado=mysql_query("SELECT fotos.id_foto as foto, usuarios.fid_usuario as fid_usuario, usuarios.nombre_usuario as nombre_usuario, fotos.link_foto as link_foto FROM fotos, usuarios WHERE usuarios.fid_usuario = fotos.pertenecea_foto AND usuarios.check_usuario = 1 ORDER BY fotos.id_foto DESC LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$db) or die(mysql_error());
  38.  
  39. if($PagAct==$PagUlt){ echo "No hay mas para mostrar";}else{
  40.  
  41.  while($MostrarFila=mysql_fetch_array($Resultado)){
  42.        
  43.         $Resultado_sobremi = mysql_query('SELECT texto_sobremi FROM sobremi WHERE quien_sobremi = "'.$MostrarFila["fid_usuario"].'" ORDER BY id_sobremi DESC',$db);
  44.        
  45.     //aca se realiza la votacion de la persona
  46.     if(isset($trebol)){
  47.     $q_interaccion = mysql_query('INSERT interaccion SET de_interaccion ="'.$usuario_de.'", a_interaccion = "'.$MostrarFila["fid_usuario"].'", valor_interaccion = "'.$trebol.'"',$db);
  48.     }
  49.  
  50.         echo '<a href="perfil.php?usuario='.$MostrarFila["fid_usuario"].'"><img src="uploads/'.$MostrarFila["link_foto"].'" /></a>
  51. <p class="texto-normal" style="word-wrap:break-word;">'.mysql_result($Resultado_sobremi, 0).'</p>';
  52.          
  53.  }
  54.  
  55.  //desplazamiento
  56.  
  57. echo "<center><table width='270px' border='0'>
  58.  <tr>
  59.    <td>";
  60.     if($PagAct<$PagUlt) echo "<a onclick=\"Pagina('$PagSig', '1')\"><img src='images/si.png' /></a>
  61.     <a onclick=\"Pagina('$PagSig', '2')\"><img src='images/capas.png' /></a>
  62.     <a onclick=\"Pagina('$PagSig', '3')\"><img src='images/nah.png' /></a></td>
  63.  </tr>
  64. </table></center></center><br><br>";
  65. }
  66.  
  67. ?>

Este es mi codigo AJAX:

ajaxpagsingle.js
Código Javascript:
Ver original
  1. function objetoAjax(){
  2.  var xmlhttp=false;
  3.   try{
  4.    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.   }catch(e){
  6.    try {
  7.     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.    }catch(E){
  9.     xmlhttp = false;
  10.    }
  11.   }
  12.   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  13.    xmlhttp = new XMLHttpRequest();
  14.   }
  15.   return xmlhttp;
  16. }
  17.  
  18. function Pagina(nropagina, trebol){
  19.  //donde se mostrará los registros
  20.  divContenido = document.getElementById('foto-persona');
  21.  
  22.  ajax=objetoAjax();
  23.  //uso del medoto GET
  24.  //indicamos el archivo que realizará el proceso de paginar
  25.  //junto con un valor que representa el nro de pagina
  26.  ajax.open("GET", "mostrar-personas.php?pag="+nropagina+"&trebol="+trebol);
  27.  divContenido.innerHTML= '<img src="anim.gif">';
  28.  ajax.onreadystatechange=function() {
  29.   if (ajax.readyState==4) {
  30.    //mostrar resultados en esta capa
  31.    divContenido.innerHTML = ajax.responseText
  32.   }
  33.  }
  34.  //como hacemos uso del metodo GET
  35.  //colocamos null ya que enviamos
  36.  //el valor por la url ?pag=nropagina
  37.  ajax.send(null)
  38. }

y aqui llamo a la funcion:

personas.php
Código HTML:
Ver original
  1. <div id="foto-persona" class="foto-persona">
  2.  
  3. <?php include('mostrar-personas.php');?>
  4.  
  5.        
  6. </div>

de nuevo, me muestra TODO, pero cuando quiero llenar paso la foto no me reconoce la session y con este inconveniente no puedo llenar la db en la parte donde necesito insertar en la tabla interaccion.
osea en la primera impresion si aparece, pero cuando paso la foto se borra la variable session

No se que puede ser!!
gracias de antemano!
__________________
Mi primera web: http://www.mascoteame.com