session med levels
Har stadig nogle problemer med mit session, hvor der er 3 levels af bruger. Hvor man opretter får man level 3, som er standart og hvor man kan få level 2, hvis man må lidt mere og level er admin.Men problemet er, at den ikke gider at logge ind eller logge ud rigtigt. Den læser den samme info fra en anden bruger, når man logger ind. Altså at den kan logge ind med alle bruger der er oprettet, men læser dataen fra en bruger?
Har skrevet de sider ned plus den tidligere spørgsmål jeg har oprettet til, at se mere hvad der er sket tids løb.
Håber der er nogle der kan hjælpe mig.
Link:
http://eksperten.dk/spm/668049
Her logger jeg ind (Som er index i mappen):
<table cellpadding="4" cellspacing="0" style="border: 1px solid #AAAAAA">
<tr><form method="post" action="godkend.php">
<td width="100%" bgcolor="#E3E3E3" colspan="2"><b>Log ind-oplysninger</b></td>
</tr><tr>
<td width="100%" colspan="2" bgcolor="#AAAAAA"></td>
</tr><tr>
<td width="160" bgcolor="#F3F3F3"><font color="darkred">Brugernavn</font><br><input type="text" name="brugernavn"></td>
<td width="136" bgcolor="#F3F3F3"><font color="darkred">Kodeord</font><br><input type="password" name="kodeord"></td>
</tr><tr>
<td width="100%" colspan="2" bgcolor="#AAAAAA"></td>
</tr><tr>
<td width="160" bgcolor="#F3F3F3"><a href='opret.php'>Opret bruger</a></td>
<td width="136" align="right" bgcolor="#F3F3F3"><input type="submit" value="Log ind"></td>
</tr></form>
</table>
<br />
<?php
if (isset($_GET['f']) && $_GET['f'] == 'wronglogin') {
echo '<br><br><span style="color: red; font-weight: bold">De indtastede oplysninger er ikke korrekte!</span>';
} else if (isset($_GET['f']) && $_GET['f'] == 'needlogin') {
echo '<br><br><span style="color: red; font-weight: bold">Adgang nægtet til den pågældende side!</span>';
} else if (isset($_GET['f']) && $_GET['f'] == 'poweruseraccess') {
echo '<br><br><span style="color: red; font-weight: bold">Din bruger er ikke Super Bruger (PowerUser) derfor ikke adgang til den pågældende side!</span>';
} else if (isset($_GET['f']) && $_GET['f'] == 'adminaccess') {
echo '<br><br><span style="color: red; font-weight: bold">Din bruger er ikke admin og derfor ikke adgang til den pågældende side!</span>';
} else if (isset($_GET['f']) && $_GET['f'] == 'loggedout') {
unset($_SESSION['brugernavn']);
unset($_SESSION['navn']);
unset($_SESSION['level']);
echo '<br><br><span style="color: #008000; font-weight: bold">Du er nu logget ud!</span>';
}
?>
Her er godkend filen (hvor index siden bruger som action):
<?php
session_start();
mysql_connect("localhost","database","koden");
mysql_select_db("database");
$query = mysql_query("SELECT level FROM film_community WHERE brugernavn='$_POST[brugernavn]' AND kodeord='$_POST[kodeord]' LIMIT 1") or die(mysql_error());
if (mysql_num_rows($query) == 0){
header ("location: index.php?f=wronglogin");
} else {
$r = mysql_fetch_array($query);
$_SESSION['brugernavn'] = $_POST['brugernavn'];
$_SESSION['kodeord'] = $_POST['kodeord'];
$_SESSION['level'] = $r['level'];
header ("location: brugerside.php");
exit();
}
?>
Database i mysql:
CREATE TABLE `film_community` (
`id` int(11) NOT NULL auto_increment,
`brugernavn` tinytext NOT NULL,
`kodeord` tinytext NOT NULL,
`navn` tinytext NOT NULL,
`mail` tinytext NOT NULL,
`msn` tinytext NOT NULL,
`beskrivelse` longtext NOT NULL,
`hjemmeside` tinytext NOT NULL,
`icq` int(11) NOT NULL default '0',
`level` tinyint(4) NOT NULL default '1',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;
