Webhilfe.info/board

Normale Version: Sessions&LoginSystem
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

Ich habe nen Problem beim scripten. Ich habe einige .php Dateien, auf die nur ein Admin zugreifen sollen kann.

Also benötige ich ein Login System. Jedoch habe ich ein verständnis Problem von LoginSystemen. Ich verstehe nicht, wie sie funktionieren.
Außerdem weis ich nicht recht, wie ich mit Sessions umgehen muss. (Diese braucht man ja scheinbar dafür)

Ich stelle mir das so vor, dass ich eine Datei habe, z.B. login.php. Wenn ich diese Datei aufrufe muss ich meine Benutzerdaten eingeben.

Das script in der login.php soll nun prüfen, ob mein Benutzername mit dem dazugehörigen Passwort in mein MySQL Datenbank liegt. (Diese sind installiert). Hat es einen treffer soll meinetwegen die admin_index.php geöffnet werden. Diese ist dann z.B. unter index.php?id=5 erreichbar sein.

Damit jetzt nicht auch unangemeldete Surfer per direkter Eingabe des Pfades zur admin_index.php auf diese zugreifen können muss in alle admin Dateien eine Datei includet werden die die IP Adresse des Surfers checkt und mit meiner in der Datenbank vergleicht. (Ab hier weis ich nicht mehr weiter) Allgemein diese IP Überprüfung verstehe ich noch nicht ganz.


Wie mach ich das nun? Kann mir hier jemand, wenn möglich extrem einfach, etwas dafür zusammencoden? Sodass ich nur noch angeben muss, auf welche Datei die login.php umleiten soll nachdem ich auf den Button gedrückt habe?

Danke, Gruß greg
Schon mal bei http://tut.php-q.net/login.html geguckt?
Ist da eigentlich recht einfach beschrieben, jeder Schritt Smile
Dadrauf hätt ich dich auch verwiesen und natürlich nach http://tut.php-q.net/sessions.html das ist beides recht gut, ungefähr nach der gleichen Methode mach ich das auch immer mit dem Login...
Danke an euch.

Die beiden Tuts hatte ich bereits gelesen. Das Login nicht ganz weil es 2m lang ist.

Nur fehlt mir die Verbindung zwischen Loginsys. und Sessions. Ich weis die beiden dinge nicht recht zu verbinden.
Ich könnte dir mal mein Script für das Adminmenü zukommen lassen, vielleicht gehts dann besser?

EDIT: Bitteschön

[php:1]
<?php
session_start();
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
";
echo " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">

";
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">
";
echo "<head>
";
echo " <title>admin.php</title>
";
echo "</head>
";
echo "<body>
";
require ('inc/config.php');
require ('inc/classes.php');
require ('inc/functions.php');
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR
die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
mysql_select_db(MYSQL_DATABASE) OR
die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());

if(isset($_POST['user']) && isset($_POST['pass'])){
if($_POST['user']==$username && $_POST['pass']==$passwort){
// $username und $passwort sind in der config.php gesetzt
$_SESSION['loginname']=$username;
$_SESSION['ip']=$_SERVER['REMOTE_ADDR'];
}else{
echo "<p>
";
echo " Ihr Eingaben waren falsch
";
echo "</p>
";
}
}
if(isset($_SESSION['loginname']) && isset($_SESSION['ip'])){
if($_SESSION['loginname']==$username && $_SESSION['ip']==$_SERVER['REMOTE_ADDR']){
//adminmenü
}
}else{
echo "<form method=\"post\" action=\"admin.php\">
";
echo " <input type=\"text\" name=\"user\" value=\"Name\" /><br />
";
echo " <input type=\"password\" name=\"pass\" value=\"passwort\" /><br />
";
echo " <input type=\"submit\" />
";
echo "</form>
";
}
echo "</body>
";
echo "</html>";
?>
[/php:1]
Znay, du hast mir geholfen danke. Warum connectest du mit der db?
Das war für ein News Script, da muss ich halt später Daten in die Datenbank/Tabelle eintragen, auslesen, ändern, löschen etc.
Referenz-URLs