Session-Problem

ecology

Mitglied
Hi Leute!
Ich hab heute auf meine Seite ein Login Script mit Sessions eingebaut, außerhalb der Seite hat es gut funktioniert, doch seid ich es eingebaut habe kann man sich nicht mehr richtig einloggen!

Ich include meinen Inhalt in eine Hauptseite, also gibt es eine index Datei für den Style und viele verschiedene content Seiten, eine davon das Login Script.

Die Variablen für das includen werden per Url übergeben, z.B. index.php?page=login

Als Formaction habe ich PHP_SELF.


Ich hoffe ihr könnt mir helfen, wenn ihr noch ein Snippet braucht sagt es!


Ecology
 
Mh ich weiß nicht genau was ein Snippet bringen würde, weil das Script funktioniert normal ohne Probleme, nur wenn ich das Script auf eine andere Datei include geht was nicht.
Nichts desto trotz hier mal das Script:
PHP:
<?php
session_start();
require("connect.inc.php");
?>

<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
  <table width="400" border="0" align="center">
    <tr> 
      <td align="center" colspan="2"> <b>Login</b> 
      </td>
    </tr>
    <tr> 
      <td width="170">Benutzername</td>
      <td width="230"><input type="text" name="username" size="20" class="input"<?php if($_POST['username'] != "") {echo ' value="'.$_POST['username'].'"';} ?>></td>
    </tr>
    <tr> 
      <td width="170">Passwort</td>
      <td width="230"><input type="password" name="password" size="20" class="input"></td>
    </tr>
    <tr>
      <td align="center" colspan="2">&nbsp;</td>
    </tr>
    <tr> 
      <td align="center" colspan="2"><input type="submit" name="submit" value="Anmelden" class="button"></td>
    </tr>
    <tr> 
      <td align="center" colspan="2">&nbsp; </td>
    </tr>
  </table>
</form>
<?php
}elseif(!isset($_POST['username']) || $_POST['username'] == "") {
	echo '<p align="center">Bitte gib einen Benutzernamen an<br><br><a href="index.php?page=login">Zur&uuml;ck</a></p>';
}elseif(!$_POST['password'] || $_POST['password'] == "") {
	echo '<p align="center">Bitte gib sie ein Passwort an!<br><br><a href="index.php?page=login">Zur&uuml;ck</a></p>';

}else{
	$password = md5($password);
	$query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'") or die('Select ist fehlgeschlagen!');
	$result = @mysql_fetch_array($query) or die('<p align="center">Der angegebene Benutzername exestiert nicht!<br><a href="index.php?page=login">Zur&uuml;ck</a></p>');
	if($password != $result['pass']){
echo '<p align="center">Das angegeben Passwort ist falsch!<br><br><a href="index.php?page=login">Zur&uuml;ck</a></p>';
	}else{
		$user = $result['user'];
		session_register('user');
		echo'Erfolgreich eingeloggt!<br><a href="index.php?page=logged_in">Weiter</a>';

	}
}
?>

und das Script wird folgendermaßen inlcudet:

PHP:
if (!$page)
{
include("content/index.php");
}
else
{
include("content/$page.php");
}
 
session_start(); muss immer ausgeführt werden, bevor du etwas anderes an den Browser sendest. Durch das include scheint das nicht mehr der Fall zu sein. Eventuell liegt es daran?
 
Ich hab session_start(); auch nochmal auf die index Datei gepackt, ganz oben vor den Quelltext.
Geht leider trotzdem nicht... :(

Mit was kann das zu tun haben?
 
Jo die php Klammern hab ich natürlich auch weg gemacht...

Weiß noch irgentjemand woran es hänge könnte? Es ist wirklich ungehäuer wichtig für mich das Problem beschäftigt mich schon ziemlich lange...



Ecology
 
Zurück