Fatal error: Can't use function return value in write context
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)
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
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!';
}
}
}
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
Code (php)
1
2
3
4
5
2
3
4
5
<?
$_SESSION('username') = $this->username;
//wordt:
$_SESSION['username'] = $this->username;
?>
$_SESSION('username') = $this->username;
//wordt:
$_SESSION['username'] = $this->username;
?>
Gewijzigd op 17/04/2012 14:18:51 door gerhard l
Ik zag er zelf gewoon over, onbegrijpelijk...
Maar, ik loop zelf tegen hetzelfde probleem aan. Echter, alleen als ik de volgende code toevoeg in mijn controller:
Ik werk overigens met Code Igniter
Niets anders.
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
empty kan vanaf 5.5 ook niet-variabelen ontvangen
@ 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