Versio

Classes return -> true

Overzicht Reageren

Tim

Tim

22/02/2007 17:03:00
Quote Anchor link
Heey mensen,

Ik zit met een probleem: Ergens in mijn scriptje vraag ik of een bepaalde functie (check_sessions) true is. Jammergenoeg werkt dit niet, of ik doe iets fout. Hier het stukje code:

classes.inc.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
<?php

session_start();

class database {

        var
$user = "********";
    var
$pass = "********";
    var
$host = "*********";
    var
$name = "********";

        function
connect() {
        
        return mysql_select_db($this->name, mysql_connect($this->host, $this->user, $this->pass) or die("Cannot connect to database because: " . mysql_error()));
        
    }

        function
get_single($sql) {
        
        $this->connect();
        
        $res = mysql_query($sql);
        $data = mysql_fetch_array($res);
        
        mysql_close();
        
        return $data;
        
    }
}


class head {
    
    function
check_sessions() {
        
        echo "JA5";
        
        $gebruikersnaam = $_SESSION['gebruikersnaam'];
        $wachtwoord = $_SESSION['wachtwoord'];
        $pers_id = $_SESSION['id'];
        
        $database = new database;
        
        $sql = "SELECT wachtwoord FROM members WHERE pers_ID='$pers_id'";
        
        $database->get_single($sql);
        
        if($data == $wachtwoord){
            
            echo "ja";
            
            return true;
            
        }
else{
            
            echo "nee";
            
            return false;
            
        }
    }
}


?>


index.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
<?php

session_start();
include("classes.inc.php");

$head = new head;

if($head->check_sessions == true){

// stukje code

echo "JA1";

}
elseif($head->check_sessions == false){

//stukje code

echo "JA2";

}


?>


Dit geeft bij mij continue JA2 terug. Dit duidt dus op een return: false...

Wat doe ik fout???

Bij voorbaat dank voor jullie reacties!
Gewijzigd op 01/01/1970 01:00:00 door Tim
 
PHP hulp

PHP hulp

24/05/2012 06:11:27
Gesponsorde koppelingen:
 
Han eev

Han eev

22/02/2007 17:07:00
Quote Anchor link
in classes.inc.php staat dit
if($data == $wachtwoord){

Alleen $data staat nergens, dus hij geeft altijd de else terug, false dus.
Oplossing: $data maken en dat die var het wachtwoord wordt
 
Tim

Tim

22/02/2007 17:08:00
Quote Anchor link
Han, ik was nog even bezig met het aanpassen van het scriptje, dus zie nu hierboven ;)
 
Bart van der veen

bart van der veen

22/02/2007 17:28:00
Quote Anchor link
classes.inc.php <= dit niet zo doen maar:

classes_inc.php <= anders wordt hij niet altijd gefarst en liggen je gegevens alsnog op straat

ook al is het maar een classe, je weet nooit wat een heacker er uit peuters.
 
Han eev

Han eev

22/02/2007 17:34:00
Quote Anchor link
Oke,
maar dan moet het nog wel zo :)

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
<?PHP

function check_sessions() {
        
        echo "JA5";
        
        $gebruikersnaam = $_SESSION['gebruikersnaam'];
        $wachtwoord = $_SESSION['wachtwoord'];
        $pers_id = $_SESSION['id'];
        
        $database = new database;
        
        $sql = "SELECT wachtwoord FROM members WHERE pers_ID='$pers_id'";
        
        $data = $database->get_single($sql);
        
        if($data['wachtwoord'] == $wachtwoord){
            
            echo "ja";
            
            return true;
            
        }
else{
            
            echo "nee";
            
            return false;
            
        }
    }
}

?>
 
Tim

Tim

22/02/2007 17:45:00
Quote Anchor link
Oke, ty... Dan nog een vraagje: als $data wordt gereturned, moet ik dan dus ook nog eens $data voor het aanroepen van de functie zetten?

Edit: Ook dit werkt niet... het lijkt sowieso wel aslof hij de functie niet aanroept, want hij echo't niet dat 'JA5'.
Gewijzigd op 01/01/1970 01:00:00 door Tim
 
Bo az

Bo az

22/02/2007 18:22:00
Quote Anchor link
Zet bovenaan je script eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);
?>


En ga dan eens aan het debuggen ...
 
Tim

Tim

22/02/2007 19:42:00
Quote Anchor link
Ik heb de fout eindelijk gevonden (Nog zonder die error display trouwens)...

Bij iedere $head->check_sessions had er nog () bij moeten staan, dus: $head->check_sessions() ;)
 
Nick Mulder

Nick Mulder

22/02/2007 20:26:00
Quote Anchor link
bart van der veen schreef op 22.02.2007 17:28:
classes.inc.php <= dit niet zo doen maar:

classes_inc.php <= anders wordt hij niet altijd gefarst en liggen je gegevens alsnog op straat

ook al is het maar een classe, je weet nooit wat een heacker er uit peuters.

Maar wel een class met z'n mysql gegevens ;)
 



Overzicht Reageren

Get Adobe Flash player