Ik ben bezig met een user class maar nu zit ik met een probleempje... Telkens als ik index.php laad krijg ik volgende error:
Fatal error: Can't use function return value in write context in C:\xampp\htdocs\webframe\Classes\user.php on line 17

En dit is de code van mijn class.
class User {
    public $username;
    public $ID;
    private $password;
    
    public function login($username,$password){
        $username = mysql_real_string_escape($username);
        $password = mysql_real_string_escape($password);
        $password = sha1(md5(sha1('randomshithere}{x!ยง')) + md5($password) + sha1('randomshithere'));
        $result = mysql_query('SELECT password,ID FROM users WHERE username = '.  $username.'AND password = '.$password);
        $row = mysql_fetch_assoc($result);
        if(mysql_num_rows($result) === 1){
            $this->password = $row['password'];
            $this->username = $row['username'];
            $this->ID = $row['ID'];
            $_SESSION('username') = $this->username;
            return 0;
        }
        else if(mysql_num_rows($result) === 0){
            return 1;
        }
        else{
            return 2;
        }
    }
    
    public function errorMessage($x){
        switch($x){
            case 0:
                return null;
                break;
            case 1:
                return 'Gebruikersnaam en / of paswoord is niet gevonden';
                break;
            case 2:
                return 'Er zijn meerde resultaten gevonden.';
                break;
            default:
                return 'De switch is kapot in de gebruikers klas bij funcitie errorMessage!';
        }
    }
}

<?
$_SESSION('username') = $this->username;
//wordt:
$_SESSION['username'] = $this->username;
?>
OOOUUUDDDD topic.

Maar, ik loop zelf tegen hetzelfde probleem aan. Echter, alleen als ik de volgende code toevoeg in mijn controller:


<?php

if(isset($this->input->post('submit'))){
           $hoi = 1;
       }
?>



Ik werk overigens met Code Igniter
isset en empty verwachten een variabele.
Niets anders.

<?php
// Dus wel
isset($a);

// maar niet
isset('foo');

// ook niet
isset(mijn_functie())
?>
Je moet de functie die je doorgeeft eerst in een variabele stoppen, zoals $submit, zie php.net:

isset() only works with variables as passing anything else will result in a parse error.
Dit nu maar van gemaakt:


<?php
 if($this->input->post('submit') == TRUE){
           $hoi = 1;
       }
[offtopic]empty kan vanaf 5.5 ook niet-variabelen ontvangen[/offtopic]
[offtopic]@ Wouter Dat lijkt me een goed idee. empty() is een interessante functie in veel verschillende contexten. isset niet. Die kan best blijven zoals het nu is.[/offtopic]

Reageren