Pasar variables de una página a otra.

Respuesta de
a
Avatar
Usuario
Tengo dos páginas de php, en la primera selecciono un mes y capturo en meses el mes seleccionado.
Esa variable mes la necesito en la segunda página, ¿cómo puedo hacerle?

Código página 1
Con esta función llamo a mi página, pero el problema es que la variable mes me dice que no tiene ningún valor, sin embargo cuando mando el alert si aparece el valor.

function cargar(validacion)
{
if(validacion.meses.value=='00')
{
alert("No has seleccionado el mes");
alert(validacion.meses.value);
validacion.meses.focus();
}
else
{
var mes=<?php echo $meses; ?>
//alert(validacion.meses.value);
window.location.href='?P=Boletines&b=boletines&mes=<?php print $meses?>';

}

}

//Aqui es en donde capturo el número del mes que seleccione
<select name="meses" size="1" class="PaginaTextoVerdeLeft">
<option value="00">- Seleccionar -</option>
<option value="01" <?php if ($meses=="01") echo "selected"; ?> >Enero</option>
<option value="02" <?php if ($meses=="02") echo "selected"; ?>>Febrero</option>
<option value="03" <?php if ($meses=="03") echo "selected"; ?>>Marzo</option>
<option value="04" <?php if ($meses=="04") echo "selected"; ?>>Abril</option>
<option value="05" <?php if ($meses=="05") echo "selected"; ?>>Mayo</option>
<option value="06" <?php if ($meses=="06") echo "selected"; ?>>Junio</option>
<option value="07" <?php if ($meses=="07") echo "selected"; ?>>Julio</option>
<option value="08" <?php if ($meses=="08") echo "selected"; ?>>Agosto</option>
<option value="09" <?php if ($meses=="09") echo "selected"; ?>>Septiembre</option>
<option value="10" <?php if ($meses=="10") echo "selected"; ?>>Octubre</option>
</select>
//
Avatar
Experto
Has de pasarlo con un formulario de la siguiente forma:
<form action="pagina_siguiente.php" method="POST">
<select name="meses" size="1" class="PaginaTextoVerdeLeft">
<option value="00">- Seleccionar -</option>
<option value="01" <?php if ($meses=="01") echo "selected"; ?> >Enero</option>
<option value="02" <?php if ($meses=="02") echo "selected"; ?>>Febrero</option>
<option value="03" <?php if ($meses=="03") echo "selected"; ?>>Marzo</option>
<option value="04" <?php if ($meses=="04") echo "selected"; ?>>Abril</option>
<option value="05" <?php if ($meses=="05") echo "selected"; ?>>Mayo</option>
<option value="06" <?php if ($meses=="06") echo "selected"; ?>>Junio</option>
<option value="07" <?php if ($meses=="07") echo "selected"; ?>>Julio</option>
<option value="08" <?php if ($meses=="08") echo "selected"; ?>>Agosto</option>
<option value="09" <?php if ($meses=="09") echo "selected"; ?>>Septiembre</option>
<option value="10" <?php if ($meses=="10") echo "selected"; ?>>Octubre</option>
</select>
</form>

Luego en pagina_siguiente.php la recoges simplemente poniendo:

<?php $variable = $_POST['meses']; ?>
<?php echo $_POST['meses']; ?>

Un saludo.
Si te ha servido de ayuda, dejame alguna estrellita ;)
Avatar
Usuario
No funciona!
No pasa los datos.. con la función cargar lo que hago es que valide si el usuario eligió un mes, de ser así envía la información, pero no deja que lleve el valor del mes que eligió.
necesito que lo envie así como esta en el codigo por que mi pagina la divida en secciones, y en la sección que quiero que aparezca debo enviarlo como esta en la línea
window.location.href='?P=Boletines&b=boletines&mes=<?php print $meses?>';

Ayudame por favor :'(
Avatar
Usuario
La pagina1.php la modifique de esta manera

window.location.href='?P=Boletines&b=boletines&meses='+meses;

en la página del navegador me la muestra así:
pagina/index.php?P=Boletines&b=boletines&meses=04

Pero en la pagina2.php cuando le pido que me imprima el valor no lleva nada
Mes seleccionado: <? php echo $meses?>
¿Qué hago?, ya me lleva el mes, pero sigo sin poder capturar ese valor.
Avatar
Experto
Deja el javascript de un lado hombre.

Yo te he puesto el ejemplo en php, envío y recogida de variables. Que pasa si tienes en el navegador Firefox deshabilitado el JS... como lo tengo yo siempre.

Centrate en el php que es como te lo he puesto.

Un saludo :)
Avatar
Usuario
Gracias.. veré que sucede.