Inloggen php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Something Else

Something Else

24/04/2006 21:06:00
Quote Anchor link
Goedendag,

Ik maak een simpele gastenboek met een simpele admin system. Ik wil ook natuurlijk de admin systeem beveiligen. Het leuke is nu, dat ik het heb beveiligd maar ik kan er niet inkomen(de adminpage).

De code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
include_once("config.php");
include_once("functions.php");

/**
*Deze pagina is beveiligd, eerst de code voor het inloggen
*/

$melding = 'Beveiligd gebied';
$foutmelding = 'U hebt geen correcte gebruikersnaam/wachtwoord opgegeven!<br />
                Terug naar de <a href="index.php">homepage</a>'
;

if(empty($PHP_AUTH_USER)){
    //inlogscherm laten zien
    admin_toegang($melding, $foutmelding);
}

else{
    //ingevulde gegevens controleren
    $admin = $PHP_AUTH_USER;
    $pass = $PHP_AUTH_PW;
    $pass = md5($pass);
    $query = "SELECT * FROM gb_admin WHERE admin_naam ='" . $admin . "' AND admin_wachtwoord ='" . $pass . "'";

    //query uitvoeren
    $result=safe_query($db, $query);

    if($result){
        //resultaat toekennen aan tijdelijke variabele $admin_ok
        list($admin_ok) = mysqli_fetch_row($result);
    }

    if(!$result || empty($admin_ok)){
        //foutieve naam/wachtwoord, nogmaals laten inloggen
        admin_toegang($melding, $foutmelding);
    }
}

/**
*Inloggen is geslaagd toegang tot de rest van de pagina
*/

?>


De admin tabel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
CREATE TABLE `gb_admin` (
  `id` int(11) NOT NULL auto_increment,
  `admin_naam` varchar(50) NOT NULL,
  `admin_wachtwoord` varchar(50) NOT NULL,
  PRIMARY KEY  (`id`)
)
ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;


INSERT INTO `gb_admin` VALUES (5, 'Test', '0cbc6611f5540bd0809a388dc95a615b');

?>


De functie

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
function admin_toegang($melding, $foutmelding){
    header("WWW-Authenticate: Basic realm=\"$melding\"");
    header("HTTP/1.0 401 Unauthorized");
    die ($foutmelding);
}
//einde functie admin_toegang()
?>


Ik krijg wel netjes een scherm dat ik moet inloggen, maar zodra ik inlog wilt ie de username en pass niet pakken. Althans dat lijkt zo, want ik vul wel de goeie gegevens in!

Is het een beetje duidelijk? :x
Ligt het aan de query?

Tnx
 
PHP hulp

PHP hulp

19/04/2024 21:14:42
 
Kalle P

Kalle P

24/04/2006 21:10:00
Quote Anchor link
Meestal kun je het inloggen doormidden van:
http://user:[email protected]/inloggen.php
 
Willem Jan Z

Willem Jan Z

24/04/2006 21:11:00
Quote Anchor link
Echo je query eens, en gebruik mysql_error();

ww is zeker weten goed? echo md5('jouwww'); en vergelijk hem met de hash in de DB...
 
Something Else

Something Else

25/04/2006 14:05:00
Quote Anchor link
ww is goed en de md5 ook, maar lijkt net alsof de vergelijking niet plaats vind :x
 
PHP erik

PHP erik

25/04/2006 14:10:00
Quote Anchor link
Ten eerste, "ENGINE=InnoDB" ==> Eindelijk iemand die het lijkt te snappen! :D

Ten tweede. Als je $pass echot, en $admin echot, dan krijg je de juiste waarden?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.