Goedendag allen,

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.

Ik hoop dat iemand mij kan helpen.

Alvast vriendelijk bedankt,

groeten Domi
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.
Dat met die target wil niet lukken, dan wordt er een nieuw venster geopent. Dit is mijn huidige regel:

<form name="form1" method="post" action="inloggen.php">
script
</form>

Ik maak ook al gebruik van sessies, ik heb in het bovenste frame dus ook gebruik gemaakt van:

if(isset($_SESSION['sgebruiker'])) {
/* hier moet dan het menu komen voor de ingelogde gebruiker */
}

session_start() heb ik boven aan de pagina staan.

Wat doe ik fout? Of snap ik niet wat je bedoelt?
Heb je dit zonder fouten geschreven?

<form name="form1" method="post" action="inloggen.php" target="_parent">

Dit moet normaal gesproken werken om alles te laten refreshen. Als je het verkeerd schrijft, dan opent hij inderdaad een nieuw venster.

Het is 'Onthoud mijn gegevens' :D
Hehe, nederlandse taal moet je ff met korreltje zout nemen ;)

Maare kijk nu nog maar eens op de site, de regel is nu letterlijk (gekopieert):

<form name="form1" method="post" action="inloggen.php" target="_parent">

Maar wat hij nu doet is alleen het linker frame, waar je dus inlogd, in een venster openen, nu zie je het boven en het hoofd frame nergens meer.
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.

Bij deze code opent hij een nieuw venster

<form name="form1" method="post" action="" target="_parent">

en bij deze code geen nieuw venster, maar gewoon zoals het hoort in het frame, maar de pagina wordt nog niet ververst

<form name="form1" method="post" action="" target="">
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.

Groeten Domi
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.
gewoon de hoofdpagina opnieuw laten openen

Reageren