Seite schützen?

PHP:

Code:
<?php
/* Login */
$_SESSION["email"] = $email; 
$_SESSION["startTime"] = time();
header("Location: redeem.php");  
exit();

/* Überarbeitete Funktion IsLoggedIn() */
function IsLoggedIn()
{
  if (isset($_SESSION["email"]))
  {
   /* Wenn Zeitspanne größer als 600 Sekunden (=10 Minuten), dann... */
   if (time()-$_SESSION["startTime"]>=300)
   {
      Logout();
      return false;
   }
   else
      return true;
  }
  return false;
}

/* Neue Funktion Logout() */
function Logout()
{
  unset($_SESSION["email"]);
  unset($_SESSION["startTime"]);
  // evtl. weitere Dinge...
}  
?>


<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso8859-1" />
  <link rel="shortcut icon" href="images/favicon.png" />
<title>Rewardz | Redeem</title>

</head>

<body onload="MM_preloadImages('images/buttonover.png')">

<div id="subscribe_frame">

<div id="subscribe">

<img src="images/logo_top2.png" alt="" align="left" /></div>

</div>
<div id="subscribe3">
<img src="images/topline.png" alt="" align="left" /></div>
</div>

<div id="subscribe4">
<img src="images/bottomline.png" alt="" align="left" /></div>
</div>

<div id="main"> 

<div id="top"></div> 

	<div id="middle"> 
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section2"></div>


<div id="app1"><a href="boutique1.php"><img src="images/gutscheine.png" alt="Gutscheine" name="Gutscheine" width="250" height="400" border="0" ></a></div>
<div id="app2"><a href="boutique2.php"><img src="images/gutscheine.png" alt="Gutscheine" name="Gutscheine" width="250" height="400" border="0" ></a></div>
			



		<br style="clear:both; height: 0px;" /> 

	</div> 

	<div id="bottom"></div> 

</div> 
<br />
<br />
<br />
<br />
<br />
<br />

</body> 
</html>

CSS hab ich raus gemacht
 
Ja ist klar!
Der Teil
PHP:
<?php
/* Login */
$_SESSION["email"] = $email; 
$_SESSION["startTime"] = time();
header("Location: redeem.php");  
exit();
sollte natürlich in das Loginskript, da in die IF-Bedingung, ob der User eingeloggt ist.
Sorry hatte das etwas undeutlich gemacht.
 
Jetzt komme ich one Logindaten rein :(
<?php
ob_start();
session_start();

?>

<?php
$verbindung = mysql_connect("**********", "***************" , "*************")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("db_180227_1") or die ("Datenbank konnte nicht ausgewählt werden");

$email = $_POST["email"];
$passwort = md5($_POST["passwort"]);

$abfrage = "SELECT email, passwort FROM login WHERE email LIKE '$email' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);


$_SESSION["email"] = $email;
$_SESSION["startTime"] = time();
header("Location: redeem.php");
exit();

if($row->passwort == $passwort)
{
$_SESSION["email"] = $email;
header("Location: redeem.php");
exit();
}
else
{
echo "E-Mail und/oder Passwort waren falsch. <a href=\"index2.html\">Login</a>";
}

ob_end_flush()
?>
 
Zuletzt bearbeitet:
Du solltest das in die IF-Bedingung packen:
PHP:
<?php 
ob_start();
session_start(); 
?> 
 
<?php 
$verbindung = mysql_connect("**********", "***************" , "*************") 
or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); 
mysql_select_db("************") or die ("Datenbank konnte nicht ausgewählt werden"); 
 
$email = $_POST["email"]; 
$passwort = md5($_POST["passwort"]); 
 
$abfrage = "SELECT email, passwort FROM login WHERE email LIKE '$email' LIMIT 1"; 
$ergebnis = mysql_query($abfrage); 
$row = mysql_fetch_object($ergebnis); 
 
if($row->passwort == $passwort) 
{ 
  $_SESSION["email"] = $email; 
  $_SESSION["startTime"] = time();
  header("Location: redeem.php"); 
  exit();
}
else 
{ 
  echo "E-Mail und/oder Passwort waren falsch. <a href=\"index2.html\">Login</a>"; 
} 
 
ob_end_flush()
Und dannoch reedem.php:
PHP:
<?php 
/* Überarbeitete Funktion IsLoggedIn() */
function IsLoggedIn()
{
  if (isset($_SESSION["email"]))
  {
   /* Wenn Zeitspanne größer als 600 Sekunden (=10 Minuten), dann... */
   if (time()-$_SESSION["startTime"]>=300)
   {
      Logout();
      return false;
   }
   else
      return true;
  }
  return false;
}
 
/* Neue Funktion Logout() */
function Logout()
{
  unset($_SESSION["email"]);
  unset($_SESSION["startTime"]);
  // evtl. weitere Dinge...
}  

if (!IsLoggedIn()) // Wenn nicht eingeloggt, dann...
{
  header("Location: index2.html"); // Zum Login-Formular weiterleiten
  exit();
}
// Ansonsten anezeigen

?>
 
 
<html>
 
<head>
 
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-1" />
  <link rel="shortcut icon" href="images/favicon.png" />
<title>Rewardz | Redeem</title>
 
</head>
 
<body onload="MM_preloadImages('images/buttonover.png')">
 
<div id="subscribe_frame">
 
<div id="subscribe">
 
<img src="images/logo_top2.png" alt="" align="left" /></div>
 
</div>
<div id="subscribe3">
<img src="images/topline.png" alt="" align="left" /></div>
</div>
 
<div id="subscribe4">
<img src="images/bottomline.png" alt="" align="left" /></div>
</div>
 
<div id="main"> 
 
<div id="top"></div> 
 
    <div id="middle"> 
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section"></div>
<div class="section2"></div>
 
 
<div id="app1"><a href="boutique1.php"><img src="images/gutscheine.png" alt="Gutscheine" name="Gutscheine" width="250" height="400" border="0" ></a></div>
<div id="app2"><a href="boutique2.php"><img src="images/gutscheine.png" alt="Gutscheine" name="Gutscheine" width="250" height="400" border="0" ></a></div>
            
 
 
 
        <br style="clear:both; height: 0px;" /> 
 
    </div> 
 
    <div id="bottom"></div> 
 
</div> 
<br />
<br />
<br />
<br />
<br />
<br />
 
</body>
Zum Glück hast du dein Beitrag noch editiert, denn es war nämlich das Passwort und der Benutzername sichtbar!!
(Keine Angst, ich habe die eh nicht behalten und hätte sie auch nicht verwendet ;))
 
Kann niemand helfen?


Wenn ich mich einlogge werde ich wieder zur Login seite geleitet:
Durch einen Test fand ich heraus, dass der nicht merkt, dass ich angemeldet bin :(

Code:
if (!IsLoggedIn()) // Wenn nicht eingeloggt, dann...
{
  header("Location: index2.html"); // Zum Login-Formular weiterleiten
  exit();
}
 
Zuletzt bearbeitet:
Du bist aber sehr ungeduldig.

Naja bau doch mal ein paar Logging-Funktionen beim Login und -out ein, sodass man alles nachvollziehen kann.
 
Grüße,

also meiner Meinung nach fehlt in der Funktion isLoggedIn() eine geschweifte schließende Klammer....

Code:
function isLoggedIn() {
	if(isset($_SESSION[”email”])) {
		if(time()-$_SESSION["startTime"]>=300) {
			Logout();
			return false;
		} else {
			return true;
		}
	}
	return false;
}

....und zwar die hier in Zeile 9 hinzugefügte. Ich kann den Code leider nicht testen, da ich hier nicht an meinem eigenen Rechner sitze (meiner ist abgeraucht :eek:).
Bitte einfach mal testen und dann nochmal melden - wenn es funktioniert wissen wir dann bescheid und wenn nicht, dann können wir noch ein wenig auf Fehlersuche gehen.

Ansonsten noch einen schönen Nachmittag.
 
Ja das geht.
Du baust zuerst einen Login. Wenn man sich richtig einloggt, dann wird eine Sessionvariable gesetzt, z.B. isLoggedIn=true.
Nun prüfst du bei jeder Seite, ob der User eingeloggt ist, wenn nicht dann leitest du zum Login weiter.

Eine weitere Möglichkeit wäre .htaccess, wobei du dann aber keine komfortable Datenbanktabelle für die User einsetzen kannst und die Loginform nur ein Dialog ist.

Hallo,

eine Frage habe ich dazu. Was ist wenn ich Cookies abgeschaltet habe?

beste Grüße
 
Zurück