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
<?php include('conexion.php'); $RegistrosAMostrar=1; echo $_SESSION['fid_username']; //estos valores los recibo por GET $trebol = $_GET['trebol']; } $RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar; $PagAct=$_GET['pag']; //caso contrario los iniciamos }else{ $RegistrosAEmpezar=0; $PagAct=1; } //******--------determinar las páginas---------******// $PagAnt=$PagAct-1; $PagSig=$PagAct+1; $PagUlt=$NroRegistros/$RegistrosAMostrar; //verificamos residuo para ver si llevará decimales $Res=$NroRegistros%$RegistrosAMostrar; // si hay residuo usamos funcion floor para que me // devuelva la parte entera, SIN REDONDEAR, y le sumamos // una unidad para obtener la ultima pagina $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()); if($PagAct==$PagUlt){ echo "No hay mas para mostrar";}else{ $Resultado_sobremi = mysql_query('SELECT texto_sobremi FROM sobremi WHERE quien_sobremi = "'.$MostrarFila["fid_usuario"].'" ORDER BY id_sobremi DESC',$db); //aca se realiza la votacion de la persona $q_interaccion = mysql_query('INSERT interaccion SET de_interaccion ="'.$usuario_de.'", a_interaccion = "'.$MostrarFila["fid_usuario"].'", valor_interaccion = "'.$trebol.'"',$db); } echo '<a href="perfil.php?usuario='.$MostrarFila["fid_usuario"].'"><img src="uploads/'.$MostrarFila["link_foto"].'" /></a> } //desplazamiento echo "<center><table width='270px' border='0'> <tr> <td>"; if($PagAct<$PagUlt) echo "<a onclick=\"Pagina('$PagSig', '1')\"><img src='images/si.png' /></a> <a onclick=\"Pagina('$PagSig', '2')\"><img src='images/capas.png' /></a> <a onclick=\"Pagina('$PagSig', '3')\"><img src='images/nah.png' /></a></td> </tr> </table></center></center><br><br>"; } ?>
Este es mi codigo AJAX:
ajaxpagsingle.js
Código Javascript:
Ver original
function objetoAjax(){ var xmlhttp=false; try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function Pagina(nropagina, trebol){ //donde se mostrará los registros divContenido = document.getElementById('foto-persona'); ajax=objetoAjax(); //uso del medoto GET //indicamos el archivo que realizará el proceso de paginar //junto con un valor que representa el nro de pagina ajax.open("GET", "mostrar-personas.php?pag="+nropagina+"&trebol="+trebol); divContenido.innerHTML= '<img src="anim.gif">'; ajax.onreadystatechange=function() { if (ajax.readyState==4) { //mostrar resultados en esta capa divContenido.innerHTML = ajax.responseText } } //como hacemos uso del metodo GET //colocamos null ya que enviamos //el valor por la url ?pag=nropagina ajax.send(null) }
y aqui llamo a la funcion:
personas.php
Código HTML:
Ver original
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!