inlog nodig maken

ik heb een login scriptje, maarr ik heb nog andere bestanden die eigenlijk ook beschermd zouden moeten zijn, hoe doe ik dit? dus je moet eerst inloggen voor je ze zou kunnen!

grtz

via sessions, controleer op iedere pagina of er al dan niet een sessie aanwezig is, en of er bvb een variabele zoals $_SESSION['logged'] = true; is

ik zie in de 2de code zoiets als $_session staan maar hoe moet ik dat dan aanpassen? zo ziet de code eruit voor de pagina die zou moeten beveiligd worden: [code:1:5390e4fa97] <html> <head> <title>Pas de Indexpagina aan</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- .box { font-family: Arial, Helvetica, sans-serif; font-size: 12px; border: 1px solid #000000; } --> </style> </head> <body> <?php

if(isset($_POST[‘save’]))
{
$content = $_POST[‘content’];

if&#40;!get_magic_quotes_gpc&#40;&#41;&#41;
&#123;
    $content = addslashes&#40;$content&#41;;
&#125;
include 'library/config.php';
include 'library/opendb.php';

$query = &quot;UPDATE home SET content = '$content'&quot;;
mysql_query&#40;$query&#41; or die&#40;'Error ,mislukt, probeer opnieuw'&#41;;
include 'library/closedb.php';
&#125;

?>
<form method=“post”>
<table width=“700” border=“0” cellpadding=“2” cellspacing=“1” class=“box” align=“center”>
<tr>
<td width=“100”>Content</td>
<td><textarea name=“content” cols=“50” rows=“10” class=“box” id=“content”><?php
include ‘library/config.php’;
include ‘library/opendb.php’;
$query2 = "SELECT * FROM home";
$result = mysql_query($query2);
while($row = mysql_fetch_array($result)) {
$een = ($row[‘content’]);
echo “$een”;
include ‘library/closedb.php’;
}
?> </textarea></td>
</tr>
<tr>
<td width=“100”>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan=“2” align=“center”><input name=“save” type=“submit” class=“box” id=“save” value=“Pas aan”></td>
</tr>
</table>
</form>
</body>
</html>[/code:1:5390e4fa97]

dit is de login pagina met de username en paswoord

[code:1:5390e4fa97]
<?php
// we must never forget to start the session
session_start();

$errorMessage = ‘’;
if (isset($_POST[‘txtUserId’]) && isset($_POST[‘txtPassword’])) {
include ‘library/config.php’;
include ‘library/opendb.php’;

$userId   = $_POST&#91;'txtUserId'&#93;; 
$password = $_POST&#91;'txtPassword'&#93;; 
 
// check if the user id and password combination exist in database 
$sql = &quot;SELECT user_id  
        FROM tbl_auth_user 
        WHERE user_id = '$userId' AND user_password = PASSWORD&#40;'$password'&#41;&quot;; 
 
$result = mysql_query&#40;$sql&#41; or die&#40;'Query failed. ' . mysql_error&#40;&#41;&#41;;  
 
if &#40;mysql_num_rows&#40;$result&#41; == 1&#41; &#123; 
    // the user id and password match,  
    // set the session 
    $_SESSION&#91;'db_is_logged_in'&#93; = true; 
     
    // after login we move to the main page 
    header&#40;'Location&#58; main.php'&#41;; 
    exit; 
&#125; else &#123; 
    $errorMessage = 'Sorry, wrong user id / password'; 
&#125; 
 
include 'library/closedb.php'; 

}
?>
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
if ($errorMessage != ‘’) {
?>
<p align=“center”><strong><font color="#990000"><?php echo $errorMessage; ?></font></strong></p>
<?php
}
?>
<form action="" method=“post” name=“frmLogin” id=“frmLogin”>
<table width=“400” border=“1” align=“center” cellpadding=“2” cellspacing=“2”>
<tr>
<td width=“150”>User Id</td>
<td><input name=“txtUserId” type=“text” id=“txtUserId”></td>
</tr>
<tr>
<td width=“150”>Password</td>
<td><input name=“txtPassword” type=“password” id=“txtPassword”></td>
</tr>
<tr>
<td width=“150”>&nbsp;</td>
<td><input name=“btnLogin” type=“submit” id=“btnLogin” value=“Login”></td>
</tr>
</table>
</form>
</body>
</html> [/code:1:5390e4fa97]

lichtelijk offtopic:

[code:1:ff9f09e9aa]
van
$password = $_POST[‘txtPassword’];

naar
$password = md5($_POST[‘txtPassword’]);
[/code:1:ff9f09e9aa]

Zou je je wachtwoorden niet beveiligd willen verzenden? :wink:

In de db sla je dan de md5 versie van het wachtwoord op.

ik heb het gedaan zoals je het zei maar ik kan dan niet inloggen!

in de database wordt het paswoord beveiligd opgeslagen!
en hoe kan ik men vorige probleem oplossen?

grtz

[quote:22c7026864="WouterReyntjens"]ik heb het gedaan zoals je het zei maar ik kan dan niet inloggen! [/quote:22c7026864]

stel:

db:
id username wachtwoord
1 admin c5ea86bdef7d905819f445b1565392d5

bij het inloggen doe je dus:

[code:1:22c7026864]$password = md5($_POST[‘txtPassword’]); [/code:1:22c7026864]

om een string naar md5 te converteren ga je naar de volgende site: http://md5.rednoize.com/

oke das gelukt, bedankt daarvoor! zou iemand mij nog kunnen helpen met mijn ander probleem?

grtz

als je login correct is kan je bvb dit doen: [code:1:d5f270c3c6]$_SESSION["logged"] = true;[/code:1:d5f270c3c6] Als je nu op iedere pagina een controle toevoegd: [code:1:d5f270c3c6]if(!$_SESSION["logged"]){ //toon de gegevens niet, of ga naar de inlog pagina }else{ //toon de beveiligde gegevens }[/code:1:d5f270c3c6]