Simpel inlog scherm

Status
Niet open voor verdere reacties.

swallav

Terugkerende gebruiker
Lid geworden
19 jul 2007
Berichten
1.482
Ik ben opzoek naar een simpel inlog scherm. Het maakt niet uit dat de toegangs code etc in de bron code staan. Dat maakt me verder niet veel uit. Het enige wat het hoeft te doen is, is het kijken of het wachwoord klopt, en vervolgens doorsturen naar de pagina. Heeft iemand zo'n simpel script. Ik ben op het gebied van site building een leek dus kom aub niet met al te moeilijke instructies.
 
Ik maak meestal gebruik van beveiligde directory's dus Erik of iemand anders zal mijn code moeten nalopen, maar ik denk dat dit werkt:

index.php:
PHP:
<?php
	session_start();
	$_SESSION['ingelogd'] = FALSE;
	if (isset($_POST['ww']) && $_POST['ww'] == '%ghj*gJlS') {
		$_SESSION['ingelogd'] = TRUE;
		header('Location: anderepagina.php');
	}
?>
<form method="post" action="index.php">
	<input type="text" name="ww" />
	<input type="submit" value="doorgaan" />
</form>
anderepagina.php
PHP:
<?php
	session_start();
	if (isset($_SESSION['ingelogd']) && $_SESSION['ingelogd'] == TRUE) {
		if (isset($_GET['a']) && $_GET['a'] == 'ul') {
			$_SESSION['ingelogd'] = FALSE;
			header('Location: index.php');
		} else {
			echo "je bent ingelogd. <a href='?a=ul'>uitloggen</a>";
			// hier je eigen content plaatsen
		}
	} else {
		header('Location: index.php');
	}
?>
 
Laatst bewerkt:
Ik zou van index.php dit maken:

PHP:
<?php
    session_start();

    if ( $_SERVER[ 'REQUEST_METHOD' ] == 'POST' && $_POST['ww'] == '%ghj*gJlS') {

        $_SESSION['ingelogd'] = TRUE;
        header('Location: anderepagina.php');

    }
?>
<form method="post" action="index.php">
    <input type="text" name="ww" />
    <input type="submit" value="doorgaan" />
</form>

Het heeft geen zin om eerst $_SESSION[ 'ingelogd' ] of false te zetten, want als iemand dan index.php bezoekt terwijl ie al is ingelogd, moet ie weer opnieuw inloggen. En checken of het formulier verstuurd is doe je middels $_SERVER[ 'REQUEST_METHOD' ] == 'POST' .

En van anderepagina.php zou ik dit maken:

PHP:
<?php

    session_start();

    if ( isset ( $_SESSION[ 'ingelogd' ] ) && $_SESSION[ 'ingelogd' ] ) {
        if ( isset ( $_GET[ 'a' ] ) && $_GET[ 'a' ] == 'ul' ) {
            $_SESSION['ingelogd'] = FALSE;
            header('Location: index.php');
        } else {
            echo "Je bent ingelogd. <a href='?a=ul'>uitloggen</a>";
            // hier je eigen content plaatsen
        }
    } else {
        header('Location: index.php');
    }
?>

ik heb 1 keer == TRUE weggehaald, aangezien hij nu ook kijkt of de waarde true is.

Verder een mooi stukje code hoor! :thumb:
 
Laatst bewerkt:
Ik zou van index.php dit maken:

PHP:
<?php
    session_start();

    if ( $_SERVER[ 'REQUEST_METHOD' ] == 'POST' && $_POST['ww'] == '%ghj*gJlS') {

        $_SESSION['ingelogd'] = TRUE;
        header('Location: anderepagina.php');

    }
?>
<form method="post" action="index.php">
    <input type="text" name="ww" />
    <input type="submit" value="doorgaan" />
</form>

Het heeft geen zin om eerst $_SESSION[ 'ingelogd' ] of false te zetten, want als iemand dan index.php bezoekt terwijl ie al is ingelogd, moet ie weer opnieuw inloggen. En checken of het formulier verstuurd is doe je middels $_SERVER[ 'REQUEST_METHOD' ] == 'POST' .

En van anderepagina.php zou ik dit maken:

PHP:
<?php

    session_start();

    if ( isset ( $_SESSION[ 'ingelogd' ] ) && $_SESSION[ 'ingelogd' ] ) {
        if ( isset ( $_GET[ 'a' ] ) && $_GET[ 'a' ] == 'ul' ) {
            $_SESSION['ingelogd'] = FALSE;
            header('Location: index.php');
        } else {
            echo "Je bent ingelogd. <a href='?a=ul'>uitloggen</a>";
            // hier je eigen content plaatsen
        }
    } else {
        header('Location: index.php');
    }
?>

ik heb 1 keer == TRUE weggehaald, aangezien hij nu ook kijkt of de waarde true is.

Verder een mooi stukje code hoor! :thumb:


In die code controleert hij toch niet op gebruikersnaam en wachtwoord, veel te makkelijk om te omzeilen ...
 
Hij controleert alleen op wachtwoord; gezien er ook geen username input is lijkt me dat genoeg :P

Verder is ie wel veilig hoor, er is alleen maar 1 wachtwoord en dat is hardcoded, maar verder kun je em zo overnemen. Zolang je maar op let dat je die controle of iemand ingelogd is op elke pagina hebt.
 
Hij controleert alleen op wachtwoord; gezien er ook geen username input is lijkt me dat genoeg :P

Verder is ie wel veilig hoor, er is alleen maar 1 wachtwoord en dat is hardcoded, maar verder kun je em zo overnemen. Zolang je maar op let dat je die controle of iemand ingelogd is op elke pagina hebt.

Die code van andere pagina werkt niet als je die in een pagina zet met frames in
Test maar

<?php

session_start();


if ( isset ( $_SESSION[ 'ingelogd' ] ) && $_SESSION[ 'ingelogd' ] ) {

if ( isset ( $_GET[ 'a' ] ) && $_GET[ 'a' ] == 'ul' ) {

$_SESSION['ingelogd'] = FALSE;

header('Location: index.php');

} else {
echo "Je bent ingelogd. <a href='?a=ul'>uitloggen</a>";

// hier je eigen content plaatsen
}
} else {

header('Location: index.php');

}
?>
<html>
<head>
<title>Homepage</title>
</head>
<frameset rows ="22%,*" border ="1">
<frame src ="header.htm" scrolling ="no" noresize>
<frame src ="inhoud.php" name ="inhoud" noresize>
</frameset>
</frameset>
</html>
</html>
 
Dat komt omdat frames antieke rommel zijn :P Die moet je ook niet gebruiken.
 
Je kunt ook een header weergeven zonder frames. Als je daadwerkelijk nog frames gebruikt, kan ik je aanraden om in de vrije dagen eens héél veel te gaan lezen over moderne (X)HTML en CSS. Je zult er achter komen, dat frames al járen uit den boze zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan