php警告和严格的标准
问题描述:
我使用$_SESSION[''];
在用户登录后获取用户的值。此数据来自users
表。php警告和严格的标准
我再努力
`SELECT *` `FROM roster`
做一个查询并分配一个变种每个值当用户API=$API
我可以通过以下操作:
error_reporting(E_ALL);
include ('database_connection.php');
$API = $_SESSION['API'];
if ($API !== false) {
$roster_query = "SELECT * FROM roster WHERE API='$API'";
$result = mysqli_fetch_array(mysqli_query($dbc, $roster_query));
/* ROSTERS TABLE */
$StreetName = $result['streetname'];
$HouseNum = $result['housenumber'];
$City = $result['city'];
$State = $result['state'];
$Zipcode = $result['zipcode'];
/* SESSION */
$FirstName = $_SESSION['firstname'];
$LastName = $_SESSION['lastname'];
$Email = $_SESSION['email'];
/* this->$vars - Specific for this form */
$ExecutionDate = date("Y:M:D");
$DOCSIGNEDBYIP = $_SERVER['REMOTE_ADDR'];
}
但是,我遇到以下错误。如果我删除上面的代码没有错误等。
现在这不是'打破'我的代码,但我不想扫地毯下,并稍后解决。
有人可以确定我要去哪里吗?
警告:上线从在/home/.../public_html/.../.../.../db.php空值创建缺省对象48
线48:$return->$i = $row;
if(!$return_array) {
while($row = mysql_fetch_object($sql_query)) {
$return->$i = $row;
$i++;
}
严格的标准:非静态方法访问::是_logged()不应该被静态调用,假定$这从上线在/home/.../public_html/.../.../.../APP.php不相容上下文64
pinAPP
线64:return Access::is_logged();
public function is_logged()
{
return Access::is_logged();
}
is_logged();
<?php
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'init.php');
class pinAPP {
public function is_logged() {
return Access::is_logged();
}
}
访问
<?php
class Access {
private static $auth = false;
final public function is_logged($require_admin_access = false) {
if (! isset($_SESSION[LOGINSESSION]))
return false;
self::$auth = true;
if ($require_admin_access) {
$u = new User();
if (! $u->is_admin())
new Redirect(DEFAULT_RETURN_URL);
}
return self::$auth;
}
}
答
尝试这些,看看他们的工作:
// Set an empty object for $return first
$return = new stdClass();
if(! $return_array) {
$i = 0;
while ($row = mysql_fetch_object($sql_query)) {
$return->$i = $row;
$i++;
}
我认为对方是说你应该有is_logged()
为static
功能:
class Access
{
static function is_logged()
{
// code here
}
}
如果你'$回报\t = \t新stdClass的()应先解决线48;'你面前做循环。试试看。 – Rasclatt
然后在'Access'类下,'is_logged()'看看是否声明了'static function is_logged()'用作'Access :: is_logged()'。 – Rasclatt
您是否介意发布一个描述更多细节的答案@Rasclatt – Kray