2016-11-28 146 views
-2

我已经将我的网站从本地移动到liv服务器上的子域,并且在我的登录脚本周围出现了一些问题,它在本地完美工作,但似乎会话不起作用我预计自移动在线。

所以我的脚本如下所示:

<?php 
session_start(); 
include_once '../config.php'; 

$email = mysqli_real_escape_string($conn, $_POST['email']); 
$password = mysqli_real_escape_string($conn, $_POST['password']); 

$query = "SELECT user_email, user_password FROM users WHERE (user_email = '". $email ."')"; 
$result = $conn->query($query); 

if ($result->num_rows === 1) { 

    $row = $result->fetch_array(MYSQLI_ASSOC); 

    if (password_verify($password, $row['user_password'])) { 

     $_SESSION['user_id'] = $row[ 'user_id' ]; 
     $_SESSION['user_email'] = $row[ 'user_email' ]; 

     $_SESSION['video_1_status'] = $row[ 'video_1_status' ]; 
     $_SESSION['video_2_status'] = $row[ 'video_2_status' ]; 
     $_SESSION['video_3_status'] = $row[ 'video_3_status' ]; 
     $_SESSION['video_4_status'] = $row[ 'video_4_status' ];    

     header('Location: ../home.php');   

     } else{ 
      header('Location: ../login.php?message=Email address or password is incorrect'); 
     } 

    } else{ 
    header('Location: ../login.php?message=Email address or password is incorrect'); 
} 

$conn->close(); 

?> 

所以非常简单的没有章法,但是当我通过数值要乒我回一些错误:

Notice: Undefined index: user_id in /var/sites/r/reedvid.mydomain.co.uk/public_html/actions/login-action.php on line 17 

Notice: Undefined index: video_1_status in /var/sites/r/reedvid.mydomain.co.uk/public_html/actions/login-action.php on line 20 

Notice: Undefined index: video_2_status in /var/sites/r/reedvid.mydomain.co.uk/public_html/actions/login-action.php on line 21 

Notice: Undefined index: video_3_status in /var/sites/r/reedvid.mydomain.co.uk/public_html/actions/login-action.php on line 22 

Notice: Undefined index: video_4_status in /var/sites/r/reedvid.mydomain.co.uk/public_html/actions/login-action.php on line 23 

Warning: Cannot modify header information - headers already sent by (output started at /var/sites/r/reedvid.mydomain.co.uk/public_html/actions/login-action.php:17) in /var/sites/r/reedvid.mydomain.co.uk/public_html/actions/login-action.php on line 25 

很清楚什么告诉我,但我不完全确定A:为什么这在本地工作和B:什么是错的?

+0

您没有在查询中选择video_statuses,您只选择了user_email,并且仅输入了密码 –

回答

0

确保在您的php.ini中的Web服务器上,您的会话保存正确。 您也可以尝试查看它是否每次刷新时都生成新会话session_id();