22. november 2005 - 21:00Der er
16 kommentarer og 1 løsning
Tjekke om bruger er logget ind - sessions ?
Jeg har indtil nu tjekket om en bruger er logget ind ved hjælp af denne:
if(!empty($_SESSION['brugernavn'])) { //Man er logget ind, og kan derfor se det hemlige indhold }else{ //Brugeren er ikke logget ind echo "Du er ikke logget ind. Gå til login side <a href=\"login.php\">her.</a>"; } ?>
Og det så ud til at virke, men så undrede jeg mig over hvordan det kunne virke, når den kun tjekker om feltet brugernavn er tomt :S hvordan kan det dog virke ? og nu har jeg så lige fundet ud af at hvis er logget på som fx jens, så har man adgang til både peter,anderses,kurds og alle andres profiler :)
Kan i ikke lige give mig en kort lille funktion som denne der tjekker om en bruger er logget ind - og hvis du ikke har lagt mærke til det så skal det tjekkes med sessions :D
Når du trækker en profil ud, så skal du lave tjekket: SELECT * FROM brugere WHERE id = $_SESSION["brugerid"] LIMIT 1 eller SELECT * FROM brugere WHERE brugernavn = $_SESSION["brugernavn"] LIMIT 1
Dermed kan man kun se sin egen profil og redigere den.
Så det vil sige hvis jeg skal putte den ind i min funktion vil den se således ud: $query = mysql_query("SELECT * FROM brugere WHERE brugernavn = $_SESSION["brugernavn"] LIMIT 1"); if($_SESSION['brugernavn'] = "$query") { //Man er logget ind, og kan derfor se det hemlige indhold }else{ //Brugeren er ikke logget ind echo "Du er ikke logget ind. Gå til login side <a href=\"login.php\">her.</a>"; }
Nej, det er hvis du f.eks. skal redigere ens egen profil. Hvis det kun er en indlogget person som må se noget hemmeligt, så skal du teste om isset($_SESSION["brugernavn"]) eller !empty($_SE....)
Her er den det du skal bruge :) (har kun slettet menuen)
<? session_start();
include "mysql.php";
//Tjekker om man er logget ind if (isset($_SESSION['brugernavn']) && !empty($_SESSION['brugernavn'])) { //Laver en query der finder ens brugerid i databasen $query = mysql_query("SELECT * FROM brugere WHERE brugernavn='". $_SESSION['brugernavn'] ."'") or die(mysql_error()); $row = mysql_fetch_assoc($query);
//Man er logget ind, og kan derfor se det hemlige indhold
Jeg fatter ikke hvorfor du ikke blot lukker her og laver en henvisning til dit 'nye' spørgsmål således at alle dem der forsøger at gøre deres bedste for at hjælpe dig, kan arbejde sammen istedet for at 'vi' skal hoppe rundt i alle dine spørgsmål for at følge med i hvor langt du er med dit projekt.
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.