Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung PHP

Mitglied: shaq110

shaq110 (Level 1) - Jetzt verbinden

27.02.2008, aktualisiert 25.03.2008, 7561 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Datenbanken
gelöst Eine Art Access, nur mit PHP und MySQL? (14)

Frage von McLion zum Thema Datenbanken ...

PHP
PHP MySQL Login (7)

Frage von Yanmai zum Thema PHP ...

PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...