Hi Leute,
ich hab bereits bei Google gesucht, alles mögliche ausprobiert und sogar hier im Forum gesucht und bin auch fündig geworden. Nun bin ich der Meinung, dass ich keinen Fehler mehr im Script haben sollte, aber irgendwie funktioniert das immer noch nicht!
Es geht um ein klassisches Loginscript mit PHP,
ich möchte dass sich der Benutzer einloggen und selbstverständlich wieder ausloggen kann!
Aber wenn sich der Benutzer einloggt kommt er zwar kurz auf die nächste Seite, wird dann aber vermutlich aufgrund der automatischen Weiterleitung wieder zurück auf die index seite geschmissen.
Ich hab also irgendwie Probleme mit der $_SESSION variable.
Vorweg: ich benutze xampplite für einen virtuellen Server, bei dem register_globals Off ist.
Hier die Codes:
Für die erste Seite zum einloggen
<?php
session_start();
error_reporting(E_ALL);
?>
<html>
<head>
\\\\css und so (für das eigentliche Problem unwichtig\\\
</head>
<?php
include("dbconnect.php");
if(!isset($_GET['login']))
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="get">
E-Mail<br><input type="text" name="email" size="15">
Password<br><input type="password" name="password" size="15 maxsize="8"">
<br><center><input type="submit" name="login" value="Login!"></center>
<center><a href="register.php" target="LeftWnd" class="MENU">jetzt registrieren?</a></center>
<?php
}elseif(!$_GET['email'] || $_GET['email'] == "") {
echo 'E-Mail-Adresse fehlt!
<a href="caption.php" class="MENU">Zurück</a>';
}elseif(!$_GET['password'] || $_GET['password'] == "") {
echo 'Passwort fehlt! <a href="caption.php" class="MENU">Zurück</a>';
}else{
$password = md5($_GET['password']);
$query = @mysql_query("SELECT email, password FROM benutzerkonten WHERE email = '".$_GET['email']."'") or die('Fehler mit der Datenbank! Sollte der Fehler öfter autreten melden Sie sich bitte bei dem Betreiber der Seite!');
$result = @mysql_fetch_array($query) or die('Falsche E-Mail-Adresse!<a href="caption.php" class="MENU">Zurück</a>');
if(md5($_GET['password']) != $result['password']){
echo 'Falsches Password! <a href="caption.php" class="MENU">Zurück</a>';
die;
}else{
$_GET['email'] = $result['email'];
$_SESSION['email'] = $_result['email'];
echo '<script type="text/javascript">
<!--
window.location.href = "logedin.php";
//-->
</script>';
}
}
?>
</body>
</html>
Alles anzeigen
die logedin.php beginnt dann mit folgendem Code:
<?php
session_start();
error_reporting(E_ALL);
if(!isset($_SESSION['email']) || $_SESSION['email'] == "") {
header("Location: index.htm");
exit;
}
?>
Übrigens hab ich alle html-Codes die zur hübscheren Darstellung dienten hier rausgenommen weil der code sonst total lang wäre!
Kann es evtl. auch an meinem xampplite liegen, dass der die $_SESSION nicht speichert oder fehlt mir da ein Befehl? Ich arbeite das erste mal mit SESSIONs und hatte auch so schon Probleme genug weil ich erst mit session_register() gearbeitet habe und ich erst später gemerkt habe dass das nichtmehr geht.
Würd mich freuen wenn ihr mir helft, ich bin echt verzweifelt da ich den Fehler nicht finde!