Pagina systeem, onderscheiden van andere paginas.
ik zit op dit moment beetje met een probleem, logisch anders zou ik dit topic niet openen. Beetje rare titel, weet niet zo goed hoe ik het moet omschrijven. Maar het zit dus zo.
In mijn website maak ik gebruik van een pagina systeem, en zet in de index dus al de inlog controle, als diegene niet is ingelogd komt hij automatisch op de inlog pagina. Maar, hoe kan ik nou 1 pagina niet laten lopen via de inlog controle, omdat diegene daar eigenlijk altijd op moet kunnen. Het gaat namelijk om een link die ik stuur via de mail, en als de gebruiker hem dan opent, moet hij niet afgekeurt worden omdat hij niet ingelogd is.
Heeft iemand ideeën hoe ik dit kan gaan oplossen? Alles is welkom, bedankt!
misschien handig om te kijken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
$ar = array("home", "login", "register", "profile", "editprofile", "logout", "admin", "dkConfig", "dagklik", "dkLink");
$p = $_GET['pagina'];
if(in_array($p, $ar)) {
echo '<br />';
require_once('./pagina/' . $p . '.php');
echo '<br /><br />';
}
else {
echo '<br />';
require('pagina/error.php');
echo '<br /><br />';
}
$p = $_GET['pagina'];
if(in_array($p, $ar)) {
echo '<br />';
require_once('./pagina/' . $p . '.php');
echo '<br /><br />';
}
else {
echo '<br />';
require('pagina/error.php');
echo '<br /><br />';
}
Waar is dan je inlog controle? Die zie ik helemaal niet.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$protected = array("home", "register", "profile", "editprofile", "logout", "admin", "dkConfig", "dagklik", "dkLink");
$open = array("login", "openpage", "openpage2");
$p = $_GET['pagina'];
if(in_array($p, $protected)) {
echo '<br />';
require_once('./pagina/' . $p . '.php');
echo '<br /><br />';
} else if(in_array($p, $open)) {
echo '<br />';
require_once('./pagina/' . $p . '.php'); // geen logincontrolle
echo '<br /><br />';
} else {
echo '<br />';
require('pagina/error.php');
echo '<br /><br />';
}
?>
$protected = array("home", "register", "profile", "editprofile", "logout", "admin", "dkConfig", "dagklik", "dkLink");
$open = array("login", "openpage", "openpage2");
$p = $_GET['pagina'];
if(in_array($p, $protected)) {
echo '<br />';
require_once('./pagina/' . $p . '.php');
echo '<br /><br />';
} else if(in_array($p, $open)) {
echo '<br />';
require_once('./pagina/' . $p . '.php'); // geen logincontrolle
echo '<br /><br />';
} else {
echo '<br />';
require('pagina/error.php');
echo '<br /><br />';
}
?>
Gewijzigd op 29/10/2012 23:41:39 door Frank Nietbelangrijk
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
session_start();
if(isset($_SESSION['login']))
{
$id = $_SESSION['id'];
$username = $_SESSION['username'];
$login = $_SESSION['login'];
include '../config.php';
?>
if(isset($_SESSION['login']))
{
$id = $_SESSION['id'];
$username = $_SESSION['username'];
$login = $_SESSION['login'];
include '../config.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Veilingsysteem</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
echo "<div id='stats'>";
$query = mysql_query("SELECT * FROM users WHERE username='".$username."'");
echo "<table>";
while($row = mysql_fetch_assoc($query))
{
echo "<tr><td colspan='3'><u>Gebruikersnaam:</u></td></tr>";
echo "<tr><td colspan='3'>".$row['username']."</td></tr>";
echo "<tr><td colspan='3'><u>Aantal punten:</u></td></tr>";
echo "<tr><td colspan='3'>".$row['punten']."</td></tr>";
echo "<tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>";
echo "<tr><td><a href='index.php?pagina=profile'><img src='../images/profile.png'/></a></td><td><a href='index.php?pagina=inbox'><img src='../images/mail.png'/></a></td><td><a href='index.php?pagina=logout'><img src='../images/exit.png' height='24' width='24'/></a></td></tr>";
}
echo "</table>";
echo "</div>";
?>
echo "<div id='stats'>";
$query = mysql_query("SELECT * FROM users WHERE username='".$username."'");
echo "<table>";
while($row = mysql_fetch_assoc($query))
{
echo "<tr><td colspan='3'><u>Gebruikersnaam:</u></td></tr>";
echo "<tr><td colspan='3'>".$row['username']."</td></tr>";
echo "<tr><td colspan='3'><u>Aantal punten:</u></td></tr>";
echo "<tr><td colspan='3'>".$row['punten']."</td></tr>";
echo "<tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>";
echo "<tr><td><a href='index.php?pagina=profile'><img src='../images/profile.png'/></a></td><td><a href='index.php?pagina=inbox'><img src='../images/mail.png'/></a></td><td><a href='index.php?pagina=logout'><img src='../images/exit.png' height='24' width='24'/></a></td></tr>";
}
echo "</table>";
echo "</div>";
?>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/slider.js"></script>
<div id="subMenu">
<img src="images/button.png" width="142" height="32" class="menu_class" />
<ul class="the_menu">
<li><a href="index.php?pagina=dagklik">Dagklik</a></li>
<li><a href="#">Weekklik</a></li>
<li><a href="#">Raad het getal!</a></li>
<li><a href="#">Blackjack</a></li>
<li><a href="#">Fruitautomaat</a></li>
</ul>
</div>
<div id="header" class="container">
<div id="logo">
<h1><a href="index.php?pagina=home">NAAM</h1>
<p>JOUW ONDERTEKST</a></p>
</div>
<div id="menu">
<ul>
<li><a href="index.php?pagina=home">Home</a></li>
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$qry = mysql_query("SELECT * FROM users WHERE username='".$username."'");
while($row = mysql_fetch_assoc($qry))
{
if($row['rechten'] >= 1)
{
echo "<li><a href='index.php?pagina=admin'>Beheer</a></li>";
}
}
?>
$qry = mysql_query("SELECT * FROM users WHERE username='".$username."'");
while($row = mysql_fetch_assoc($qry))
{
if($row['rechten'] >= 1)
{
echo "<li><a href='index.php?pagina=admin'>Beheer</a></li>";
}
}
?>
<li><a href="index.php?pagina=getpunten">Punten uitgeven</a></li>
<li><a href="index.php?pagina=hulp">Hulp</a></li>
<li><a href="index.php?pagina=profiel">Mijn profiel</a></li>
<li><a href="index.php?pagina=contact">Contact</a></li>
</ul>
</div>
</div>
<!-- end #header -->
<div id="wrapper">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$ar = array("home", "login", "register", "profile", "editprofile", "logout", "admin", "dkConfig", "dagklik", "dkLink");
$p = $_GET['pagina'];
if(in_array($p, $ar)) {
echo '<br />';
require_once('./pagina/' . $p . '.php');
echo '<br /><br />';
}
else {
echo '<br />';
require('pagina/error.php');
echo '<br /><br />';
}
?>
$ar = array("home", "login", "register", "profile", "editprofile", "logout", "admin", "dkConfig", "dagklik", "dkLink");
$p = $_GET['pagina'];
if(in_array($p, $ar)) {
echo '<br />';
require_once('./pagina/' . $p . '.php');
echo '<br /><br />';
}
else {
echo '<br />';
require('pagina/error.php');
echo '<br /><br />';
}
?>
</div>
<div id="footer">
<p>FOOTER - TEXT - FOOTER - TEXT - FOOTER - TEXT - FOOTER - TEXT</p>
</div>
<!-- end #footer -->
</body>
</html>
Code (php)
Dit is het script, zoals je ziet wordt er aan het begin gecontroleerd.
Gewijzigd op 30/10/2012 10:03:12 door Hans -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
en dan onderin die else met die <meta... weghalen!
Gewijzigd op 30/10/2012 11:49:39 door Frank Nietbelangrijk
Code (php)
Op deze manier hoef je niet elke keer als je een pagina wil toevoegen waarvoor je niet hoeft in te loggen een if toe te voegen maar kun je dat gewoon doen via de "addPageException" functie doen.
Rick, kunt u een beetje uitleggen wat hij precies hier doet:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
$login = new checkLogin();
$login->addPageException('pagina');
if($login->loggedIn() == false) {
header('Location: index.php?pagina=login');
exit;
}
$login->addPageException('pagina');
if($login->loggedIn() == false) {
header('Location: index.php?pagina=login');
exit;
}
En waar moet ik dit plaatsen etc?
Toevoeging op 31/10/2012 13:39:37:
Rick kunt u alsjeblieft antwoord geven? Of natuurlijk iemand anders die het me uit kan leggen?