Login system brauche hilfe!

maxi-koch-de

Mitglied
Hallo ich arbeite an einem blog!
Das login/regestrirungs script ist fertig!
Problem:
ich will einen Teil des menüs schützen? Wie Bekomme ich das hin?
dan will ich das admins auf /artikel/schreiben.php kommen (link soll nur für Admins sicht bar sein)
das war es Erstmal!

Danke schon mal

PS:
global.php
PHP:
<html>
	<head>
		<title>Alen Blog</title>
			<style type="text/css">
				body {
					background-color:#EEEEEE;
					font-family:Arial;
					font-size:10pt;
					color:#000000;
					}
					
					table {
						background-color:#CCCCCC;
						font-family:Arial;
						font-size:10pt;
						color:#000000;
						}
					#navigation {
						border-right:1px dotted #800;
						margin-right:6px;
						}
						
					#header {
						background-color:#a2a2a2;
						}
						
					#navigation a {
						font-family:Arial;
						font-size:10pt;
						color:#000000;
						text-decoration:no;
					}
					
					#navigation a:hover {
						text-decoration:underline;
						text-size:20pt;
						color:#FFFF00;
						}
						
					#content {
						background-color:#a2a2a2;
						}
					
					#content a {
						font-family:Arial;
						font-size:10pt;
						color:#000000;
						text-decoration:no;
						}
						
					#content a:hover {
						text-decoration:underline;
						text-size:20pt;
						color:#FFFF00;
						}
						
			</style>
	</head>
	
		<body>
		
		<table border="0" cellspacing="3" cellpadding="3" align="center" width="700">
		<tr>
			<td id="header" align="right" valign="bottom" colspan="2">
			<h2>Mein Blog  </h2></td>
		</tr>
		
		<tr>
			<td id="navigation" align="left" valign="left" width="135">
				
				
				
				<a href="index.php">Startseite</a><br>
				<a href="news.php">News</a><br>
				<a href="login.php">Login</a>
                                <--! Hier will ich Geschützte Links -->

 				
				
			</td>
			
			<td id="content" align="left" valign="top">
 
Hi,

als erstes müssten wir eigtl mal dein loginscript sehen.

Ich würde mit Benutzergruppen arbeiten und nach login eine weiterleitung zu einer internen Seite.
Desweiteren wirst du wohl Sessions benötigen, daher wie gesagt, zeig uns mal dein script.

Wir können dir sonst nicht helfen.

mfg
 
Die login.php
PHP:
<?php

    error_reporting(E_ALL);
    include("mysql.php");
    include("functions.php");

    // Session starten
    session_start();
    include("autologout.php");

    if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
        // Falls der Nickname und das Passwort \Uffffffffnstimmen..
        $sql = "SELECT
                        ID
                FROM
                        User
                WHERE
                        Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' AND
                        Passwort = '".md5(trim($_POST['Passwort']))."'
               ";
        $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        // wird die ID des Users geholt und der User damit eingeloggt
        $row = mysql_fetch_assoc($result);
        // Pr\Uffffffffb wirklich genau ein Datensatz gefunden wurde
        if (mysql_num_rows($result)==1){
             doLogin($row['ID'], isset($_POST['Autologin']));
             echo "<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
             echo "Sie wurden erfolgreich eingeloggt.<br>\n".
                  "Zur <a href=\"myprofil.php\">Startseite</a>\n";
        }
        else{
             echo "Sie konnten nicht eingeloggt werden.<br>\n".
                  "Nickname oder Passwort fehlerhaft.<br>\n".
                  "Zurueck zum <a href=\"".$_SERVER['PHP_SELF']."\">Login</a>\n";
        }
    }
    else{
        echo "<form ".
             " name=\"Login\" ".
             " action=\"".$_SERVER['PHP_SELF']."\" ".
             " method=\"post\" ".
             " accept-charset=\"ISO-8859-1\">\n";
        echo "Nickname :\n";
        echo "<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n";
        echo "<br>\n";
        echo "Passwort :\n";
        echo "<input type=\"password\" name=\"Passwort\">\n";
        echo "<br>\n";
        echo "eingeloggt bleiben :\n";
        echo "<input type=\"checkbox\" name=\"Autologin\" value=\"1\">\n";
        echo "<br>\n";
        echo "<input type=\"submit\" name=\"submit\" value=\"Einloggen\">\n";
        echo "<br>\n";
        echo "<a href=\"passwort.php\">Passwort vergessen</a> oder noch nicht <a href=\"registrierung.php\">registriert</a>?\n";
        echo "</form>\n";
    }
?>
 
Hi,

alles klar. Dann einfach noch eine abfrage, oder die derzeitige erweitern um die Benutzergruppe abzufragen. Hast du kein Benutzergruppenfeld in der DB dann musst du das natürlich auch noch hinzufügen.
Beim login speicherst du dann am besten die benutzergruppe auch in die session.

Um das menu für benutzergruppen anzuzeigen kannst du das zb mit einer if abfrage lösen.

PHP:
if ($_session['usergroup'] == "Admin"){
echo '<a href="blabla.php">News schreiben</a>';
 }

oder du lädst einfach aus einer externen Datei die menus für die jeweiligen Gruppen. Viele wege führen nach Rom ;)

Du darfst natürlich nicht vergessen, dann jeweils auf der weitergeleiteten Seite zu kontrollieren, ob die usergroup wirklich Admin ist, sonst könnte jeder der den Link kennt einfach so die Seite betreten.

mfg
 

Neue Beiträge

Zurück