session_destroy werkt met IE9 maar niet in Chrome
Hoi,
In een inlogpagina staat als eerste 3 regels
<php>
session_start();
session_unset();
session_destroy();
?>
Wanneer ik vanuit de pagina die door de inlogpagina wordt aangeroepen terug ga (via browser vorige pagina), dan worden de form input velden bij IE9 keurig leeggemaakt. Bij Chrome gebeurt er niets en blijft de eerdere invoer in de login velden zichtbaar.
Iemand enig idee hoe ik dit zou kunnen oplossen?
Groeten, Gerrit
In een inlogpagina staat als eerste 3 regels
<php>
session_start();
session_unset();
session_destroy();
?>
Wanneer ik vanuit de pagina die door de inlogpagina wordt aangeroepen terug ga (via browser vorige pagina), dan worden de form input velden bij IE9 keurig leeggemaakt. Bij Chrome gebeurt er niets en blijft de eerdere invoer in de login velden zichtbaar.
Iemand enig idee hoe ik dit zou kunnen oplossen?
Groeten, Gerrit
Gewijzigd op 10/02/2012 21:50:54 door Gerrit broekhuis
Wat heeft dat met de session te maken?
Allereerst is PHP een server-side scripting taal, wat betekend dat het op de server gebeurd en het dus server afhankelijk en niet browser afhankelijk is. Of je nou Chrome, Opera, IE of je zelfgemaakte browser gebruikt PHP code veranderd niet.
Dit is duidelijk een HTML/CSS fout. Kun je misschien iets meer content geven, hoe ziet je HTML form eruit? Hoe haal je hem leeg? Enz.
Dit is duidelijk een HTML/CSS fout. Kun je misschien iets meer content geven, hoe ziet je HTML form eruit? Hoe haal je hem leeg? Enz.
Misschien zit ik inderdaad niet in het goede spoor, maar ik dacht dat het met sessions te maken zou kunnen hebben. Het gedrag onder IE is in ieder geval anders dan onder Chrome.
Onderstaand de uitgeklede PHP pagina's om het te testen:
demo1.php:
demo2.php:
Het lijkt me logisch dat wanneer je naar een form terug gaat, deze weer leeg getoond wordt (zoals in IE). Moet ik dat met Javascript oplossen?
Onderstaand de uitgeklede PHP pagina's om het te testen:
demo1.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
session_start();
session_unset();
session_destroy();
?>
<html>
<body>
<form method="post" action="demo2.php">
Naam:</td><td><input type="text" id="login" name="login" /><input type="submit" value="Inloggen" />
</form>
</body>
</html>
session_start();
session_unset();
session_destroy();
?>
<html>
<body>
<form method="post" action="demo2.php">
Naam:</td><td><input type="text" id="login" name="login" /><input type="submit" value="Inloggen" />
</form>
</body>
</html>
demo2.php:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
session_start();
ob_start();
$gebruikersnaam = $_POST['login'];
$_SESSION['logged_in'] = true;
echo "welkom ". $gebruikersnaam;
?>
session_start();
ob_start();
$gebruikersnaam = $_POST['login'];
$_SESSION['logged_in'] = true;
echo "welkom ". $gebruikersnaam;
?>
Het lijkt me logisch dat wanneer je naar een form terug gaat, deze weer leeg getoond wordt (zoals in IE). Moet ik dat met Javascript oplossen?
Gerrit broekhuis op 10/02/2012 21:49:36:
Wanneer ik vanuit de pagina die door de inlogpagina wordt aangeroepen terug ga (via browser vorige pagina)
Het is vrij normaal dat de velden dan nog zijn ingevuld. Je gaat via de browser terug namelijk. De pagina wordt dan uit de browsercache opgehaald en niet opnieuw van de server. Dus het lijkt mij een browserkwestie en niet het script.
Gewijzigd op 13/02/2012 15:56:09 door - SanThe -
Opgelost via Javascript vlg. http://www.boutell.com/newfaq/creating/clearform.html
Gewijzigd op 14/02/2012 13:00:12 door gerrit broekhuis




