Avatar billede impulze Nybegynder
20. december 2005 - 12:53 Der er 7 kommentarer og
1 løsning

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 ;
Avatar billede jakobdo Ekspert
20. december 2005 - 12:59 #1
I din kode:
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>';

ville jeg bruge:

<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (isset($_COOKIE[session_name()])) {
  setcookie(session_name(), '', time()-42000, '/');
}

// Finally, destroy the session.
session_destroy();
?>
Avatar billede impulze Nybegynder
20. december 2005 - 13:14 #2
Virker ikke helt for den kommer stadig op med:
"Velkommen Chris Rasmussen (ImpulzE)

Håber siden kan underholde dig.
Med Venlig Hilsen Webmasteren"

På start siden når man ikke er logget ind (skriver linket til startsiden efter jeg har logget mig ud).
Og det er det, som den udskriver når man logger ind på en anden bruger fx Test (og navnet Test), så viser den stadigvæk det?
Avatar billede jakobdo Ekspert
20. december 2005 - 21:27 #3
Hvor kommer teksten:

"Velkommen Chris Rasmussen (ImpulzE)

Håber siden kan underholde dig.
Med Venlig Hilsen Webmasteren"

Fra?

Den står ikke i det kode du skrev før?

Fra?
Avatar billede impulze Nybegynder
14. november 2006 - 16:13 #4
Den kommer op når man prøver at logge sig ind på siden. Det er lige meget hvem du logger ind med, så kommer der kun det frem.

(Det er trukket fra databasen under bruger og så brudte trække det rigtigt)
Avatar billede jakobdo Ekspert
14. november 2006 - 20:59 #5
Det var godt nok længe du var om at svare.
Avatar billede impulze Nybegynder
19. november 2008 - 15:21 #6
Lukker..
Avatar billede jakobdo Ekspert
19. november 2008 - 15:41 #7
Hvad blev din løsning ?
Avatar billede impulze Nybegynder
25. november 2008 - 09:39 #8
Fandt aldrig en løsning til dette og droppede at lave mere på det, desværre..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester