Ich habe ein sehr einfaches PHP-Skript, wo es Werte eines XML nimmt und speichert es in $ _SESSION. Wenn die Seite jedoch geändert wird und ich diese Werte abrufen möchte, sind sie leer. Hier ist die Methode, die die Werte annimmt:PHP - Sitzung speichert keine Variablenwerte
session_start();
if (isset($_REQUEST["LocalitatForm"])) {
recollirDades();
}
function recollirDades(){
$localitat = $_REQUEST["localitat"];
$data = $_REQUEST["data"];
$min = 0;
date_format($data, 'Y-m-d');
$xmlDoc = simplexml_load_file("../data/".$localitat.".xml");
foreach ($xmlDoc->prediccion->dia as $dia){
if($dia['fecha'] == $data){
$min = $dia->temperatura->minima;
$max = $dia->temperatura->maxima;
}
}
$_SESSION["localitat"] = $localitat;
$_SESSION["data"] = $data;
$_SESSION["min"] = $min;
$_SESSION["max"] = $max;
header("location: ../views/Temperatura.php");
}
Und hier wird der doc („Temperatura.php“), die die Werte zeigen sollte:
<?php
session_start();
echo $_SESSION["localitat"]." ". $_SESSION["data"] . " " .
$_SESSION["min"];
$localitat = $_SESSION["localitat"];
$data = $_SESSION["data"];
$min = $_SESSION["min"];
$max = $_SESSION["max"];
?>
<html>
<head>
<title>Temperatura</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div id='data'>
Localitat: <?php echo ucfirst($localitat)?><br>
Data: <?php echo $data ?><br>
Temperatura mínima: <?php echo $min ?>ºC<br>
Temperatura màxima: <?php echo $max ?>ºC<br>
</div>
<a href='../index.php'><input type='button' value='Tornar a buscar'>
</a>
</body>
</html>
In der ersten Datei, sind die Werte korrekt Ich habe es mit einem Echo überprüft.
Wenn rufen Sie 'recollirDades()'? Weil ich nicht sehen kann, wo es heißt. – Jonathan
Sorry, habe vergessen, den Methodenaufruf dorthin zu setzen, ist am Anfang des Skripts –
Siehst du keinen Fehler in den Protokolldateien? – CoderSam