Ik wil een simpel inlog scriptje schrijven, enkel om mijn pagina's die IK alleen mag zien (CMS invoer pagina's) te beveiliggen.

Hoe kan ik dit het best aanpakken, vast gebruik makend van sessions?

Wie kan mij goede eerste hulp geven / waar staat goede informatie hierover. (ben niet opzoek naar uitgebreide member scripts!).

Alle hulp zodat ik kan beginnen is goed!

N00B
Ik werk zelf met sessions
en met verificatie van de database.
en wachtwoord met MD5

In de DB staat bijvoorbeeld een tabel : inlog
met velden : inlognaam & wachtwoord

<?php
session_start();

// uiteraard eerst connecten naar de DB en een formuliertje

$_SESSION["inlognaam"] = $_POST["inlognaam"];
$_SESSION["wachtwoord"] = md5($_POST["wachtwoord"]);

$query = mysql_query("SELECT * FROM inlog WHERE inlognaam = " . $_SESSION["inlognaam"] . " AND wachtwoord = " . $_SESSION["wachtwoord"] . " ");

$res = mysql_num_rows($query);

if($res == '1'){
echo "Inlog gelukt";
} else {
echo "Inlog mislukt";
}
?>

Heb dit maar ff snel in elkaar geprutst,
uiteraard niet getest, maar het is voor het idee.
je kan anders ook veel voorbeelden krijgen op het forum als je een beetje zoekt..

Hoop dat je er wat aan hebt.
Groet

Matthijs
Script werkt vast niet..
<?
$query = mysql_query("SELECT * FROM inlog WHERE inlognaam = " . $_SESSION["inlognaam"] . " AND wachtwoord = " . $_SESSION["wachtwoord"] . " ");
?>

moet zoiets zijn:
<?
$query = mysql_query("SELECT * FROM inlog WHERE inlognaam = '".$_SESSION['inlognaam']."' AND wachtwoord = '".$_SESSION['wachtwoord']."'");
?>
anders kon je wel e sde mist in gaan :)
Bedankt Matthijs en Jorik,

Ik ben begonnen met het script.
Ik heb een tabel aangemaakt: inlog, met daarin de velden: id, inlognaam en wachtwoord.

Voor de invoer van gebruikersnaam en wachtwoord heb ik de volgende form gemaakt:

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="inlog.php">
Gebruikersnaam:<br>
<input type="text" name="gebruikersnaam" value="" size="20"><br>
<br>
Wachtwoord:<br>
<input type="text" name="wachtwoord" value="" size="20"><br>
<br>
<input type="submit" value="Versturen" onclick="this.disabled=true; this.form.submit();"></form>
</body>
</html>
--------------

Om dan met deze gegevens ook daardwerkelijk in te loggen heb ik het volgende script:

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

$hostname = "db.pcextreme.nl";
$user = "z";
$password = "z";
$database = "z";

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);

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

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

$res = mysql_num_rows($query);

if($res == '1'){
echo "Inlog gelukt";
} else {
echo "Inlog mislukt";
}
?>
--------------------------

Maar hij blijft geven: inlog minslukt, wat moet ik veranderen?
Enne hoe zorg ik er voor dat de beveiligde pagina's alleen bezocht kunnen worden nadat de juiste inlog gegevens zijn ingevuld? ( hoe zorg ik er voor dat niet iedereen de pagina's, zonder in te loggen bekijken kan).

(Het is voor een CMS systeem waar ik alleen op mag!)
Je moet in de database wel in de velden wat invullen, bijvoorbeeld:

id: 1, inlognaam: Admin, wachtwoord: admin (moet alleen wel in md5.
Heb ik onder id 1 staat:
gebruikersnaam: jbaken
Wachtwoord: 97****

Zo slim was ik ook nog wel ;-)
97**** is niet gecodeerd met md5. Als je dat wachtwoord invoert dan zal het script md5(wachtwoord) controleren met de database.

Je moet dus even een sql commando runnen om een juist wachtwoord in de database te zetten.

$wachtwoord = md5(97****);
$query = mysql_query("update inlog set wachtwoord=$wachtwoord WHERE id=1");
Mwah killalot, ik heb je script er op geplaatst en gezorgd dat hij ook verbinding maakt, maarre hij past het wachtwoord niet aan in mijn database. Volgens mij voert hij de query niet uit, er is ook geen foutmelding.

Ik heb ook geprobeert met een emulator een md5 wachtwoord te maken en deze er dan in te zetten, maar dan gebeurt er ook niets anders. Dus of de emulator was niet goed, of het werkt met md5 ook niet...

Kan iemand mij nogmaals helpen?
Doe eens:

$ww = md5("97****");
echo $ww;

en daarna pas je dat wachtwoord aan in je database.
ja, of als je phpmyadmin draait,
vul je wachtwoord in, en kies als extra MD5
Super, hij geeft nu: inloggen gelukt! :-)

Maarre hoe zorg ik er voor dat de beveiligde pagina's alleen bezocht kunnen worden nadat de juiste inlog gegevens zijn ingevuld? ( hoe zorg ik er voor dat niet iedereen de pagina's, zonder in te loggen bekijken kan).

(Het is voor een CMS systeem waar ik alleen op mag!)

Iets met: session_start(); op iedere pagina? Of een include()?

Reageren