目前我有一个使用会话的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();
?>
代码执行得很好,但它似乎没有启动会话?
答案 0 :(得分:0)
输出后无法创建会话,因为您必须将session_start();
放在脚本的最顶层。
在您的情况下,有两个可能的原因导致它不能正常工作
<?php ?>
标记session_start();