Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Perdida de Sesiones con PHP y Ajax

Estas en el tema de Perdida de Sesiones con PHP y Ajax en el foro de Frameworks JS en Foros del Web. Hola, estoy tratando de hacer un chat con php y javascript, con la ayuda de un tutorial lo acople a lo que necesito, mi problema ...
  #1 (permalink)  
Antiguo 15/07/2011, 11:17
Avatar de Butters  
Fecha de Ingreso: noviembre-2010
Mensajes: 83
Antigüedad: 13 años, 5 meses
Puntos: 3
Perdida de Sesiones con PHP y Ajax

Hola, estoy tratando de hacer un chat con php y javascript, con la ayuda de un tutorial lo acople a lo que necesito, mi problema es que cuando mando un mensaje este se envia mediante javascript

Código:
function shout() {
				var xmlHttp = (window.XMLHttpRequest) ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP");
				xmlHttp.open("POST", "shout.php");
				var data = "user=" + urlencode($("user").value) + "&" + "shout=" + urlencode($("shout").value);
				xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp.setRequestHeader("Content-length", data.length);
				xmlHttp.onreadystatechange = function() {
					if (this.readyState == 4) {
						if (!this.responseText) $("shout").value = "";
						else {
							$("console").innerHTML = this.responseText;
							setTimeout("$('console').innerHTML = ''", 5000);
						}
						getshouts();
					}
				}
				xmlHttp.send(data);
				return true;
			}
Mi problema es que necesito hacer uso de las sesiones del usuario en el archivo shout.php pero al incluir session_start , se borran todas las variables de sesion, este es el codigo de shout.php

Código PHP:
session_start();
require_once(
"config.php");
        
$user mysql_real_escape_string($_POST['user']);
        
$shout mysql_real_escape_string($_POST['shout']);
        
$user htmlspecialchars($user);
        
$shout htmlspecialchars($shout);
        
$oauth_provider $_POST['oauth_provider'];
        
mysql_query("INSERT INTO k_shout (username, datetime, shout)
            VALUES ('$user', " 
time() . ", '$shout')");
            
            switch(
$oauth_provider) {
                case 
"twitter":
require(
"twitter/twitteroauth.php");
require 
'config/twconfig.php';
require 
'config/functions.php';

   
$access_token $_SESSION['access_token'];
break;

Hay alguna forma de que no se pierdan las variables de sesión?
  #2 (permalink)  
Antiguo 15/07/2011, 11:27
Avatar de Sotelio  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Chile
Mensajes: 68
Antigüedad: 12 años, 11 meses
Puntos: 21
Respuesta: Perdida de Sesiones con PHP y Ajax

Hola,

La forma para que no se pierdan las variables de sesión es usándolas correctamente. Así de simple.

Entonces, tienes que saber qué estás haciendo mal.

Puede ser que estés llamando archivos php que no tienen el session_start() al principio, eso hace que las variables que definiste inicialmente no estén disponibles y por lo tanto, al usarlas se esté iniciando una nueva sesión.

También puede ser que en el archivo php principal, que incluye a todos los demás no estás iniciando la sesión.

Suerte
@sotelio
  #3 (permalink)  
Antiguo 15/07/2011, 11:55
Avatar de Butters  
Fecha de Ingreso: noviembre-2010
Mensajes: 83
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Perdida de Sesiones con PHP y Ajax

Bueno utilice Cookies para guardar los valores que necesitaba y asi funciono perfecto :D

Etiquetas: ajax, html, mysql, perdida, php, sesiones, 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 21:58.