Inlogsysteem

Status
Niet open voor verdere reacties.

MartyNL

Gebruiker
Lid geworden
17 jan 2010
Berichten
10
Ik moet een inlogsysteem maken:

Deze pagina moet een login-formulier bevatten waarin je de naam en het wachtwoord kunt invullen. Wanneer de naam gelijk is aan je eigen naam en het wachtwoord gelijk is aan “ 12start” moet je automatisch naar de pagina “start.php” doorgestuurd worden.

Op deze pagina moet de tekst “Welkom <naam>” getoond worden, met in plaats van <naam> de naam die je in het login-formulier hebt ingevoerd. Als je dus inlogt met “Pieter” als naam dan moet de tekst “Welkom Pieter” getoond worden.


Het formulier en het doorsturen heb ik.
Alleen ik krijg het niet voor elkaar met die naam.
 
Hoi,

Het lijkt mij dat je dit met MySQL doet?

Voor de groet kun je zijn/haar naam toch gewoon op laten halen uit de database?

Ik denk dat je hier wel wat aan hebt: http://php.net/manual/en/control-structures.if.php.

Mvg,
Stein

Zelf heb ik nog niet met MySQL gewerkt.
In deze opdracht gaat het om 1 gebruiker, deze heb ik zo in het formulier staan:
PHP:
<?php
session_start();
// formulier-waarden staat in $_POST[]
$boodschap = "";

if (isset($_POST["loginnaam"])) {
	if ($_POST["loginnaam"] == "Marnik" and $_POST["wwoord"] == "12start") {
		// login is goed
		$_SESSION["ingelogd"] = "ja";
		header("location:start.php");
	}
		elseif($_POST["loginnaam"] == "admin" and $_POST["wwoord"] == "1234") {
		// login is goed
		$_SESSION["ingelogd"] = "ja";
		header("location:admin.php");
	} 
		else { 
		// login is fout
		$boodschap = "Foute login-wachtwoord combinatie";
		$_SESSION["ingelogd"] = "nee";
	} 
}
?>
 
Laatst bewerkt:
Dus het gaat je alleen om het stukje: 'header("location:...php");' ?

Zou je ook gewoon een redirect in kunnen stellen.
 
Laatst bewerkt:
PHP:
<?php
session_start();
if ($_SESSION["ingelogd"] != "ja") {
	header("location:login.php");
	}
?>

Dit hierboven heb ik in start.php staan.
Login.php is het inlogformulier.

Kan ik niet laten controleren of de input gelijk is aan een variable, en dat dan in een session opslaan?
 
Dus het hele script zou er ongeveer zo moeten uitzien?

PHP:
<form name="form1" method="post">
  <table width="50%"  border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="22%"><font face="Verdana" size="2">Username</font></td>
      <td width="78%"><input name="loginnaam" type="text" id="loginnaam" size="10" maxlength="20"></td>
    </tr>
    <tr>
      <td><font face="Verdana" size="2">Password</font></td>
      <td><input name="wwoord" type="password" id="wwoord" size="10" maxlength="20"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Login"></td>
    </tr>
  </table>
</form>

<?php
session_start();
// formulier-waarden staat in $_POST[]
$boodschap = "";
 
if (isset($_POST["loginnaam"])) {
    if ($_POST["loginnaam"] == "naam1" and $_POST["wwoord"] == "pass1") {
        // login is goed
        $_SESSION["ingelogd"] = "ja";
        header("location:pagina.php");
    }
        elseif($_POST["loginnaam"] == "admin" and $_POST["wwoord"] == "1234") {
        // login is goed
        $_SESSION["ingelogd"] = "ja";
        header("location:admin.php");
    } 
        else { 
        // login is fout
        $boodschap = "Foute login-wachtwoord combinatie";
        $_SESSION["ingelogd"] = "nee";
    } 
}
?>
 
Let wel op voor XSS injecties als je de value van een form weergeeft.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan