Versio

login maken

Overzicht Reageren

Reinhout

reinhout

24/06/2007 18:00:00
Quote Anchor link
Ik zou graag een login maken die in iedere site toepasbaar is;
het moet zo worden zoals je een Joomla template maakt, dat het door een include kan ingevoegd worden, en het moet flexibel zijn.
Nu ben ik bezig met mn database in te stellen, maar nu zit ik bij het probleem dat ik users, moderators, admins, superadmins wil
nu heb ik een tabel authorization, maar ik denk dat naar veiligheid toe die auth niet zomaar kan meegezonden worden op de manier van: ... .php?authorization=1
mn passwords worden met MD5 ge-encript, maar voor zoiets als ik wil is 32 tekens toch wel te lang.
Mijn vraag is: welke functie moet ik gebruiken om leden op een veilige manier een auth. mee te geven zodat er bepaalde delen per pagina extra worden geïnclude?
 
PHP hulp

PHP hulp

25/05/2012 08:20:42
Gesponsorde koppelingen:
 
Reinhout

reinhout

25/06/2007 17:25:00
Quote Anchor link
iemand?
 
Koen B

Koen B

25/06/2007 17:29:00
Quote Anchor link
Bedoel je dit:?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if ($list->auth == '1'){
include('beveiligd.php');
}

?>

en dan op de pagina beveiligd.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if ($list->auth != '1'){
echo 'Jij mag hier niet komen!';
exit;
}

?>
 
Luuk Schakenraad

Luuk Schakenraad

25/06/2007 17:31:00
Quote Anchor link
Gewoon in de database: lvl: 1, admin, 2, mod bla bla bla bla bla..

En dan op iedere pagina dat opvragen en dan met een if

EDIT: op die manier van de vorge poster kun je toch gewoon beveiligd.php openen en dan ben je al klaar..:S
Gewijzigd op 01/01/1970 01:00:00 door Luuk Schakenraad
 
Reinhout

reinhout

25/06/2007 18:41:00
Quote Anchor link
Weet iemand een goede tut zijn voor sessions? Het is voor php5 want deze die hier staat is van 2002 en voor php4?
 
Roderik Roderik

Roderik Roderik

25/06/2007 19:24:00
Quote Anchor link
je was 35 min te vroeg met bumpen :P
 
Reinhout

reinhout

25/06/2007 21:39:00
Quote Anchor link
roderik schreef op 25.06.2007 19:24:
je was 35 min te vroeg met bumpen :P

lol :p

Ik ben nu bezig met een functie connect te maken, maar hij heeft een fout bij hetvolgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
define(HOST, '***');
define(USERNAME, '***');
define(PASSWORD, '***');
define(DATABASE, '***');

public function connect() {
$this -> dbh = mysql_connect(HOST, USERNAME, PASSWORD) or die(mysql_error());
mysql_selest_db(DATABASE) or die(mysql_error());
}

connect()
?>

Parse error: syntax error, unexpected T_PUBLIC in /storage/mijndomein/users/070658/public/sites/www.onlinetutorials.be/connect.php on line 14
is de fout
Gewijzigd op 01/01/1970 01:00:00 door reinhout
 
Iltar van der berg

iltar van der berg

25/06/2007 21:43:00
Quote Anchor link
Haal dan wel even je login gegevens weg
 
Jan Koehoorn

Jan Koehoorn

25/06/2007 21:46:00
Quote Anchor link
reinhout schreef op 25.06.2007 21:39:
Parse error: syntax error, unexpected T_PUBLIC in /storage/mijndomein/users/070658/public/sites/www.onlinetutorials.be/connect.php on line 14
is de fout

Draait host nog PHP4? Dan mag je het keyword public nog niet gebruiken.
 
Reinhout

reinhout

26/06/2007 08:48:00
Quote Anchor link
ow, ok, maar ze gaan de servers binnenkort overplaatsen voor mij :)
vandaar...
 
Reinhout

reinhout

27/06/2007 10:03:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
define(HOST, '***');
define(USERNAME, '***');
define(PASSWORD, '***');
define(DATABASE, '***');

public function connect() {
$this -> dbh = mysql_connect(HOST, USERNAME, PASSWORD) or die(mysql_error());
mysql_selest_db(DATABASE) or die(mysql_error());
}

connect()
?>

Parse error: syntax error, unexpected T_PUBLIC in /storage/mijndomein/users/070658/public/sites/www.onlinetutorials.be/connect.php on line 14
is de fout nog steeds, ook nu na het overschakelen naar php5...
een fout in het script?
Gewijzigd op 01/01/1970 01:00:00 door reinhout
 
Jan Koehoorn

Jan Koehoorn

27/06/2007 15:12:00
Quote Anchor link
Het keyword public mag alleen binnen een class voorkomen.
 
Reinhout

reinhout

27/06/2007 15:41:00
Quote Anchor link
hoe moet ik het dan doen dat het werkt? Het is mij onduidelijk
 
Reinhout

reinhout

28/06/2007 12:00:00
Quote Anchor link
als ik nu
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
<?php
class MyDB {
    protected $dbh; //connection
    protected $query; //query result
        public function db_connect() {
            $this -> dbh = mysql_connect(HOST, USERNAME, PASSWORD) or die(mysql_error());
            mysql_selest_db(DATABASE) or die(mysql_error());
            return "nice!";
        }

        
        public function db_close() {
            mysql_close($this->dbh);
        }
}

?>

komt er weer een fout:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in
Wat doe ik nu weer verkeerd?
Gewijzigd op 01/01/1970 01:00:00 door reinhout
 
Jurgen assaasas

Jurgen assaasas

28/06/2007 12:05:00
Quote Anchor link
Luister je wel je mag het woord public nog niet gebruiken dus niet: public function maar gewoon function gebruiken.
 
Reinhout

reinhout

30/06/2007 15:29:00
Quote Anchor link
Ik wil niet zeveren, maar:
Jan Koehoorn schreef op 27.06.2007 15:12:
Het keyword public mag alleen binnen een class voorkomen.

Dit staat in een klas...

maar laat ook maar... Ik heb een scriptje gevonden op het internet maar op de een of andere manier werkt het niet zoals ik het wil, als je nu probeert in te loggen op http://www.onlinetutorials.be dan keert het login-formpje gewoon terug

login.php:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?
class login {
              
        var
$ingelogd;
         /*login functie*/
        function login() {
            $this->ingelogd = false; //default uitgelogd
            session_start(); //start een sessie
            if(isset($_POST['loguit'])) $this->loguit();
      
            elseif(isset($_SESSION['count'])&&isset($_SESSION['user_ID'])&&isset($_SESSION['username'])) {
                $_SESSION['count']++; //als sessie al bestaat, tel aantal pagina's +1
                $this->ingelogd = true; //ingelogd
            }

               elseif(isset($_COOKIE['user_ID'])&&isset($_COOKIE['pass_hash'])) {
                $sql = "id = ".(int)$_COOKIE['user_ID']."  AND password = '".addslashes($_COOKIE['pass_hash'])."'";
                 $controle = $this->controleer_paswoord($sql);
                 $this->ingelogd = $controle;
               }

        
              if(isset($_POST['username'])&&isset($_POST['password'])&&!$this->ingelogd) {   //geen elseif, wordt dan sobieso uitgevoerd, ook als je last hebt met verkeerde info in cookies en via form wilt inloggen
                 $sql = "username = '".addslashes($_POST['username'])."' AND password = '".md5(addslashes($_POST['password']))."'";
                 $controle = $this->controleer_paswoord($sql);
                 $this->ingelogd = $controle;
              }


              if($this->ingelogd) {
                  setcookie ("user_ID",$_SESSION['member_id'],time() + 3600*24*30,'/','http://www.onlinetutorials.be');
                 setcookie ("pass_hash",md5($_POST['pass']),time() + 3600*24*30,'/','http://www.onlinetutorials.be');
              }    
        }

        /*controleert het wachtwoord*/  
        function controleer_paswoord($sql2) {
          require('db_connect.php'); //script voor databaseconnect ( mysql_connect en mysql_select_db)
          $sql = "SELECT username,user_ID FROM user WHERE ".$sql2; //nu volledige query
          $result = mysql_query($sql) or die (mysql_error());
            if($row = mysql_fetch_object($result)) {
               $_SESSION['count']=1;
               $_SESSION['user_ID']=$row->user_ID;
               $_SESSION['username']=$row->username;
               return true; //ingelogd
               }
            else return false; //niet ingelogd
       }//end function                    
          
        function is_ingelogd() {        
            return $this->ingelogd;
        }
//end function
      
        function get_output() {
            if($this->is_ingelogd) return 'U bent ingelogd!';
            else include ('includes/login/login_form.php');
        }
//end function
          
          function loguit() {
             session_unset();
             session_destroy();
             setcookie ("user_ID", "", time() - 3600,"/", "jouw_domein.be");
             setcookie ("pass_hash", "", time() - 3600,"/", "jouw_domein.be");
             $this->ingelogd = false;
          }
//end function
      
}//end class

$bezoeker = new login();

?>
Gewijzigd op 01/01/1970 01:00:00 door reinhout
 
Joren de Wit
Beheerder

Joren de Wit

30/06/2007 15:33:00
Quote Anchor link
Ik weet niet of het de oorzaak is, maar er staat wel een aantal fouten in dit script. Overal waar nu een enkele & staat, hoort && te staan.
 
Reinhout

reinhout

30/06/2007 15:49:00
Quote Anchor link
heb ik aangepast, maar is nog steeds hetzelfde...
 



Overzicht Reageren

Get Adobe Flash player