wij allemaal wel. wat heb je al?
je zal ongeveer zoiets zoeken (bear the typos, lossepols werk)
<?
session_start();
include('connection.php');
if (isset($_POST['username']) && !empty($_POST['username']) && isset($_POST['password']) && !empty($_POST['password']))
{
$sql = 'SELECT
id, afdeling
WHERE
username = "'.$_POST['username'].'"
AND
password = "'.md5($_POST['password']).'"';
$res = mysql_query($sql,$link);
if ($res && mysql_num_rows($res) == 1)
{
$row = mysql_fetch_array($res);
$_SESSION['userid'] = $row['id'];
header('location:index'.$row['afdeling'].'.php');
} else {
header('location:loginerror.php');
}
}
?>
Link gekopieerd
Nou begin eerst met een database model:
gebruikers
---------
id
naam
wachtwoord
afdeling
Kan je makkelijk zelf uitbreiden.
<?
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$naam = trim($_POST['naam']);
$wachtwoord = trim($_POST['wachtwoord']);
$query = mysql_query("
SELECT
afdeling
FROM
gebruikers
WHERE
naam = '".addslashes($naam)."'
AND
wachtwoord = '".addslashes(md5($wachtwoord))."'") or die(mysql_error());
$gebruiker = mysql_fetch_assoc($query);
if((mysql_num_rows($query) == 1) && (!empty($wachtwoord)) && (!empty($naam)))
{
header("location:index".$gebruiker['afdeling'].".php');
}
}
?>
<form method="post" action="<? $_SERVER['PHP_SELF'] ?>">
<input type="text" name="naam" />
<input type="password" name="wachtwoord" />
<input type="submit" name="login" value="Inloggen" />
</form>
Edit:
Wes was sneller
Link gekopieerd
maak er trouwens gewoon index.php van en gooi daarachter de afdeling die je wil hebben.
Bijvoorbeeld:
<?php
header ("location: index.php?afd=".$afd);
?>
dit voorkomt dat je extreem veel bestanden krijgt en laat je php het werk doen!
Link gekopieerd
Crispijn schreef op 02.05.2007 09:46
... dit voorkomt dat je extreem veel bestanden krijgt en laat je php het werk doen!En natuurlijk het feit dat illegale tekens gebruikt in je bestandsnaam (zoals P
& O). Natuurlijk moet je hier ook opletten bij de 'afdelingen'.
Elwin
Link gekopieerd
Crispijn schreef op 02.05.2007 09:46
maak er trouwens gewoon index.php van en gooi daarachter de afdeling die je wil hebben.
Bijvoorbeeld:
<?php
header ("location: index.php?afd=".$afd);
?>
dit voorkomt dat je extreem veel bestanden krijgt en laat je php het werk doen!
Dan zou je het zo moeten doen:
<?php
header ("location: index.php?afd=".$afd."");
?>
;)
En inderdaad Elwin zou je er "PO" of "PenO" van moeten maken of iets dergelijks.
Link gekopieerd
thijs schreef op 02.05.2007 09:27
Nou begin eerst met een database model:
gebruikers
---------
id
naam
wachtwoord
afdeling
Kan je makkelijk zelf uitbreiden.
<?
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$naam = trim($_POST['naam']);
$wachtwoord = trim($_POST['wachtwoord']);
$query = mysql_query("
SELECT
afdeling
FROM
gebruikers
WHERE
naam = '".addslashes($naam)."'
AND
wachtwoord = '".addslashes(md5($wachtwoord))."'") or die(mysql_error());
$gebruiker = mysql_fetch_assoc($query);
if((mysql_num_rows($query) == 1) && (!empty($wachtwoord)) && (!empty($naam)))
{
header("location:index".$gebruiker['afdeling'].".php');
}
}
?>
<form method="post" action="<? $_SERVER['PHP_SELF'] ?>">
<input type="text" name="naam" />
<input type="password" name="wachtwoord" />
<input type="submit" name="login" value="Inloggen" />
</form>
Edit:
Wes was sneller
Beste thijs volgens mij klopt er iets niet in de form.
die werkt iig niet...
groetjes
ps. ik kan er geen index.php van maken want die heb ik al en die heb ik ook echt nodig. want dat is een soort nieuws systeem. het nieuws komt als eerste wanneer je de site bezoekt.
en moet ik geen connect.php include'n ofzo... zie hier niet dat hij connectie maakt met de DB
Dit komt in mijn adresbalk te staan wanneer ik het nu probeer...
http://10.0.2.146/<?%20$_SERVER['PHP_SELF']%20?>
Link gekopieerd
thijs schreef op 02.05.2007 10:10
Dan zou je het zo moeten doen:<?php
header ("location: index.php?afd=".$afd."");
?>
Hoezo? Na het openen sluit je direct de quote. Waarom zou je hem dan openen? Dat heeft helemaal geen zin.
Elwin
Link gekopieerd