Ik heb een vraagje over het refreshen van de site. Mijn site bestaat uit 3 frames:
1. boven.php
2. links.php
3. hoofd.php
Als ik in het linker frame een login-script include werkt dit perfect, maar als er ingelogd is, moet hij de site vernieuwen en dat werkt niet. Heeft iemand een idee hoe dit moet?? Bijvoorbeeld als ik inlog wil ik in het bovenste frame een menu te zien krijgen die alleen te zien is voor gebruikers die zijn ingelogd. Dus in het linker frame log ik in en dan wil ik de site refreshen om vervolgens in het bovenste frame een menu te laten zien voor gebruikers die zijn ingelogd.
Bij het loginscript in de form target="_parent" neerzetten.
dus
<form method="post" action="" target="_parent">
loginscript
</form>
Stuur een GET-variabele mee in de action regel. Dus index.php?actie=login
Als hij is ingelogd geef je hem sessievariabele mee.
b.v. $_SESSION['ingelogd'] = 1;
Dan kan je de menu's veranderen in je kop.php dmv
<?php
if ($_SESSION['ingelogd']){
//menu als men is ingelogd
} else {
//menu als men NIET is ingelogd
}
?>
Vergeet niet de session_start() regel bovenaan iedere pagina te zetten.
Als je inlogd zou de tekst je bent ingelogd al gelijk tevoorschijn moeten komen. Nu komt die pas als je op vernieuwen drukt. Dit is even ipv het menu, maar met hetzelfde principe.
Volgens mij snap ik wat je probleem is Dominique, maar dat komt omdat je action inloggen.php is denk ik. Als je nu gaat inloggen en je klikt op de submit knop, laadt de pagina alleen maar inloggen.php, Wat je zou moeten doen is controleren in je index.html (is een gok, maar omdat je frames gebruikt) of er wat verzonden is en als dat het geval is, dan moet inloggen.php worden uitgevoerd.
EDIT
Wat eventueel ook zou kunnen werken is de indexpagina includen in je inloggen.php. Doe dit dan wel nadat de controle is uitgevoerd.
Maar werkt dit wel met frames dan? De index pagina includen werkt niet. Als ik de action van het form leeg laat dan werkt ie ook niet, doet precies hetzelfde als ervoor.
Heeft iemand misschien een voorbeeld dat werkt ofzo? Dat er in een linkerframe wat aangeklikt wordt en dat er in het bovenste frame wat verschijnt. Zou mooi zijn als iemand mij verder kan helpen met dit probleem.
Als je de target verandert in de naam die je aan je bovenste frame hebt gegeven, dan zou het moeten werken. Heet je frame bijvoorbeeld TOP, maak dan van de form tags dit:
<form name="form1" method="post" action="" target="TOP">
Het enige dat die dan niet doet is de hele pagina verversen, maar zoals je het in je laatste reply omschrijft wil je dat het topframe dan verandert.