Avatar billede cobra20 Nybegynder
03. oktober 2006 - 11:58 Der er 5 kommentarer

Login med flere bruger?

Hvordan kan man dele login siden op så nogle bruger adgang til en del af siden mens andre har fuld andgang. I dette tilfælde er der tale om Journalist = forside.php og Redaktør = adminforside.php

Siden kan ses og prøves her....
www.kebabraket.dk/andreas/prove/default.php

Redaktør Login : kone Pass : kone


Koden kan ses her.

<?php
header ("Location: adminforside.php");
?>
<?php
session_start();
?>
<? $strTitle="Passwordkontrol med php";?>

<? include("header.inc"); ?>

<body>

<div class="indhold">

<?
$db=mysql_connect

$result = mysql_query("SELECT NULL FROM brugertabel WHERE username =
'".$_POST['brugernavn']."' AND password = '".$_POST['password']."' AND Stilling = '".$_POST['Stilling']."'") or die
(mysql_error());
if ($antal_raekker=mysql_num_rows($result)>0){
$_SESSION['logget_ind']=1;
$_SESSION['brugernavn'] = $brugernavn;
$_SESSION['password'] = $password;
$_SESSION['Stilling'] = $Admin;
}
else
{
    echo "<h1>Ukorrekt login</h1>"; }
{
   
    "<p>Du skal være logget ind for at se disse sider. <a class=\"tlink\" href=\"default.php\">Log in</a></p>";
}
?>

</div>

<? include("menu1.inc"); ?>

</body>

</html>
Avatar billede jannek_ek Nybegynder
03. oktober 2006 - 13:39 #1
hvis du starter alle dine sider med

<?php
session_start();
if ($_SESSION["Stilling"] != "Journalist" && $_SESSION["Stilling"] != "Redaktør")
{
die("Du har ikke adgang til denne del");
}
?>

vil kun fok der er logget ind som journalist eller redaktør kunne se ting under koden.

Du kan ligeledes skrive:

<?php
session_start();
if ($_SESSION["Stilling"] != "Redaktør")
{
die("Du har ikke adgang til denne del");
}
?>

Så vil kun redaktøren kunne se koden herunder.
Avatar billede cobra20 Nybegynder
04. oktober 2006 - 11:58 #2
Det har jeg nu gjort.... Men alle users for fejlen "Du har ikke adgang til denne del" Hvad gør jeg så nu....???
Avatar billede jannek_ek Nybegynder
04. oktober 2006 - 17:52 #3
jeg opdage lige en fjl i din kode

<?php
header ("Location: adminforside.php");
?>
<?php
session_start();
?>

skal laves om til

<?php
header ("Location: adminforside.php");

session_start();
?>

da der ikke må komme noget output fra dit script inden session_start() kaldes!

og linieskift og mellemrum tæller også som output

Men noget helt andet er at jeg ikke forstår hvordan du kan logge ind, når header ("Location: adminforside.php"); står i toppen og sender dig viddere fra starten af.

Jeg har lige prøvet at skrive det om til noget der burde virke.
Jeg går ud fra at man kun skal sendes videre til adminforside hvis man bliver logget ind

<?php
ob_start();
session_start();

$strTitle="Passwordkontrol med php";

include("header.inc");

$db=mysql_connect

$result = mysql_query("SELECT NULL FROM brugertabel WHERE username =
'".$_POST['brugernavn']."' AND password = '".$_POST['password']."' AND Stilling = '".$_POST['Stilling']."'") or die
(mysql_error());
if ($antal_raekker=mysql_num_rows($result)>0){
$_SESSION['logget_ind']=1;
$_SESSION['brugernavn'] = $brugernavn;
$_SESSION['password'] = $password;
$_SESSION['Stilling'] = $Admin;
header("Location: adminforside.php");
}
else
{
include("header.inc");
?>
<body>

<div class="indhold">
<h1>Ukorrekt login</h1>
<p>Du skal være logget ind for at se disse sider. <a class="tlink" href="default.php">Log in</a></p>
</div>

<? include("menu1.inc"); ?>

</body>
</html>
<?
}
?>
Avatar billede jannek_ek Nybegynder
04. oktober 2006 - 17:58 #4
det fik jeg ikke lige med, men hvor får du $brugernavn $password og $Admin fra

if ($antal_raekker=mysql_num_rows($result)>0){
$_SESSION['logget_ind']=1;
$_SESSION['brugernavn'] = $brugernavn;
$_SESSION['password'] = $password;
$_SESSION['Stilling'] = $Admin;
header("Location: adminforside.php");
}

skal laves om til

if ($antal_raekker=mysql_num_rows($result) == 0){
$row = mysql_fetch_array($result);
$_SESSION['logget_ind']=1;
$_SESSION['brugernavn'] = $row['username'];
$_SESSION['password'] = $row['password'];
$_SESSION['Stilling'] = $row['Stilling'];
header("Location: adminforside.php");
}
Avatar billede jannek_ek Nybegynder
04. oktober 2006 - 17:59 #5
hov fejl
if ($antal_raekker=mysql_num_rows($result) == 0){
skal selvfølgelig være
if ($antal_raekker=mysql_num_rows($result) == 1){
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