PHP会话不会在实时服务器上启动

时间:2018-06-18 17:00:14

标签: php

目前我有一个使用会话的php登录脚本,它在我的本地主机上工作正常,但在我的1& 1直播服务器上却没有。

<?php include 'header.php'; ?>


<?php

// start session
session_start();

//connect to database
require 'connect.php';

if (isset($_POST['submit'])) {

// save username and password inputted values from form
$loginuser = trim($_POST['username']);
$loginpass = trim($_POST['password']);


 if($loginstatement = $connect->prepare("SELECT password FROM users WHERE 
 username = ?")) {

$loginstatement -> bind_param("s", $loginuser);
$loginstatement -> execute();
$loginstatement -> bind_result($result);
$loginstatement -> fetch();
$loginstatement -> close();

}

if(password_verify($loginpass, $result)) {
 session_start();
 $_SESSION['username'] = $loginuser; // save session in variable
 header("location: index.php");
 } else {
 echo '<script>';
 echo 'alert("invalid credentials")';
 echo '</script>';
 }


}

// close connection

$connect->close();

?>

代码执行得很好,但它似乎没有启动会话?

1 个答案:

答案 0 :(得分:0)

输出后无法创建会话,因为您必须将session_start();放在脚本的最顶层。

在您的情况下,有两个可能的原因导致它不能正常工作

  1. 如果您的包含输出任何数据或已关闭<?php ?>标记
  2. 在致电session_start();
  3. 之前,您的当前脚本已经关闭