Ich schreibe ein grundlegendes Autorisierungssystem und ich kämpfe mit ihm ein bisschen. Es sind zwei Dateien beteiligt - index.php
und login.php
. Das Anmeldeformular ist ziemlich einfach (es ist innen index.php
): PHP Redirect mit benutzerdefinierten Kopfzeilen
<fieldset class="right">
<label for="email">Email
<input id="email" name="email" type="text" value=""/>
</label>
<label for="password">Password
<input id="password" name="password" type="password" />
<a href="#" onclick="$('#password-box').toggle();" >Forgot your password?<span></span></a>
</label>
<div class="btn-login"><button type="submit" value="Login"></button></div>
</fieldset>
</form>
Die login.php
Inhalt:
<?php
// Include the launcher file.
require_once('globals.php');
require_once(CORE . 'launcher.php');
// Collect the information sent to us.
$mail = (isset($_POST['email'])) ? $_POST['email'] : '';
$password = (isset($_POST['password'])) ? $_POST['password'] : '';
$LoginError = false;
// AUTHORIZATION STUFF HERE
if ($LoginError) {
header('Status: 200');
header('X-Test: test');
header('Location: index.php');
exit();
}
Wie Sie sehen können, bin ich einen benutzerdefinierten Header, um das Skript zu senden, welche die Form in Fall gab es einen Fehler beim Anmelden. In der index.php
, verwende ich headers_list()
, aber die Header, die ich sende, ist nicht in der Liste vorhanden.
Was verursacht das? Ich habe versucht mit php_value "output_buffering" "0"
in der .htaccess
Datei, aber keinen Erfolg.
UPDATE Nach dem Einchecken in Chrome wird die Kopfzeile vom Browser empfangen, ist aber in PHP nicht verfügbar.
Vielen Dank im Voraus.
Die Antwort sollte jetzt mit vier verschiedenen Erklärungen klar sein: D –
Bitte beachten Sie das Update. – Pateman