Hauke: Probleme mit Session-ID bei Apache!

Beitrag lesen

Hallo!

Ich habe folgendes Problem.
Und zwar passiert bei dem hier unten aufgeführten Script nich das wie ich es mir gewünscht habe. Und zwar soll dies zur Anmeldung für einen geschützten Bereich einer Internetseite dienen.
Die Daten also Name und Passwort werden aus einer Mysql-DB abgefragt.
Wenn ich mich nun anmelde bekomme ich angezeigt, dass der Login erfolgreich war jedoch nicht weiter. Da wenn ich weiter klicke sofort die sicher_seite.php reagiert und anscheinend die Session-ID nicht finden kann obeohl im tmp-Ordner eine angelegt wird bzw. zu finden ist. Somit gelang ich wieder zurück zur index.
Ich weiß nun nicht mehr weiter.
Was kann ich ändern? Denn auf einen Zugriff per htaccess möchte ich gerne verzichten.

Über Eure Hilfe würde ich mich freuen!

Gruß Hauke

index.php

<?php
session_start();
require("connect.inc.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>- -->Intern<--</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<body bgcolor="#D3DCFE">

<?php if(!isset($_POST['submit'])) { ?>

<div align="left">
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
      <td width="100%">
        <p align="center"><font face="Verdana" size="5"><u>Intern<br>
        <br>
        </u></font><font face="Verdana" size="4">Dieser Bereich ist NUR registrierten Mitgliedern der FF Negernbötel zugänglich!</font></td>
    </tr>
  </table>
</div>

<form action="<?php $PHP_SELF ?>" method="post">
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
  <tr>
    <td bgcolor="#e7e7e7" align="center" colspan="2">
    <b><font size="3"><u>Anmeldung:</u></b></font>
    </td>
  </tr>
  <tr>
    <td width="170" bgcolor="#e7e7e7"><u><b>Benutzername:</b></u></td>
    <td width="230" bgcolor="#ffffff"><input type="text" name="username" size="20" class="input"<?php if($_POST['username'] !=
"" ) {echo' value="'.$_POST['username'].'"';} ?>></td>
  </tr>
  <tr>
    <td width="170" bgcolor="#e7e7e7"><u><b>Passwort:</b></u></td>
    <td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
  </tr>
  <tr>
    <td bgcolor="#e7e7e7" align="center" colspan="2">
    <input type="submit" name="submit" value="Login" class="button">
    </td>
  </tr>
</table>
</form>
<?php
}elseif(!$_POST['username'] || $_POST['username'] == "") {
  echo '<p align="center"><br><br><b><font size="3">Bitte einen Benutzernamen eingeben!</b></font><br><br><a href="index.php">Zurück zur Anmeldung</a></p>';
}elseif(!$_POST['password'] || $_POST['password'] == "") {
  echo '<form action="index.php" method="post">';
  echo '<p align="center"><br><br><b><font size="3">Bitte ein Passwort eingeben!</b></font<br><br>';
  echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
  echo '<br><br><a href="index.php">Zurück zur Anmeldung</a></p>';
  echo '</p>';
  echo '</form>';
}else{
  //$password = md5($password);
  $query = @mysql_query("SELECT benutzername, pass FROM users WHERE benutzername = '".$_POST['username']."'") or die('Select ist
fehlgeschlagen!');
  $result = @mysql_fetch_array($query) or die('<p align="center"><font size="3"><b><br><br>Dieser Benutzername existiert nicht!</b><br><br><a
href="index.php">Zurück zur Anmeldung</a></p>');
  if($password != $result['pass']){
    echo '<form action="index.php" method="post">';
    echo '<p align="center">Passwort ist falsch!<br><br>';
    echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
    echo '</form>';
    echo '<br><br><a href="index.php">Zurück zur Anmeldung</a></p>';
    die;
  }else{
    $user = $result['user'];
    session_register('user');
    echo '<p align="center"><font size="3"><b><br><br>Der Login war erfolgreich!</b></font><br><br><a href="sichere_seite.php">Weiter</a></p>';
  }
}

echo '<table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td width="100%"><p align="center"><font face="Verdana" size="1">';
echo '<a href="mail/formular4.php">(Zur Registrierung)</a></font></td></tr></table>';

?>

</body>
</html>
--------------------------------------------------------------

connect_inc.php

<?php
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "";
$dbName = "intern";
$connect = @mysql_connect($dbHost, $dbUser, $dbPass)
or die("Konnte keine Verbindung zum Datenbankserver aufbauen!");
$selectDB = @mysql_select_db($dbName, $connect)
or die("Konnte die Datenbank <b>$dbName</b> nicht auswählen!");
?>
----------------------------------------------------------------

sichere_seite.php

<?php
session_start();
if(!session_is_registered('user') || $_SESSION['user'] == "") {
  header("location:index.php");
  die;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Sichere Seite</title>
</head>
<body>
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
  <tr>
    <td bgcolor="#e7e7e7" align="center">
    <?php echo "<b>Hallo ".$_SESSION['user']."</b>"; ?>
    <br><br>
    <b>Hier ist der sichere Inhalt!</b>
    <br><br>
    <a href="neu.php">Neuen Benutzer anlegen</a>
    <br><br>
    <a href="logout.php">LogOut</a>
    </td>
  </tr>
</table>
</body>
</html>
----------------------------------------------------------------

logout.php

<?php session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>LogOut</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php
$user = $_SESSION['user'];
if(session_destroy()) {
  echo '<p align="center">Bye bye '.$user.'<br><br>Du hast Dich erfolgreich abgemeldet.<br><br><a href="index.php">Zur
Anmeldung</a></p>';
}else{
  echo '<p align="center">Beim Abmelden trat leider ein Fehler auf!<br><br>Bitte schliesse Dein Browserfenster.';
}
?>
</body>
</html>