Only variables can be passed by reference
Jeg får pludselig ovenstående fejl på et site. Min webhoteludbyder har givet mig dette hint:http://www.php.net/README_UPGRADE_51.php#cirh
Jeg har indsnævret det til, at det må dreje sig om et af disse to scripts. Jeg vil være en del point taknemlig hvis nogen har tid til at rette dem:)
/JD
--------
<?php
mysql_select_db("xxx", mysql_connect("localhost", "xxx", "xxx"));
/**
* Samme princip som mysql_fetch_assoc() der kører bare automatisk stripslashes() på result, er andet argument true
* køres der også htmlentities på result.
**/
function fetch($result, $htmlentities = 0) {
if (mysql_num_rows($result)) {
$row = mysql_fetch_assoc($result);
if (is_array($row)) {
$row = array_map("stripslashes", $row);
if ($htmlentities) {
$row = array_map("htmlentities", $row);
}
return $row;
}
}
else {
return FALSE;
}
}
/**
* Samme som mysql_query() med den undtagelse at der checkes for fejl.
**/
function sql($sql) {
$result = mysql_query($sql) or trigger_error("Fejl i SQL'en:\n$sql\n".mysql_error(), E_USER_ERROR);
return $result;
}
/**
* Returnerer første felt fra sqlsætning.
**/
function fetch_field($sql) {
$result = sql($sql);
if (mysql_num_rows($result)) {
return array_shift(fetch($result));
}
}
?>
--------
<?php
settype($id, "integer");
require_once "mysql.inc.php";
class Auth {
var $email = "";
var $password = "";
var $id = 0;
function Auth($email, $password) {
if ($email && $password) {
$this->email = $email;
$this->password = $password;
}
elseif ($_COOKIE['email'] && $_COOKIE['password']) {
$this->email = $_COOKIE['email'];
$this->password = $_COOKIE['password'];
}
}
function opdater() {
//sql("UPDATE bruger SET senestelogin = NOW() WHERE id = ".$this->id);
mysql_query("UPDATE bruger SET forrigelogin = senestelogin, senestelogin = NOW() WHERE id = ".$this->id);
}
function check() {
$id = fetch_field("SELECT id FROM bruger WHERE email = '".$this->email."' AND password = MD5('".$this->password."')");
$this->id = $id;
return $id;
}
function senestelogin() {
return fetch_field("SELECT forrigelogin FROM bruger WHERE id = ".$this->id);
}
function login_kraevet() {
if (!$this->check()) {
header("Location: login.php");
die("Adgang nægtet");
}
}
function logind() {
setcookie("email", $this->email);
setcookie("password", $this->password);
$this->opdater();
}
function logud() {
setcookie("email", 0, 0);
setcookie("password", 0, 0);
}
}
$auth = new Auth($_POST['email'], $_POST['password']);
?>
--------
