使おうとしています
header("Location: index.php")
ログインスクリプトにありますが、ライブサーバーでは機能せず、ローカルでのみ機能します。なぜ問題があるのかわかりません。
私もいくつかのテストを行いました:
error_reporting(E_ALL);
ini_set('display_errors', 1);
// header('Location: test.php');
require_once 'class/functions.php';
$func = new Functions();
//$error = "";
if(isset($_POST['loginSubmitted'])) {
$user = $func->loginUser($_POST);
if($user == true) {
session_start();
$_SESSION['loggedin'] = true;
header("Location: index.php");
die('test');
}
else {
$error = 'Login nicht erfolgreich.';
}
}
die()関数の「テスト」が表示されているので、ヘッダーも送信されていないようです。
(いいえ、ヘッダー関数の前に出力はありません)
編集3:
ポストワークの代わりにgetを使用します。私は本当に混乱しています。
編集2:
テスト用に縮小版を作成しましたが、以下でも機能しません。サーバーの問題のようです($ _POST ?!と組み合わせて):
<?php
if(isset($_POST['submitted'])) {
header('Location: index2.php');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login</title>
</head>
<body>
<form action="" method="post">
<input type="text" name="name" />
<input type="submit" name="submitted" value="senden" />
</form>
</body>
</html>
編集:コード例を更新しました。