Avatar billede Slettet bruger
30. december 2010 - 17:20 Der er 5 kommentarer og
1 løsning

Session der driller.

Jeg kan ikke få brugernavnet til at blive printet når en bruger logger ind. Men Bruger level virker fint.

Jeg har en login side hvor der bliver skrevet brugernavn og kode ord.

Det bliver tjekket med denne:


<?php

session_start();
include("config.php");

$msg = "";

if (isset($_POST['Submit']))
{
   
    $username = $_POST['username'];
    $password = md5($_POST[password]);
   
    $result = mysql_query("Select * From login where user_name='$username'",$con);
   
    if(mysql_num_rows($result)>0)
    {
        $row = mysql_fetch_array($result, MYSQL_BOTH);
        if($password == $row["user_pass"])
        {
           
            $_SESSION['loginok'] = "ok";
            $_SESSION['username'] = "username";
            $_SESSION['password'] = "password";
            $_SESSION['level'] = $row["user_level"];
                        $_SESSION['user'] = $row["user_name"];
           
           
            header("Location: next/index.php");

        }
        else
        {
          $msg = "Kode er forkert";
        }
    }
    else
    {
      $msg = "Brugernavn er forkert";
    }
}
?>



Index.php hvor man kommer ind ser så sådan ud:

<?php include "check.php"; ?>
<?php
session_start();
include "config.php";
?>

echo "Velkommen ".$_SESSION['user'].", dit bruger level er :".$_SESSION['level']."<br>";



Hvis nogen skulle vide det.
Så ser min check.php sådan ud:

<?php
session_start();
include "config.php";

if(!isset($_SESSION['level'])){
echo"UPS - Du har ingen adgang til denne side!!";       
}
if ($_SESSION['level'] != "1" and $_SESSION['level'] != "2" and $_SESSION['level'] != "3" and $_SESSION['level'] != "4") {
echo"Du har ikke adgang til denne side. Kontankt evt en adminstrator - <a href='index.php'>Klik her for at komme tilbage</a>";
exit();}
?>


Og min config.php er bare den der åbner databasen.

Nogen der kan forklare hvorfor jeg ikke kan få det til at virke?
Avatar billede Slettet bruger
30. december 2010 - 17:22 #1
Har prøvet at bruge $_SESSION['username'] men da den bare = username udskriver den jo bare "Velkomme username"
Avatar billede webweaver Praktikant
30. december 2010 - 17:38 #2
Hvad viser $_SESSION['user']; når du prøver at printe den?

Prøv at echo $row["user_name"]; og se hvad den indeholder?

Hvis du giver $_SESSION['user']; en anden værdi, får du så den at se?

$_SESSION['user'] = "test"; fx ...

Husk at session_start(); altid skal være i toppen af dine filer. Det er den ikke i index.php ...
Avatar billede webweaver Praktikant
30. december 2010 - 17:39 #3
I øvrigt, hvorfor gemmer du dit kodeord i en session? Virker ikke særlig sikkert, så vil jeg fraråde. Burde ikke være nødvendigt.
Avatar billede Slettet bruger
30. december 2010 - 17:56 #4
Det var lige godt mange fy ord.

Lortet virker pludseligt.
Ved faktisk ikke hvad jeg gjorde.

Det er da møg træls. Så lære jeg ikke af fejlen.

Nåå hvad ang kodeord i session.
Så ved jeg faktisk ikke hvorfor den er der, jeg må have sovet da jeg lavede det :P
Men den er fjernet for den var jo helt unødvendig.

Jeg ved ikke om det var noget du sagde der hjalp mig. For gik bare ind og prøvede de ting du sagde. Og så virkede det.

Men post bare et svar, det hjalp mig jo.
Avatar billede webweaver Praktikant
30. december 2010 - 18:39 #5
Burde det umiddelbart ikke være. Det var bare til testing. Men kan være du har haft en tastefejl du har fået rettet i den sammenhæng. Super at det virker nu :-)
Avatar billede Slettet bruger
31. december 2010 - 01:07 #6
Tja.. Kan nu ikke se hvilken taste fejl det var havde prøvet i 10 min med di samme ting lidt på skift.

Men sådan er det jo.
Jeg takker stadig for hjælpen. :)
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