Christian Schlierf: Login funktioniert im Firefox aber nicht im IE

Hallo,

ich hab folgendes Problem. Ich habe mir ein kleines Login Programmchen gemacht. Jetzt hab ich allerdings da Problem, dass es im FF perfekt funktioniert und im IE nicht.

Hier mein Auszug:(login.htm)

<form action="check.php" method="post">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Token:</td>
<td><input type="password" name="token"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="login" value="Login">
</td>
</tr>
</table>
</form>

(check.php):
<html>
<head>
<title>JOA Checker</title>

</head>
<body>

<?php

include("config.inc.php");

$my_table = "phpsv_survey_64525";

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht

waehlen.");

session_start();

if($login)
{
$token = $_POST['token'];

//$token = md5($token);

$check = "SELECT id
    FROM phpsv\_survey\_64525
    WHERE token='".$token."'";
$check_result = mysql_query($check);
$result = mysql_num_rows($check_result);

if($result > 0)
{
$logedin = TRUE;
session_register("logedin");
$_SESSION['token'] = $token;
echo "Login erfolgreich!<br>Bitte klicken Sie <a href="index.php">hier</a> um zur Startseite zu gelangen.";
}
else
{
echo "Die Daten waren falsch.";
echo "<br>Nochmal versuchen! Bitte klicken Sie <a href="login.htm">hier</a>";
}
}
?>

</body>
</html>

Das Login Fenster wird mir angezeit. Die check.php gar nicht.

Schon mal danke für Eure Hilfe

  1. Hi!

    Das kann so einiges nicht funktionieren, unabhängig vom Browser.

    <html>
    <head>
    <title>JOA Checker</title>

    </head>
    <body>

    Hier fehlt erstmal die DTD-Angabe, aber das ist für dein Problem unerheblich.
    Hier wird HTML-Code zum Client (Browser) geschickt. Damit wurden dann auch bereits HTTP-Header gesandt.

    session_start();

    Jetzt startest du eine neue Session. Damit wird dann versucht, ein Cookie zu setzen.
    Das ist aber nicht mehr möglich, weil bereits Header verschickt wurden.
    session_start() müßte aufgerufen werden, bevor irgendwas zum Client geschickt wurde.

    Das kannst du aber auch dem Handbuch entnehmen.
    http://de.php.net/session_start:

    Anmerkung: Bei Verwendung Cookie-basierter Sessions müssen Sie session_start() aufrufen, bevor irgend etwas an den Browser geschickt wird.

    Schöner Gruß,
    rob