/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Bruger kommer fra "korrekt" side (sessio~
Fra : gmusen
Vist : 567 gange
150 point
Dato : 14-03-04 12:14

Hej med Jer...

Jeg har brug for hjælp til at kontrollere om en bruger kommer fra "en korrekt side".

Dermed menes at jeg har et login-system på mit site, det login-system giver adgang til en admin-menu.

Fra den admin-menu er det så muligt bl.a. at gå ind og oprette nyheder, rette/slette i gb og link-exchange.

Det jeg her er ude efter, er at sikre mig at brugerne kommer fra admin-menuen og over til eks. opret_nyhed.php

Jeg er faldet over løsningen på et tidspunkt, men har nu glemt hvor det lige var (æv æv)

Det skal lige siges at register_globals er Off - hvilket jeg efter hård erfaring har indset betyder en hel del.... (Og nej jeg kan ikke ændre dem til On, da mit site hostes eksternt)

Det var en længere historie... c",)

Håber der sidder et geni klar til at hjælpe mig...

 
 
Kommentar
Fra : buch78


Dato : 14-03-04 12:26

jeg har engang rodet med login system i php og det så sådan ud..


først havde jeg en side hvor folk skrev deres brugernavn/kode

så blev de sendt til denne her.
<?
$pass = MD5($_POST[pass]);

include "forbind.php";   // opretter forbindelse til serveren (mysql)
$resultat = mysql_query("SELECT bruger FROM login WHERE bruger = '$_POST[bruger]' AND pass = '$pass'");
$number = mysql_num_rows($resultat);
if($number == 1)
   {
   $get_id = mysql_fetch_array($resultat);
   $q = mysql_query ("SELECT * FROM login WHERE bruger='".$get_id['bruger']."'");
   while ($r = mysql_fetch_array($q))
      {
      session_start();
      $rang = $r["rang"];
$_SESSION['login'] = $rang;
      }
      if ($rang == 'admin')
      {
      header("Location: \admin\index.htm");
      }
      if ($rang == 'bruger')
      {
      header("Location: \bruger\index.htm");
      }
   }
else   
{
header("Location: \loginfejl.php");
}
mysql_close();
?>

og havde de den rigtige rang så blev de sendt viddre til en under side.. og på alle under sider tjekkede jeg deres rang sådan her..

<?php
session_start();
if (isset($_SESSION['login']) && ($_SESSION['login']==admin))
{}
else
{
header("Location: \loginfejl.php"); // sender brugeren til loginfejl.php og derefter login.php
}
?>


Accepteret svar
Fra : Jin2k

Modtaget 150 point
Dato : 14-03-04 19:03

Du kan jo sætte enten en session variablen eller en cookie, hver gang brugeren går ind på en side. På den måde kan du hele tiden se hvilken side de kommer fra...

Eks.

<code>
<?php
##########
# Side_1.php #
##########

$_COOKIE["page"]==$PHP_SELF;
echo "Indhold af side 1";
?>

<?php
##########
# Side_2.php #
##########

$_COOKIE["page"]==$PHP_SELF;
echo "Indhold af side 2";
?>
<?php
########################
# Side_3.php #
# Kræver at man kommer fra side 2#
########################
if($_COOKIE["page"]=="side_2.php"){
echo "Adgang givet";
}
else{
echo "Adgang nægtet";
}
?>
</code>

/Jin2k

Godkendelse af svar
Fra : gmusen


Dato : 18-03-04 09:28

Takker - brugte cookies, bare ikke på din måde, selv om den sagtens kunne anvendes c",)


                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste