Foros del Web » Programando para Internet » PHP »

Problema con constantes PHP en páginas ajax

Estas en el tema de Problema con constantes PHP en páginas ajax en el foro de PHP en Foros del Web. Hola a todos, llevo un par de días volviendome loco sin saber por qué no funciona.. espero que ustedes me puedan echar una mano. Estoy ...
  #1 (permalink)  
Antiguo 13/03/2014, 12:07
 
Fecha de Ingreso: septiembre-2012
Mensajes: 74
Antigüedad: 11 años, 7 meses
Puntos: 4
Problema con constantes PHP en páginas ajax

Hola a todos, llevo un par de días volviendome loco sin saber por qué no funciona.. espero que ustedes me puedan echar una mano.

Estoy haciendo una web multi-idioma con 2 lenguajes, español e ingles. Todo funciona perfectamente, las traducciones y las páginas cargadas por ajax el problema es que en las páginas q llamo por ajax ( metodo load) , no me pilla las constantes y quedan como indefinidas, por tanto no las puedo traducir.

¿Por qué podría ser? ¿Que podria hacer? os dejo el código:
Como ya he dicho todo funciona perfectamente excepto las constantes que meto en las páginas q cargo por ajax.

El lang:
Código:
<?php
session_start();
if (isset($_GET['lang'])) {
$_SESSION['languages'] = $_GET['lang'];
}
elseif (!isset($_SESSION['languages']) ){
$_SESSION['languages']=	"es";
}

include ("lang_".$_SESSION['languages'].".php");

?>
el ajax:

Código:
$(document).ready(iniciar);
function iniciar(){
	$(".muestrame").click(mostrar);
};
function mostrar(){
	var page = $(this).attr("href");
	$("#contentHome").load(page);
	return false;
};
aquí como llamo a la constante:
Código:
<h3><?php echo pres_orgh3 ?></h3>
		<p><?php echo pres_casa ?></p>
y aqui como la defino:
Código:
define ("pres_orgh3","Organized trips");
Todo funciona perfectamente excepto las constantes q llamo en ajax. Muchas gracias de antemano
  #2 (permalink)  
Antiguo 13/03/2014, 12:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con constantes PHP en páginas ajax

El tema es que debes configurar la sesión y/o cookies de sesión para que sean tomadas en cuanta también con llamada Ajax.

Consulta el siguiente manual: http://php.net/manual/es/function.se...kie-params.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/03/2014, 12:59
 
Fecha de Ingreso: septiembre-2012
Mensajes: 74
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Problema con constantes PHP en páginas ajax

Gracias por tu respuesta, he leido la documentacion y he hecho pruebaspero no he conseguido entender que es lo que debo hacer y donde, porque no me funciona.. La web no tiene usuarios ni cookies, solo tiene la sesion 'languages',
y no se donde aplicar esto que me comentas.. Agradecería si me pudierais ayudar un poco más, muchas gracias
  #4 (permalink)  
Antiguo 13/03/2014, 13:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con constantes PHP en páginas ajax

El tema es que las sesiones de PHP suelen usar cookies para identificar al usuario, no significa que hayas usado cookies.

Ahora, ¿dónde colocarlo?

En el manual lo dice, justo antes de iniciar cada sesión (antes de session_start).
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 13/03/2014, 15:03
 
Fecha de Ingreso: septiembre-2012
Mensajes: 74
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Problema con constantes PHP en páginas ajax

El caso es que yo no tengo un session_start();

Mi codigo para el lenguaje es este:

Código:
<?php

if (isset($_GET['lang'])) {
	
$_SESSION['languages'] = $_GET['lang'];
}
elseif (!isset($_SESSION['languages']) ){
$_SESSION['languages']=	"es";
}

include ("lang_".$_SESSION['languages'].".php");

?>
y lo ponga donde lo ponga no funciiona.. =( siento ser tan burro pero le doy al diseño, la programación me lleva loco...
  #6 (permalink)  
Antiguo 13/03/2014, 15:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con constantes PHP en páginas ajax

Cita:
El caso es que yo no tengo un session_start();
Bueno, entonces más claro no podía ser: ese es tu primer problema.

El uso de la variable $_SESSION requiere que inicies sesión con session_start(), de dicha forma es que se consiguen persistir los datos a través de sesiones.

Consulta el manual, te hace falta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 13/03/2014, 15:53
 
Fecha de Ingreso: abril-2010
Ubicación: Cancun
Mensajes: 88
Antigüedad: 14 años
Puntos: 2
Respuesta: Problema con constantes PHP en páginas ajax

Cita:
Iniciado por waltersele Ver Mensaje
El caso es que yo no tengo un session_start();

Mi codigo para el lenguaje es este:

Código:
<?php

if (isset($_GET['lang'])) {
	
$_SESSION['languages'] = $_GET['lang'];
}
elseif (!isset($_SESSION['languages']) ){
$_SESSION['languages']=	"es";
}

include ("lang_".$_SESSION['languages'].".php");

?>
y lo ponga donde lo ponga no funciiona.. =( siento ser tan burro pero le doy al diseño, la programación me lleva loco...

Puedes hacer esto si lo quieres seguir con tus constantes

en un archivo php defines tus constantes


constantes.php
Código PHP:
define ("pres_orgh3","Organized trips");
define ("otraConstante","valor"); 
y en los php donde los vayas a utilizar los llamas ya sean ajax o no

miAjax.php
Código PHP:
require 'constantes.php'//En caso de tenerlo en raiz o misma carpeta (Leer rutas relativas y absolutas)

echo pres_orgh3
  #8 (permalink)  
Antiguo 13/03/2014, 19:33
 
Fecha de Ingreso: septiembre-2012
Mensajes: 74
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Problema con constantes PHP en páginas ajax

Te agradezco mucho tu respuesta eduardo, pero ya he probado lo que me dices, he probado tanto incluir el archivo de constantes, como el de lenguaje, como

include ("lang_".$_SESSION['languages'].".php");

y no me funciona ninguno de los dos..=(
  #9 (permalink)  
Antiguo 15/03/2014, 12:07
 
Fecha de Ingreso: septiembre-2012
Mensajes: 74
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Problema con constantes PHP en páginas ajax

Me autocontesto por si a alguien le puedo ayudar.

En el lang.php has de iniciar sesion : session_start();

y despues en las páginas con ajax debes incluir el archivo lang.php, gracias!!

Etiquetas: ajax, constantes, páginas
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 19:09.