Hallo,

Ik heb 2 pagina's waarbij een waarde die op de ene wordt berekend weergegeven moet worden op de andere pagina.

Als ik het test met een vaste waarde dan werkt het prima.

pagina 1:

<?php
// Start the session
session_start();

$_SESSION['woord'] = "hallo";
?>


pagina 2:

<?php
session_start();
echo "Het woord is: " . $_SESSION['woord'] . ".";
?>


Nu probeer ik het met het onderstaande te doen in de 1e pagina


<?php
session_start();
$default_besparing = 0.00;
$besparing_dakisolatie = 0.00;

$row = $besparing->fetch_row();
$besparing_ses = $row[0];
$besparing_dakisolatie = number_format($default_besparing + $besparing_ses, 2, ",", ".");
$_SESSION['besparen'] = $besparing_dakisolatie;
?>


Op de 2e pagina heb ik dan

<?php
session_start();
echo $_SESSION['besparen'];
?>


De waarde wordt nu pas weergegeven nadat de pagina vernieuwd wordt en dat is vervelend als je iets uitrekent en daarna de pagina moet vernieuwen om het resultaat te zien.

Iemand een idee wat ik fout doe?

Alvast bedankt.
Je kan toch onder aan je derde script die sessie gewoon echo'en?
Als ik het onder het derde script zet dan zie ik de waarde.
Maar ik wil het op een andere pagina ook zien.

Ik heb een index.php en daar heb ik een tabel waar ik deze waarde in weer wil geven.
Deze waarde komt van een ander php bestand. De waarde heb ik verder ook nog nodig om een totaal bedrag uit te rekenen.

Op deze testsite kun je het zelf zien.
http://www.eenwebsitemetwordpress.nl/wp-content/themes/breno-child/besparingscalculator

De waarden onder de tabel worden met ajax weergegeven. Deze code heeft een andere forumgebruiker voor me gemaakt. Daar zie je wat het moet zijn. Misschien dat het ook het ajax resultaat gefilterd kan worden, maar van ajax heb ik helemaal geen verstand :(
Je wilt dus de waarde die uit de calculator komt in een sessie opslaan?
Ja met het 3e script. (of iets anders als dat beter is)
Deze sessie wil ik gebruiken om het bedrag dat je spaart weer te geven in de tabel.
Er komen nog meer rijen in de tabel met andere isolatie opties en dan wil ik met sessies de bedragen die gespaard worden weergeven en dan onderaan de tabel optellen om zo het totaal weer te geven.

Weet niet of dit de beste oplossing is, maar kwam op internet steeds weer op sessies uit.
Je kan de waarde die uit de berekening komt via een AJAX-request naar een PHP script sturen, die het vervolgens in een sessie plaatst.
Ok, ik snap wat je bedoelt. Denk alleen niet dat ik het voor elkaar ga krijgen met AJAX maar ga een poging doen. Zal eens googlen op AJAX request.
Adoptive Solution op 11/08/2020 12:08:53

De pagina gebruikt dezelfde code die ik hier heb gedumpt. (Hint. Kijk in de broncode)

https://www.phphulp.nl/php/forum/topic/2e-dropdown-vullen-op-basis-van-de-1e-dropdown/103650/#750562

Het enige wat moet gebeuren is in bestand isolatie_calc.php bovenaan een session_start() toe te voegen en verderop $_SESSION['besparen'] . Of wat er verder moet worden onthouden.


Dat heb ik ook op dit moment.

<?php
session_start();
$default_besparing = 0.00;
$besparing_dakisolatie = 0.00;

$row = $besparing->fetch_row();
$besparing_ses = $row[0];
$besparing_dakisolatie = number_format($default_besparing + $besparing_ses, 2, ",", ".");
$_SESSION['besparen'] = $besparing_dakisolatie;
?>


maar als ik dan op de index pagina de sessie start en een echo doe dan wordt de waarde alleen weergegeven als ik de pagina vernieuw.

In jouw code wordt met AJAX alles weergegeven met <p id="resultaat"></p>.
Dit zijn op dit moment 3 waarden die er dan weergegeven worden. Kan ik die ook apart van elkaar uitlezen/gebruiken? Want dan zou het ook op die manier kunnen.
Ik zie dat je met de calculator de waardes inderdaad via POST naar een PHP-script (isolatie.php en isolatie_calc.php) stuurt. De waardes uit je $_POST moet je wel uiteraard opslaan in je sessie, en ik zie dat je niks met $_POST doet in je script.

Reageren