dongyinting3179 2018-05-01 20:49
浏览 74
已采纳

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

My website works flawlessly in my XAMPP localhost, and I tried to upload it in free hosting server to test it but I encountered these errors and I dont know how to fix them, please help.

the session.php is for pages that only logged in users can see, if tried to go to e.g dashboard.php when not logged in, page will redirect to login.php

Error 1 :

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

Error 2 :

Warning: Cannot modify header information - headers already sent by (output started at public_html/session.php:6) in public_html/session.php on line 15

And this is my session.php

<?php

session_start();

include('db.php');
$user_check=$_SESSION['login_user']; //THIS IS LINE 6
$ses_sql=mysqli_query($db,"select  username,mem_id  from  member  where  
username='$user_check'  ");
$row=mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);
$loggedin_session=$row['username'];
$loggedin_id=$row['mem_id'];

if(!isset($loggedin_session)  ||  $loggedin_session==NULL)
{
echo  "Go  back";
header("Location: login.php"); //THIS IS LINE 15
}

?>

And Error 3 :

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

This is my dashboard.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
?>

If you noticed the open bracket in line 41, there is php code at the bottom of my dashboard page :

<?php
//  close  while  loop
}
?>

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

I really dont know if this is necessary or not because Im just getting ideas from other public and open source php codes online.

展开全部

  • 写回答

3条回答 默认 最新

  • doupi4649 2018-05-01 20:57
    关注
    Notice: Undefined index: login_user in /public_html/session.php on line 6 Go back
    

    It means that in $_SESSION, 'login_user' is not defined. So depending of your logic you might want to do something like

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

    Second error should be fixed once the first one is fixed.

    Third error : Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /public_html/dashboard.php on line 41

    It means that your query failed. Maybe because $loggedin_id is not set or for an other reason (check mysqli_error (http://www.php.net/manual/en/mysqli.error.php) You might want to fix it, and for good practice, you should check it before doing anything else. Example :

    if ($result) {
        while($rows=mysqli_fetch_array($result)){
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部