Hallo zusammen,
ich habe ein Problem beim Session Handling. Das Problem ist folgendes, ich habe ein Login Skript dort werden benutzerdaten eingegeben. Verifiziert werden sie in einer ausgelagerten Funktion und danach soll eine neue Seite erscheinen die natürlich nur vom Benutzer zugänglich ist. Also ein geschützter Bereich. Mein problem ist nun wie kann ich die Seiten so schützen, dass sie nur von dem eingeloggten Benutzer aufgerufen werden kann.
Ich glaube mein Problem liegt bei bekanntmachen der Session, ich weiß nicht genau an welchem Punkt ich das machen soll.
Ich füge Mal meine Skripte hier ein und ich hoffe mir kann jemand helfen, denn so langsam bin ich am verzwifeln. Ich habe leider keinen Foren Eintrag gefunden, der meine speziellen Fall abdeckt. Danke im voraus!
LOGIN FORMULAR:
STARTSEITE:
functions.php
FORMULAR (GESCHüTZER BEREICH)
Naja ganz schön viel Code ich hoffe mir kann jemand helfen ;-(
DANKE!
ich habe ein Problem beim Session Handling. Das Problem ist folgendes, ich habe ein Login Skript dort werden benutzerdaten eingegeben. Verifiziert werden sie in einer ausgelagerten Funktion und danach soll eine neue Seite erscheinen die natürlich nur vom Benutzer zugänglich ist. Also ein geschützter Bereich. Mein problem ist nun wie kann ich die Seiten so schützen, dass sie nur von dem eingeloggten Benutzer aufgerufen werden kann.
Ich glaube mein Problem liegt bei bekanntmachen der Session, ich weiß nicht genau an welchem Punkt ich das machen soll.
Ich füge Mal meine Skripte hier ein und ich hoffe mir kann jemand helfen, denn so langsam bin ich am verzwifeln. Ich habe leider keinen Foren Eintrag gefunden, der meine speziellen Fall abdeckt. Danke im voraus!
LOGIN FORMULAR:
PHP-Code:
<form action="<?php echo $_SERVER['SCRIPT_NAME']?>" method="post">
<table align="center">
<tr>
<td style="font-family:'Arial'">Benutzername:</td>
<td><input name="benutzername" type="text" /></td>
</tr><tr>
<td align='right' style="font-family:'Arial'">Passwort:</td>
<td><input name="passwort" type="password"></td>
</table>
<table align="center">
<tr>
<td><input type="submit" value="Login" /></td>
</tr>
</table>
</form>
PHP-Code:
<?php
//Legt eine Session an
session_name('Mitglied_Session');
session_start();
?>
<html>
<head>
<title> Login</title>
</head>
<body>
<h1 align="center" style="font-family:'Verdana',bold">Mitarbeiter</h1>
</body>
</html>
<?php
include 'form_login.php';
include 'inc_functions.php';
if (isset($SESSION['benutzername'])){
echo "<h1>{$_SESSION['benutzername']} eingeloggt";
echo '<a href="$logout=true">Ausloggen</a><br/>';
}else{
if (
isset($_POST['benutzername']) &&
isset($_POST['passwort'] ) &&
$_POST['benutzername'] != '' &&
$_POST['passwort'] != ''
)
{
db_connect ();
{
$userid = check_user($_POST['benutzername'], $_POST['passwort']);
if ($userid == true){
echo '<meta http-equiv="refresh" content="0; url=form_erfassen.php">';
if ($userid == false)
echo '<h3 align="center">Ihr eingegebenen Benutzerdaten sind nicht korrekt!</h3>';
}
}
}
}
?>
PHP-Code:
<?php
$server = 'localhost';
$datenbank = 'erfassung';
$user = 'root';
$pass = '';
// Diese Funktion stellt eine Verbindung zur Datenbak her
function db_connect (){
global $server, $user, $pass, $datenbank;
mysql_connect ($server, $user, $pass) or exit(mysql_error());
mysql_select_db($datenbank) or exit(mysql_error());;
}
// Diese Funktion überprüft die Benutzerdaten
function check_user ( $benutzername, $passwort ) {
//REGEXP muss hier stehen, damit die Abfrage und somit auch der kommende Vergleich Case Sensetive ist
$sql = 'SELECT Projektnummer FROM Mitarbeiter WHERE Benutzername REGEXP BINARY\'' . $benutzername . '\' AND Passwort REGEXP BINARY\'' . $passwort . '\'';
$result = mysql_query($sql);
if ( !$result = mysql_query($sql) ) {
exit(mysql_error());
}
if ( mysql_num_rows($result) == 1 ) {
$benutzername = mysql_fetch_assoc($result);
return ( $benutzername['Projektnummer'] );
} else {
return ( false );
}
}
?>
FORMULAR (GESCHüTZER BEREICH)
PHP-Code:
<?php
echo 'Session ID: ' . session_id();
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']?>" method="post">
<table align="center">
<tr>
<td><input type="submit" value="neuen Benutzer anlegen" /></td>
</tr>
</table>
</form>
DANKE!
Kommentar