Fatal error: Can't use function return value in write context

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robin Van den Broeck

Robin Van den Broeck

17/04/2012 13:53:16
Quote Anchor link
Ik ben bezig met een user class maar nu zit ik met een probleempje... Telkens als ik index.php laad krijg ik volgende error:
Quote:
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.
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
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!';
        }
    }
}
Gewijzigd op 17/04/2012 14:14:20 door Robin Van den Broeck
 
PHP hulp

PHP hulp

19/04/2024 19:43:29
 
Gerhard l

gerhard l

17/04/2012 14:18:39
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
$_SESSION
('username') = $this->username;
//wordt:
$_SESSION['username'] = $this->username;
?>
Gewijzigd op 17/04/2012 14:18:51 door gerhard l
 
Robin Van den Broeck

Robin Van den Broeck

17/04/2012 14:19:55
Quote Anchor link
Ik zag er zelf gewoon over, onbegrijpelijk...
 
John Cena

John Cena

20/06/2013 16:44:18
Quote Anchor link
OOOUUUDDDD topic.

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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

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

?>



Ik werk overigens met Code Igniter
 
Kris Peeters

Kris Peeters

20/06/2013 16:49:17
Quote Anchor link
isset en empty verwachten een variabele.
Niets anders.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
// Dus wel
isset($a);

// maar niet
isset('foo');

// ook niet
isset(mijn_functie())
?>
 
Koen Vlaswinkel

Koen Vlaswinkel

20/06/2013 16:50:10
Quote Anchor link
Je moet de functie die je doorgeeft eerst in een variabele stoppen, zoals $submit, zie php.net:
http://php.net/manual/en/function.isset.php:
isset() only works with variables as passing anything else will result in a parse error.
Gewijzigd op 20/06/2013 16:50:35 door Koen Vlaswinkel
 
John Cena

John Cena

20/06/2013 16:52:25
Quote Anchor link
Dit nu maar van gemaakt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
 if($this->input->post('submit') == TRUE){
           $hoi = 1;
       }[
/code]
 
Wouter J

Wouter J

20/06/2013 16:59:36
Quote Anchor link
Offtopic:
empty kan vanaf 5.5 ook niet-variabelen ontvangen
 
Kris Peeters

Kris Peeters

20/06/2013 17:22:47
Quote Anchor link
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.
Gewijzigd op 20/06/2013 17:23:45 door Kris Peeters
 



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.