网站在localhost中运行良好,但在托管服务器中运行良好

时间:2018-05-02 04:49:05

标签: php

我的网站在我的XAMPP localhost中完美运行,我尝试将其上传到免费托管服务器进行测试,但我遇到了这些错误,我不知道如何修复它们,请帮忙。

session.php用于仅登录用户可以看到的页面,如果在未登录时尝试转到例如dashboard.php,页面将重定向到login.php

错误1:

  

注意:未定义的索引:第6行的/public_html/session.php中的login_user   回去

错误2:

  

警告:无法修改标题信息 - 已在第15行的public_html / session.php中发送的标题(在public_html / session.php:6处开始输出)

这是我的session.php

<?php
include('db.php');
$sql="SELECT  *  FROM  member  where  mem_id=$loggedin_id";
$result=mysqli_query($db,$sql);
?>
<?php
while($rows=mysqli_fetch_array($result)){ //THIS IS LINE 41
?>

错误3:

  

警告:mysqli_fetch_array()要求参数1为mysqli_result,第41行/public_html/dashboard.php中给出布尔值

这是我的dashboard.php

<?php
//  close  while  loop
}
?>

<?php
//  close  connection;
mysqli_close($db);
?>

如果您注意到第41行中的空心括号,我的信息中心页面底部会显示php代码:

struct ProductSize {
//Label for product information

var price : Float
var sizeId : Int
var size :  Int
var productId : Int
//computed Value
var sizeString : String

init(json: JSON) {
    self.price = json["price"].floatValue
    self.sizeId = json["id"].intValue
    self.size = json["size"].intValue
    self.productId = json["product_id"].intValue
    //computed value
    self.sizeString = self.sizeDescription(size: self.size)
}

//helper function
func sizeDescription(size:Int) -> String{
    switch size {
    case 2:
        return "small"
    case 3:
        return "medium"
    case 4:
        return "large"
    default:
        return "unknown"
    }
}

我真的不知道这是否有必要,因为我只是在线获取其他公共和开源php代码的想法。

3 个答案:

答案 0 :(得分:0)

错误:1

检查session是否设置了login_user,然后将其分配给变量。

if(isset($_SESSION['login_user']))  // Check for session is set or not
{
    $user_check = $_SESSION['login_user']; //THIS IS LINE 6
}

错误:2

请确保您在<?php session.php之前未写过任何内容或任何代码。

如果有,请删除。此外,comment之前不应有<?php的任何代码。

错误:3

该查询失败并返回 false

将其放在mysqli_query()之后,看看发生了什么。

if (!$result) {
    printf("Error: %s\n", mysqli_error($db));
    exit();
}

了解更多信息:

http://www.php.net/manual/en/mysqli.error.php

答案 1 :(得分:0)

Notice: Undefined index: login_user in /public_html/session.php on line 6 Go back

这意味着在$ _SESSION中,未定义“login_user”。因此,根据您的逻辑,您可能希望执行类似

的操作
$user_check = isset($_SESSION['login_user']) ? $_SESSION['login_user'] : '';

修复第一个错误后,应修复第二个错误。

第三个错误:Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /public_html/dashboard.php on line 41

这意味着您的查询失败。也许是因为没有设置$ loggedin_id或者出于其他原因(检查mysqli_error(http://www.php.net/manual/en/mysqli.error.php)你可能想要修复它,并且为了实践,你应该在做其他任何事情之前检查它。 示例:

if ($result) {
    while($rows=mysqli_fetch_array($result)){

答案 2 :(得分:0)

他们不是错误..他们是通知和警告!!!

我假设您在本地xamp php_ini设置中可能有错误设置: error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING

并且在托管该设置的免费应用中可能只有error_reporting = E_ALL

因此,只需在本地和远程计算机上交叉检查php.ini文件,将其设置为相同,然后在托管之前调试错误或警告!