Avatar billede 4b4 Nybegynder
03. april 2005 - 16:11 Der er 22 kommentarer og
1 løsning

simpelt login

Jeg har et billedgallery script der er lavet i PHP, men vil gerne password protecte det.

Der ligger en masse familie billeder, og derfor skal en del familiemedlemmer have adgang. Derfor kunne det være lækkert sådan man kunne tilføje flere forskellige brugere med forskellige passwords. Altså super simpelt.. login for at få adgang til en php side.

Lavede det engang i ASP med noget include og session.. men mon ikke nogle har et tilsvarende liggende til php?
Avatar billede alister_crowley Nybegynder
03. april 2005 - 16:13 #1
http://www.google.se/search?q=php+%2B+login

Søgeresultaterne 1 - 10 ud af ca. 53.900.000 for php + login. (0,03 sekunder)

Jo, det er temmeligt mange...
Avatar billede 4b4 Nybegynder
03. april 2005 - 16:23 #2
Ja.. det er jo noget af en jungle, så underligt nok at jeg spørger herinde..
Avatar billede alister_crowley Nybegynder
03. april 2005 - 16:26 #3
tjoo, men så kom med flere oplysninger :)

Èn eller flere brugere ?
Med eller uden database ?
Hvilken version af php ?
Avatar billede 4b4 Nybegynder
03. april 2005 - 16:34 #4
Så simpelt som muligt.

med el. uden database er irellevant.

Gerne med mulighed for at have flere brugere (dog kun et adgangsniveau).

Version af php? (skal køre på b-one, så går udfra php4.. men igen, php3 er vel understøttet)
Avatar billede supermand69 Nybegynder
03. april 2005 - 17:41 #5
her er en meget simpel version uden database :)

http://temp.electrobeat.dk/exp/login/index.php
Avatar billede 4b4 Nybegynder
03. april 2005 - 18:03 #6
Kigger på det :)
Avatar billede 4b4 Nybegynder
03. april 2005 - 18:13 #7
ahh lidt skidt.. Skal gerne deles op i filer.. altså så login er en fil.. og resten er en anden fil.. ex. med en include der sender personen tilbage hvis session er tom (el. lign) ?
Avatar billede supermand69 Nybegynder
03. april 2005 - 18:25 #8
top.php
----
<?
if(isset($_GET['logoff']))
{
    unset($_SESSION['user']);
   
    header($_SERVER["PHP_SELF"]);
}

if($_POST['user'])
{
    $USER_ARR = array(
        'user1' => 'pass1',
        'user2' => 'pass2'
    );
   
    if($USER_ARR[$_POST['user']] == $_POST['pass'])
    {
        $_SESSION['user'] = $_POST['user'];
       
        header($_SERVER["PHP_SELF"]);
    }
    else echo 'Forkert login<br><br>';
}

if(!$_SESSION['user'])
{
?>
<form method="post">
Login:<br>
<input name="user">
<input type="password" name="pass">
<input type="submit">
</form>
<?
    exit;
}
?>

index.php
-----------
<?
session_start();

require('top.php');

echo $_SESSION['user'];
?>
<br><a href="<?=$_SERVER["PHP_SELF"].'?logoff'?>">Log af</a>
Avatar billede 4b4 Nybegynder
03. april 2005 - 18:42 #9
virker nogenlunde, men får denne fejl:

http://billeder.bergsorensen.dk/
Avatar billede 4b4 Nybegynder
03. april 2005 - 18:47 #10
Får den fejl i toppen.. og skal logge ind hver gang jeg går ind i en mappe / tilbage.. ikke så hensigtsmæssigt :/
Avatar billede supermand69 Nybegynder
03. april 2005 - 18:49 #11
det er fordi du laver et output før du sender en haader..

altså - du må ikke skrive til browseren før du laver en header!

alternativt kan du lave en ob_start() og ob_end_flush()
Avatar billede 4b4 Nybegynder
03. april 2005 - 18:50 #12
se nu snakker du et sprog som jeg ikke fatter.. en gang til .. på dansk ? :)
Avatar billede supermand69 Nybegynder
03. april 2005 - 18:54 #13
prøv at skrive ob_start(); under start_session();

:p
Avatar billede 4b4 Nybegynder
03. april 2005 - 19:07 #14
Avatar billede supermand69 Nybegynder
03. april 2005 - 19:13 #15
<?
session_start();
ob_start();
?>
<html>
<head>
<title>BERGSORENSEN &#8482; | billeder</title>
</head>
<body>
...
Avatar billede 4b4 Nybegynder
03. april 2005 - 19:17 #16
Avatar billede supermand69 Nybegynder
03. april 2005 - 19:24 #17
underligt...

det virker på min server?

http://temp.electrobeat.dk/exp/login

prøver lige at se nærmere på det
Avatar billede 4b4 Nybegynder
03. april 2005 - 19:25 #18
virker sikkert ikke sammen med det billedescript jeg kører.. suk
Avatar billede supermand69 Nybegynder
03. april 2005 - 19:34 #19
det er en eller anden indstilling på den server du er hosted på der ikke er ens med min... jeg har fjernet de headers og nu skulle det gerne virke :)

top.php
---------
<?
if(isset($_GET['logoff'])) unset($_SESSION['user']);

if($_POST['user'])
{
    $USER_ARR = array(
        'user1' => 'pass1',
        'user2' => 'pass2'
    );
   
    if($USER_ARR[$_POST['user']] == $_POST['pass']) $_SESSION['user'] = $_POST['user'];
    else echo 'Forkert login<br><br>';
}

if(!$_SESSION['user'])
{
?>
<form method="post">
Login:<br>
<input name="user">
<input type="password" name="pass">
<input type="submit">
</form>
<?
    exit;
}
?>

index.php
---------
<?
session_start();

require('top.php');

echo $_SESSION['user'];
?>
<br><a href="<?=$_SERVER["PHP_SELF"].'?logoff'?>">Log af</a><br><br>

<a href="index.php">forside</a>
Avatar billede 4b4 Nybegynder
03. april 2005 - 19:41 #20
KLASSE ! smid svar
Avatar billede supermand69 Nybegynder
03. april 2005 - 19:47 #21
*BOING* *BOING* *BÅINK* :)
Avatar billede supermand69 Nybegynder
03. april 2005 - 19:48 #22
hov... og så lige et svar *pooof* hehe
Avatar billede 4b4 Nybegynder
03. april 2005 - 19:58 #23
bukker og takker
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