Hallo mede-computermensen,

Misschien eerst even zeggen dat ik een beginnende php-programmeur ben.
daarnaast ook even vermelden dat ik al gezocht heb op het www en dit forum, maar niet echt antwoord kon vinden. Misschien gebruik ik de verkeerde zoektermen door mijn onwetendheid.

Ok, het probleem:

Ik heb een login-scriptje in php dat vraagt naar een naam en paswoord. Dit scriptje kijkt of deze beide bestaan of niet. Tot hiertoe geen problemen.

Het scriptje zit in een apparte DIV dmv een 'include' en sessies om gegevens overte dragen tussen verschillende pagina's.

Wanneer het script uitgevoerd wordt en er is iets mis met de login en paswoord, dan vraagt de site om opnieuw de gegevens in te geven. Wanneer het script alles perfect kan vinden, dan komt op de pagina een andere inhoud te staan.

Nu komt het probleem:
Wanneer de pagina de eerste keerde nieuwe inhoud krijgt, blijft de form staan in zijn DIV. Het is maar pas wanneer de pagina refreshed wordt, dat de form verdwijnt zoals het moet en de naam van de gebruiker daar komt te staan.

Nu dacht ik dit op te lossen door de pagina te refreshen wanneer het inlogscript vind dat alles goed is verlopen.


En dat is nu precies mijn probleem: Hoe forceer je een "refresh" na een actie?

Ik hoop dat jullie me kunnen helpen, want ik zit nu toch al en tijdje te zoeken hierop.

Jullie kunnen eens kijken op http://www.leliaert.eu/familie/index.php.
Log eerst eens in met een foute naam, eender wat. Daarna eens met login: modelbouw en paswoord: tester (deze login is uiteraard tijdelijk)

Alvast bedankt.
Ongelooflijk!!!!

Zit ik hier al 3 dagen te zoeken naar een oplossing, heb ik 5 minuten een post geplaatst hier en kom ik dit tegen.

Ik zal het hier maar even neerzetten, want ik weet niet of dit de juiste methode is. Ik heb er zo mijn twijfels bij, maar het lijkt toch te werken.

Op http://marc.info/?l=php-general&m=118849827319363&w=2 spreken ze van een echo in de vorm van (uiteraard aangepast voor mijn site) na het verwerken van de form:

echo "<META HTTP-EQUIV='refresh' content='0;URL=http://www.leliaert.eu/familie/index.php'>";;

Is dit de correcte oplossing?

Dank voor uw begrip en mening.

Gelieve Niet Bumpen:

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.

Mag ik dan beleefd vragen wat het voordeel van die "header" is t.o.v. echo dieik heb gebruikt?

De echo die ik heb gebruikt is nu aangepast zodat ik hem op al mijn pagina's kan gaan gebruiken:
echo "<META HTTP-EQUIV='refresh' content='0;URL=" . $current_url . "'>";


De $ werdin het begin gedeclareerd als:
$current_url = $_SERVER['PHP_SELF'];
Als ej die META-tag gebruikt om te refreshen. Dan hoop ik dat die op de juiste plek in je HTML code staat :).
En niet onnodig variabelen gaan kopieren ;) . Zelfs als je besluit je META tag te gebruiken, alhoewel ik ook de header aanraad, kan je daarin prima $_SERVER['PHP_SELF'] gebruiken.
Mag ik je dan wel hierop wijzen?
Midas, bedankt voor die laatste link.

Alfa,

En niet onnodig variabelen gaan kopieren ;) . Zelfs als je besluit je META tag te gebruiken, alhoewel ik ook de header aanraad, kan je daarin prima $_SERVER['PHP_SELF'] gebruiken.


Waarom als ik vragen mag? Omdat je dan het eindresultaat iets groter gaat maken en zodoende meer traffic genereert?
Ik doe dit enkel omdat het dan lekkerder typt en zo een aantal schrijffouten kan elimineren.

Ark,
als ik eventueel "header" zou gaan gebruiken. Moet die dan op dezelfde plaats staan als waar ik de "meta" heb neergepoot? Dan zou ik ook nog een andere manier moeten vinden om de locatie van de laatste pagina hieraan mee te geven.


En, mannen, bedankt voor de reacties en hulp van jullie kant. Ik ben blij dat er nog behulpzame mensen zijn die tijd spenderen aan de groentjes zoals ik.
als ik eventueel "header" zou gaan gebruiken. Moet die dan op dezelfde plaats staan als waar ik de "meta" heb neergepoot? Dan zou ik ook nog een andere manier moeten vinden om de locatie van de laatste pagina hieraan mee te geven.


Klopt, Dan kan je het toch op de volgende manier doen?

<?PHP
header('location: '. $current_url .'');
?>
Alleen krijg je natuurlijk met redirect headers wel gezeik als je output ervoor hebt. Maar dat moet je dan maar mooi in een leuke if zetten.

edit: Onnodig vars kopieren wordt gezien als "slecht" scripten. Leer jezelf geen verkeerde dingen aan. En het is niet zo heel moeilijk geen typfouten te maken in $_SERVER['PHP_SELF'] .

En oja, het is Afra, geen Alfa ;)
Almost the same xD :)

Reageren