Goedenavond!

Ik heb een simpel loging systeem welke op basis van cookies werkt. Alles werkt naar behoren alleen is het vrij omslachtig om een aantal pagina's te beveiligen wanneer men niet ingelogd is. De volgende code gebruik ik om te kijken of men ingelogd is:

<?php
$username = $_COOKIE['loggedin'];
if (!isset($_COOKIE['loggedin'])) die("Je bent niet ingelogd, <a href=login.html>klik hier</a> om in te loggen.");
echo "Je bent ingelogd $username";
?>

Het vervelende is dat men de beveiligde pagina kan inzien wanneer ik deze code invoer op de betreffende pagina. Wanneer blijkt dat men niet ingelogd is moet men middels een hyperlink naar het inlog scherm.

Wat ik nu graag zou willen is dat er een soort redirect komt naar het inlogscherm (login.php) wanneer men niet ingelogd is. Dus niet middels een hyperlink naar het inlogscherm maar per direct wanneer blijkt dat men niet ingelogd is.

Is dit moeilijk aan te passen? Zo nee, hoe moet dat dan?
@Martijn, ik heb ook nog nooit een exit(); na een header moeten gebruiken...
Neen...inderdaad de exit werkt niet en nu is de pagina geheel blanco en laat dus ook de teksten en afbeelding niet zien.

De code die ik heb gebruikt is 1op1 overgenomen van GaMer13 en alleen de link is aangepast naar mijn site maar redirect niet wanneer men niet ingelogd is. snap er niets meer van......
@Martijn
--
/* Make sure that code below does not get executed when we redirect. */
--

=) is dus niet vereist, maar als je header niet verstuurd kan worden zorgt het er inderdaad wel voor dat onderstaande code niet uitgevoerd wordt. Maar nog steeds geen oplossing...

@adhome
Probeer eens helemaal bovenaan je script het stukje code uit te voeren.
okay...wacht effe. ik probeer effe een andere script programma
adhome schreef op 31.10.2007 21:03
okay...wacht effe. ik probeer effe een andere script programma



moet hij geheel bovenaan? Hij zet de php code nl vanzelf in de <body tag


Nou breekt mijn klomp! wanneer ik de code heb geupload > note > alleen de .php code en NIETS anders en ga in mijn broncode kijken dan zie ik helemaal geen php code staan. Hoe kan dat nu weer???????
Niet Bumpen.
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.
Zet dit tijdens het ontwikkelen eens bovenin je script:
<?php
error_reporting(E_ALL);
@ini_set('display_errors', 1);
?>

Nu krijg je alle meldingen (errors enzo) die PHP voor je heeft.

edit:

moet hij geheel bovenaan?


Voor de header functie mag er niets naar de browser worden gestuurd dus geen echo of html, etc.
Ja, officieel moet je een header verzenden voordat er andere data naar de browser is verzonden.

Reageren