andrassberlin
Grünschnabel
Hallo,
ich habe folgendes Problem und weiß nicht mehr weiter...
auf meiner homepage habe ich einige seiten, die nur bestimmten usern zugänglich sein sollen. Hat sich ein user einmal eingeloggt, so kann er während seiner Sitzung sämtliche -- auch geschützte Seiten -- öffnen. Auf jeder Seite habe ich daher in einem iframe ein loginscript:
login.php:
nachdem login wird intern.php aufgerufen:
bzw formular.php:
Der Vollständigkeit halber hier die Datei checkuser.php:
Da auf jeder Seite die Datei login.php vorkommt (damit man sich auf jeder Seite einloggen kann) möchte ich nun eine Abfrage realisieren, mit der entschiednen wird ob die login.php im iFrame verwendet wird, also der user noch nicht eingeloggt ist, oder ob formular.php verwendet wird falls der user bereits eingeloggt ist.
Leider habe ich keine Ahnung wie ich das umsetzen soll. Bitte helft mir, ich verzweifle langsam. Ist denn meine Idee eigentlich umständlich, und falls ja, geht das ncoh simpler?
Vielen Dank schon mal im Voraus,
Andreas
ich habe folgendes Problem und weiß nicht mehr weiter...
auf meiner homepage habe ich einige seiten, die nur bestimmten usern zugänglich sein sollen. Hat sich ein user einmal eingeloggt, so kann er während seiner Sitzung sämtliche -- auch geschützte Seiten -- öffnen. Auf jeder Seite habe ich daher in einem iframe ein loginscript:
login.php:
PHP:
<?php
// Session starten
session_start ();
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($accesscheck)) {
$GLOBALS['PrevUrl'] = $accesscheck;
session_register('PrevUrl');
}
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "root", "");
if (!mysql_select_db ("LoginSystem", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT ".
"Id, Nachname ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Nickname like '".$_REQUEST["name"]."') AND ".
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nachname"] = $data["Nachname"];
header ("Location: intern.php");
}
else
{
header ("Location: formular.php?fehler=1");
}
?>
nachdem login wird intern.php aufgerufen:
PHP:
<link rel="stylesheet" type="text/css" media='screen' href="../html/style.css" />
<style type="text/css">
<!--
table
{
font-size:100%;
width:98%;
font-weight: normal;
border-spacing: 0px 0px;
}
img {
border: 0px solid #326B5A;
}
-->
</style>
</head>
<body>
<div id="box_right">
<div id='frame'>
<div align="left">
<form action="../php/login.php" method="post" id="login">
<table border="0" cellpadding="1" cellspacing="0" width="168">
<tbody><tr>
<td bgcolor="#D1EEEA"><img src="../imgs/login.gif" border="0" height="23" width="168"><br>
<table bgcolor="white" border="0" cellpadding="4" cellspacing="0" width="168">
<tbody><tr>
<td colspan="2"><span><font color="#707070">BenutzerId: <?php echo $_SESSION["user_id"]; ?><br>
Nachname: <?php echo $_SESSION["user_nachname"]; ?></font></span></td>
</tr>
</tbody>
</table>
<table bgcolor="white" border="0" cellpadding="3" cellspacing="0" width="168">
<tbody>
<tr>
<td width="60"><br></td>
<td><div align="right"><a href="logout.php"><img src="../imgs/logout_bt.gif" alt="Ausloggen" border="0" height="21" vspace="4" width="67"> </a></div></td>
</tr>
</tbody>
</table>
</table>
</div>
</div>
</div>
</body>
</html>
bzw formular.php:
PHP:
<?php session_start (); ?>
<html>
<head>
<title>Login</title>
<link rel="stylesheet" type="text/css" media='screen' href="../html/style.css" />
<style type="text/css">
<!--
table
{
font-size:100%;
width:98%;
font-weight: normal;
border-spacing: 0px 0px;
}
img {
border: 0px solid #326B5A;
}
-->
</style>
</head>
<body <font color="#FF0000"></font>
<div id="error">
<div id='frame'>
<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten waren ungültig.";
}
?>
</div>
</div>
<div id="box_right">
<div id='frame'>
<div align="left">
<form action="../php/login.php" method="post" id="login">
<table border="0" cellpadding="1" cellspacing="0" width="168">
<tbody><tr>
<td bgcolor="#D1EEEA"><img src="../imgs/login.gif" border="0" height="23" width="168"><br>
<table bgcolor="white" border="0" cellpadding="4" cellspacing="0" width="168">
<tbody><tr>
<td colspan="2"><span><font color="#707070">Bitte loggen Sie sich hier mit Ihrem Benutzernamen und Kennwort ein ...</font></span></td>
</tr>
</tbody></table>
<table bgcolor="white" border="0" cellpadding="3" cellspacing="0" width="168">
<tbody><tr>
<td valign="top" width="60"><span> <b>Name</b></span></td>
<td><div align="right"><input class="wst_input" name="name" size="8" type="text"></div></td>
</tr>
<tr>
<td valign="top" width="60"><span> <b>Passwort</b></span></td>
<td><div align="right"><input class="wst_input" name="pwd" size="8" type="password"></div></td>
</tr>
<tr>
<td width="60"><br></td>
<td><div align="right"><input src="../imgs/login_bt.gif" alt="Einloggen" title="Einloggen" border="0" height="21" type="image" vspace="4" width="67"></div></td>
</tr>
</tbody></table>
<img src="../imgs/trenner.gif" border="0" height="9" width="165"><br>
<table bgcolor="white" border="0" cellpadding="4" cellspacing="0" width="168">
<tbody><tr>
<td colspan="2"><span>Haben Sie noch keinen Benutzernamen?
Dann können Sie <b><a target="_top" href="./getpass.php">hier </a></b> ihr Passwort anfordern.</span></td>
</tr>
</tbody></table></td>
</tr>
</tbody></table>
</form>
</div>
</div>
</div>
</body>
</html>
Der Vollständigkeit halber hier die Datei checkuser.php:
PHP:
<?php
session_start ();
if (!isset ($_SESSION["user_id"]))
{
header ("Location: formular.php");
}
?>
Da auf jeder Seite die Datei login.php vorkommt (damit man sich auf jeder Seite einloggen kann) möchte ich nun eine Abfrage realisieren, mit der entschiednen wird ob die login.php im iFrame verwendet wird, also der user noch nicht eingeloggt ist, oder ob formular.php verwendet wird falls der user bereits eingeloggt ist.
Leider habe ich keine Ahnung wie ich das umsetzen soll. Bitte helft mir, ich verzweifle langsam. Ist denn meine Idee eigentlich umständlich, und falls ja, geht das ncoh simpler?
Vielen Dank schon mal im Voraus,
Andreas
Zuletzt bearbeitet: