Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/08/2008, 09:16
rickymax
 
Fecha de Ingreso: febrero-2007
Ubicación: Ecuador
Mensajes: 23
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: manejo de sesiones en ajax

hola resulta que he escogido manejar mi login con ajax y php siguiendo sus consejos por eso de las sesiones,
sin embargo mis varibales

Código HTML:
$_SESSION["_dmd_cedula"] = $respuesta;
que registro en mi archivo login.php
no aparecen en mi php panel.php

no se que pasa miren el codigo:primero tengo mi funcion ajax para loguearme
Código HTML:
function prosesarAutentifica()
{
	ajax = nuevoAjax();
	if (ajax) {
		var q ="email="+document.getElementById("txt_email").value +"&pass="+document.getElementById("txt_pass").value+"&rol=dmd&url="+ encodeURIComponent( document.URL) ;
	ajax.onreadystatechange = function ()
	{
	if (ajax.readyState == 4) {
		if (ajax.status == 200) {
			myString = new String(ajax.responseText);
			temp= myString.search("redirect");
			if (temp> 1 ) {
				window.location = "panel.php";
			}
			else{
				document.getElementById("mensajedmd").innerHTML = "Lo sentimos su email o constraseña";				
			}
		  }
        }
    }
;
	ajax.open("POST", getURL() + "login.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(q);
	
	}
}

en panel .php logueo e iteractuo con mi bdd:

Código HTML:
<? session_start();
 include("../XAJAX_registro.dmd.php");

     $valid_email = $HTTP_POST_VARS ["email"];
	 $valid_pass = $HTTP_POST_VARS ["pass"];
     $valid_rol = $HTTP_POST_VARS ["rol"];	
	 $valid_url = $HTTP_POST_VARS ["url"]; 
     //echo "variable no registrada";
	 
if ($valid_email && $valid_pass && $valid_rol && $valid_url)  //*************************************seguridad***************************************************
{   $newurl="";
	$frmlogin = array();
	$frmlogin["email"]=$valid_email;
	$frmlogin["pass"]=$valid_pass;
	$frmlogin["rol"]=$valid_rol;
	$frmlogin["url"]=$valid_url; 
    $respuesta= LOGINDMD( $frmlogin);
   if($respuesta == "-1z-1z")
   {
   	 $respuesta ="Lo sentimos revise su mail o password";
   }
   else{
   	$_SESSION["_dmd_cedula"] = $respuesta;
   	$newurl= "redirect:panel.php";

   }
  echo $newurl;
}
y finalmente creyendo que en mi sesion esta registrada la varible _dmd_cedula
me redirecciona a mi panel donde valido my sesion:

Código HTML:
 <? session_start();
   
  if (isset($_SESSION["_dmd_cedula"])){ 
   echo "variable registrada";
   }
   else
   {
	 
     echo "variable no registrada";
	} 

?> 
pero no encuentra mi variable e imprime "variable no registrada"

que esta mal el codigo sigue la regla de poner session_start();
primero
salu2