PHP - No coge valor de variable de sesión desde campo de formulario con javascript

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

No coge valor de variable de sesión desde campo de formulario con javascript

Publicado por Rosam (4 intervenciones) el 18/07/2018 18:16:57
Le he dado 100.000 vueltas y no veo cómo solucionarlo.
Hace tiempo que no programaba y seguro que se me escapan cosas elementales, a ver si alguien me puede ayudar.

Tengo una página php que al pulsar un botón muestra un calendario en otra ventana, al cerrar el calendario, devuelve el valor de la fecha seleccionada en un cuadro de texto de un formulario de la página inicial (la del botón).
Lo que quiero es que este valor recién tomado por el cuadro de texto del formulario, ponerlo en una variable de sesión php.

Pego aquí un código con el que he estado haciendo pruebas y adjunto imagen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
//librería que muestra el calendario y otras funciones
include ("calendario/calendario.php");
session_start();
 
 
$fecha=$_SESSION['fecha'];
 
echo "la fecha es ".$fecha."\n";  //esto no es necesario, lo hago para comprobar si en la recarga de la página
                                   //la variable de sesión ha tomado el valor, hasta ahora sale en blanco
 
?>
 
 
<!DOCTYPE HTML>
 
<html>
 
	<head>
		<title>prueba cambio fecha</title>
		<meta charset="utf-8"/>
		<!--<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> -->
		<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
		<script language="JavaScript" src="calendario/javascripts.js"></script>
		<link rel="stylesheet" href="assets/css/main.css" />
		<!--<link rel="STYLESHEET" type="text/css" href="calendario/estilo.css">-->
	</head>
	<body class="is-preload">
 
		<!-- Header -->
			<header id="header">
			<form name="Ffecha">
				<button type="button" onclick="location.href = 'salir.php'">Salir</button>
				Cambio fecha
				<input type="text" id="cambiofecha" name="cambiofecha" value="">
				<INPUT type="button" value="Otra fecha" name="otrafecha" size="10" class="inputfecha"
				onclick="muestraCalendario('.','Ffecha','cambiofecha'); <?php $_SESSION['fecha']='<script>document.write(document.getElementById("Ffecha.cambiofecha").value);</script>' ?>; reload(); "
			</form>
 
			</header>
 
 
		<!-- Scripts -->
        <script src="assets/js/main.js"></script>
 
	</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No coge valor de variable de sesión desde campo de formulario con javascript

Publicado por Lawliet (351 intervenciones) el 18/07/2018 18:22:20
Hola!!!

Si vas a poner algo en sesión sería...

1
$_SESSION['nombre'] = 'Alberto';

Si vas a recuperar algo en sesión sería...

1
echo $_SESSION['test'];

Sin más que comentar, quedamos al pendiente entre cualquier duda y/o comentario.

Saludos!

P.D. No te olvides de agregar la funcion session_start() ya sea para set o get una variable en sesión.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

No coge valor de variable de sesión desde campo de formulario con javascript

Publicado por Rosam (4 intervenciones) el 18/07/2018 18:34:02
Con valores fijos sí que funciona, ya lo había probado, el problema es que quiero poner la fecha que se acaba de elegir en el calendario, y esa fecha solo está en el campo del formulario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No coge valor de variable de sesión desde campo de formulario con javascript

Publicado por Lawliet (351 intervenciones) el 18/07/2018 18:45:11
Recuperas el valor de tu campo por POST o GET? Utilizas únicamente HTML y PHP o tienes en medio JS?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

No coge valor de variable de sesión desde campo de formulario con javascript

Publicado por Rosam (4 intervenciones) el 18/07/2018 18:52:33
En el click del botón "otrafecha" se llama a la función MostrarCalendario, que es la que se encarga de coger los valores con get en otra página php para luego saber qué campo debe modificar de la página inicial
(lo hace con un eval ("opener.document." + formulario_destino + "." + campo_destino + ".value='" + dia + "/" + mes + "/" + ano + "'") )

El formulario_destino y campo_destino corresponden al campo de la página inicial donde se va a escribir ese valor, y es ese valor el que quiero yo coger después para ponérselo a la variable de sesión de php.
Todo el código relacionado está en el onclick de ese botón.

Espero haberlo explicado bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No coge valor de variable de sesión desde campo de formulario con javascript

Publicado por Lawliet (351 intervenciones) el 18/07/2018 19:15:38
Veo que en el código que tienes a tu form le hace falta tu método; es decir, method="POSt" o method="GET", posteriormente falta que recibas el valor mediante la definición que colocaste; es decir, $_SESSION=$_POST['cambioFecha'] o $_SESSION=$_GET['cambioFecha']. Te recomiendo pongas el código tanto HTML como PHP para ver mejor tu código pero si es importante que agregues el atributo method dentro de tu etiqueta form.

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

No coge valor de variable de sesión desde campo de formulario con javascript

Publicado por Rosam (4 intervenciones) el 18/07/2018 19:25:13
Es verdad que no está puesto el method, pero no hace falta, ya se le pasan los nombres de los campos como parámetros a la función muestracalendario.

La recogida de esos valores que comentas, se hace en un fichero calendario.php, que se encarga de mostrar un calendario y mediante una función, devolver los valores al input (cambiofecha) de la página principal.

Una vez que esto ha pasado, y el input se ha actualizado con la fecha seleccionada en el calendario, es justo cuando quiero cambiar el valor de la variable de sesión, por eso en el onclik del botón, primero llama a la función muestracalendario(...), luego, suponiendo que el input ya tiene la fecha actualizada, es cuando trato de dar valor a la variable de sesión, y después hacer un reload() para que se recargue la página con ese nuevo valor de variable de sesión.

Este es el código de la función dentro de calendario.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript">
function devuelveFecha(dia,mes,ano){
    //Se encarga de escribir en el formulario adecuado los valores seleccionados
    //también debe cerrar la ventana del calendario
    var formulario_destino = '<?php echo $_GET["formulario"]?>'
 
    var campo_destino = '<?php echo $_GET["nomcampo"]?>'
 
    //meto el dia
 
    eval ("opener.document." + formulario_destino + "." + campo_destino + ".value='" + dia + "/" + mes + "/" + ano + "'")
 
    window.close()
}
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar