Ik wil iets heel simpels vragen, kweet het het is echt heel makkelijk voor echte phpers (denk ik), maar ik kan het niet vinden.

Ik wil graag een simpel loginscript. Gewoon je moet je gebruikersnaam intypen en dan je wachtwoord, en als dat goed is kan je naar de rest van de site..
Het kan gewoon met ifs maar ik kweet niet hoe, wie kan mijn helpen?

Ps: ik heb al gezocht in script, maar vaak zit het ingebouwd en snap ik er niet veel van, of kan niks vinden. IK zoek denk ook op de verkeerde termen denk ik. Want waar valt zoiets onder?
Hier mijn script om mijn cms pagina's te beveilliggen.

--------invoerinlog.php -------------
<html>
<head>
<title>ADMIN</title>
<meta http-equiv="Content-Type" content="text/html; =
charset=iso-8859-1">
</head>

<body>

<b><BR>


<form method="post" action="login.php">
<? // Hier had je action="inlog.php" terwijl dat action="login.php" moet zijn omdat je bestand waar hij het form naartoe stuurt login.php heet ?>
Gebruikersnaam:<br>
<input type="text" name="gebruikersnaam" value="" size="20"><br>
<br>
Wachtwoord:<br>
<input type="password" name="wachtwoord" value="" size="20"><br>
<br>
<input type="submit" value="Versturen" =
onclick="this.disabled=true; this.form.submit();"></form>
</body>
</html>
--------------------- end -----------------------------

------------------ Login.php -------------------------
<?php
session_start();

// ------------------------------------------------------

$hostname = "host";
$user = "gebruikernsaam";
$password = "wachtwoord";
$database = "database";

// Hier moet je even je eigen database info weer zetten...

mysql_connect($hostname, $user, $password) or trigger_error(mysql_error(), E_USER_ERROR);
mysql_select_db($database) or trigger_error(mysql_error(), E_USER_ERROR);

$gebruikersnaam= $_POST["gebruikersnaam"];
$wachtwoord= md5($_POST["wachtwoord"]);

$query = mysql_query("SELECT * FROM inlog WHERE inlognaam = '".$gebruikersnaam."' AND wachtwoord = '".$wachtwoord."'");

$res = mysql_num_rows($query);

if($res == '1'){

$_SESSION['gebruikersnaam'] = $gebruikersnaam;
$_SESSION['wachtwoord'] = $wachtwoord;

header("Location: index.php");
// als je wilt dat je automatisch doorgestuurd wordt naar md5.php moet je even de dubbele slash (//) weghalen in de regel hierboven.

} else {
echo "Inlog mislukt";
}
?>
------------------------- End --------------------------
------------------------- Index.php -------------------
<?PHP
session_start();
// Zomaar een PHP tag, werkt mijn log sript?

if(empty($_SESSION['gebruikersnaam']) OR empty($_SESSION['wachtwoord']))
{
echo 'Geen toegang!';
}
else
{
?>
HTML Pagina
<?PHP
}
?>
----------------------------- End -----------------------

Je moet wel even een database aanmaken met gebruikersnaam en wachtwoord in md5.

Succes ermee
Je maakt 2 pagina's aan (om het simpel te houden, het kan in één):

Eentje met een login schermpje in html geschreven, met form; username, password, submit. De form verwijs je naar de inlogpagina.

De inlogpagina schrijf je in html, je controleert de invoer en kijkt of ze overeenkomen met een waarde uit je database (of, als je het heel simpel (en onveilig) wilt houden met waarden uit het script. Dan krijg je zoiets in php:

<?php
session_start()
$user=htmlentities($_POST['username']);
$pass=htmlentities($_POST['password']);

if ($user == "gebruikersnaam" && $pass == "wachtwoord") {
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
header("Location: index.php");
}else{
print "U heeft de verkeerde gegevens ingevoerd";
}
?>

Let er op dat je op pagina's die alleen toegankelijk zijn voor leden controleert of ze ingelogd zijn dmv

<?php
if(isset($_SESSION['user'])) {
// pagina voor ingelogde leden
}else{
// doorsturen naar error-pagina
}
?>

Zoiets zou moeten kunnen. Weet niet zeker of alles klopt, maar heb erg weinig geslapen vannacht dus zie en denk een beetje wazig.

Succes in ieder geval!
Ik krijg een error op lijn 3:
$user=htmlentities($_POST['username']);

Wat is er fout aan.. (de fout staat niet aangegeven welke het is)

Reageren