Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PHP Login MySQL

Mitglied: shaq110

shaq110 (Level 1) - Jetzt verbinden

27.02.2008, aktualisiert 25.03.2008, 7659 Aufrufe, 5 Kommentare

Hi Leute,
will auf meine Homepage einen PHP Login einbauen. (http://www.fixmypc.de)Nur leider fehlt mir jeglicher ansatzpunkt zur aufbau der Website usw. Wollte das ganze mit ner Session Variable Lösen. Das Problem besteht darin, dass die Homepage aus 5 komplett einzelnen aber vom Aufbau her identiscehn Seiten besteht. Würde ich nun auf einer Seite mich per php einloggen und dann zu einer anderen wechseln, müsste ich ja die Variable erneut prügfen lassen, d.h. den Code vom Login der 1tenseite auf alle 5 kopieren. Haut das hin? Weil das hört sich für mich zimelich umständlich an. Oder st es besser wenn ich die Seite auf der ich eingelogt bin permanent lasse und den rest der seiten in einem IFrame lade? So zum Grundaufbau. Ich will die Daten bzw die Rechte der Benutzer aus einer MySQL Datenbank auslesen. gibts da irgendwo nen Workshop oder vorgefertigte Beispiele? Würde mich sehr über ne antwort freuen

Dankeschööön
Mitglied: scan5416
27.02.2008 um 14:13 Uhr
Also der Aufbau eines PHP Login über eine MySQL DB ist relativ einfach:

Lasse den Benutzer seine Logindaten in ein Formular eintragen. Sende dies dann per POST an dein eigentliches LoginScript.
Dort überprüfst du ob die Kombination von Benutzername und Passwort in der Datenbank vorhanden ist.

01.
<?
02.
session_start();
03.
...
04.
 
05.
...
06.
$mysql_login = mysql_query("SELECT * FROM login WHERE username = '".$_POST['benutzer']."' AND password = '".$_POST['password']."'");
07.
 
08.
if(mysql_num_rows($mysql_login) != 1) {
09.
   echo "Fehler, Benutzername oder Passwort falsch";
10.
else
11.
  $_SESSION['username'] = $_POST['benutzer'];
12.
}
13.
?>
Danach schreibst du ein Script welches überprüft ob der user eingeloggt ist.

Wenn du das beides hast gehst du auf deine anderen 5 Seiten und rufst am Anfang das zuvor geschrieben Script auf:
01.
<?
02.
session_start();
03.
include('./secure.php');
04.
?>
Ist das ein Vorschlag??
Bitte warten ..
Mitglied: shaq110
27.02.2008 um 14:47 Uhr
Ist es dann günstiger wenn ich eineen "Mainframe" habe, in dem der Login ist und die "Unterseiten" per IFrame abrufe oder ist es vom Prinzip her egal? d.h. muss ich sowieso jede Seite die ich öffne egal ob im IFrame oder ganz neu sowieso die Sessionvariable prüfen?
Bitte warten ..
Mitglied: scan5416
27.02.2008 um 16:06 Uhr
Wenn du ein richtiger Passwortschutz willst, dann muss es auf jeder Seite eingefügt werden.

Weil wenn ich mich normal einlogge und dann vom iframe die URL der aufgerufenen Seite auslese. Kann ich am nächsten Tag ohne einloggen direkt auf diese Seite gelangen.
Bitte warten ..
Mitglied: filippg
27.02.2008 um 21:25 Uhr
Hallo,

der Code zur Überbrpüfung der Authentifizierung muss in jede Seite - da helfen auch IFrames o.ä. nichts, sonst könnte man ja einfach den Frameinhalt laden.
Aber du musst (und solltest) das nicht jedes mal neu schreiben. Du schreibst den Code einfach einmal in eine extra Datei und bindest diese dann jeweils per include ein.

Gruß

Filipp
Bitte warten ..
Mitglied: Spackenbremse
25.03.2008 um 11:49 Uhr
Hallo.
Villt löst du das ganze mit der Session-Variable ['userlevel']. Diese wird >0 wenn man sich einloggt. Somit musst du nur auf jeder Seite eine IF - abfrage schreiben, ob $_SESSION['userlevel']>=1 ist und dann die seite anzeigen lassen.
Fals es dir hilft, hier mal ein beispiel

  • head.php

01.
<? include("config.php");
02.
if(isset($_POST['button']))
03.
{    //Auslesen der Benutzerdaten aus der Datenbank
04.
    $sql=  "SELECT
05.
                ID,
06.
                name,
07.
                passwort,
08.
                userlevel
09.
            From
10.
                userlist
11.
             ORDER BY
12.
                ID ASC;";
13.
    $result=mysql_query($sql) OR die(mysql_error());
14.
    while($row=mysql_fetch_assoc($result))
15.
    {        //überprüfen der Benutzer/Kennwort Kombination
16.
        if($row['name']==$_POST['name']&&$row['passwort']==$_POST['passwort'])
17.
        {
18.
        $_SESSION['userlevel']=$row['userlevel'];
19.
        }
20.
        else
21.
        {
22.
        ?>
23.
        <div id='main'>
24.
        <h2><font color=red>Abfrage der Bnutzerdaten Fehlgeschlagen. <br> Bitte Eingeben überprüfen</font></h2>
25.
        </div>
26.
        <?
27.
        }
28.
    }
Hier ist die Abfrage der Benutzerdaten aus der MySQL Tabelle. In diesem Fall existiert ein "userlevel" - Feld, da ich in diesem Script auch Admins setzen kann (userlevel = 3).

Als nächstes musst du nurnoch auf jeder seite deine IF-Abfrage reinmachen:

  • Beispiel: index.php
01.
<? session_start();?>
02.
<link rel="stylesheet" type="text/css" href="style.css">
03.
<?
04.
include("head.php");
05.
if($_SESSION['userlevel']>=1)
06.
{
07.
?>
08.
<div id='menu'>
09.
<? include("menu.php"); ?>
10.
</div>
So kannst du ggf. auch Administratoren setzen, so wie's bei mir der fall ist (einfach eine IF-Abfrage mit $_SESSION['userlevel']==3 ...

Hoffe ich konnte dir helfen
Bitte warten ..
Ähnliche Inhalte
PHP
PHP MySQL Login
Frage von YanmaiPHP7 Kommentare

Hallo ihr Administratoren, ich habe eine Datenbank, in der alle User des Netzwerkes enthalten sind. Wenn ein User sich ...

PHP
Benutzerregistrierung php, mysql
Frage von zelamediaPHP5 Kommentare

Hallo, kennt jemand ein gutes Tutorial/Anleitung wie ich mit php/mysql eine einfache Benutzer-Registrierung umsetzte mit Benutzerrollen also Administrator/Mitarbeiter usw. ...

PHP
HTML PHP MySQL Webanwendung
Frage von hahaxd3PHP12 Kommentare

Hallo Leute, Ich möchte gerne Meine Datenbank auf einer webseite darstellen. Dabei sollte diese Als normale Tabelle dargestellt sein. ...

PHP
PHP - MySQL-Ausgabe editieren
gelöst Frage von ThoomaasPHP19 Kommentare

Hallo alle zusammen! Ich bin gerade dabei ein Portal für meine Firma zu basteln. Hierbei sollen die User Protokolle ...

Neue Wissensbeiträge
iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 7 StundeniOS

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 2 TagenOff Topic1 Kommentar

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 2 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Sicherheit

MikroTik: Sicherheitslücke wird ausgenutzt obwohl ein Update seit langem verfügbar ist

Information von sabines vor 2 TagenSicherheit

Obwohl ein Update, dass die nun massenhaft ausgenutzte Lücke schließt, seit langem (März 2018) verfügbar ist, wird es offensichtlich ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Server 2010: Keine Eingehenden E-MAils
Frage von gabeBUExchange Server15 Kommentare

Hallo Zusammen Ich habe das kurzen auf dem Exchange 2010 Server das Problem, dass ich keine externen E-Mails mehr ...

Rechtliche Fragen
Systemhaus auf Abwegen
Frage von rocco61Rechtliche Fragen13 Kommentare

Hallo zusammen, bin derzeit ratlos bei dem folgenden Scenario: In einen Seniorenheim wurde beschlossen, die IT an eine andere ...

Router & Routing
MikroTik - Routing, Bridging, Switching
gelöst Frage von Alex29Router & Routing9 Kommentare

Hallo in die Runde, als Hobby-Admin würde ich bitte mal wieder Eure Hilfe benötigen. Seit der Umstellung auf RouterOS ...

Outlook & Mail
Kalendersync mit Android und Outlook
Frage von Stefan007Outlook & Mail8 Kommentare

Hi Leute, kennt jemand eine Möglichkeit um Termine zwischen installiertem Outlook auf dem PC und dem Kalender auf einem ...