PHP Homepage mit Loginbereich

Servus,
bin mit PHP Neuling und hab da nicht so viel Erfahrung. Bisher immer nur html.
Hatte allerdings mal paar Semester C und C++, daher finde ich php ganz nett.

Jetzt habe ich einen groben Entwurf meiner Homepage und möchte irgendwo oben an der Homepage einen Button mit „Login“ oder direkt ein Loginformular integrieren. Wenn man sich dort anmeldet, bekommt man zusätzliche Menupunkte der Homepage angezeigt. Wollte ich dann irgendwie mit
„if ‚benutzer eingeloggt‘ (include menüpunkeextra)“ (prinzip)

Dann soll oben angezeigt werden „Hallo Max Mustmann (eingeloggt)“.
und natürlich auch irgendwie „Ausloggen“ um sich abzumelden.

Habe mehrere Anleitungen gefunden. Wegen User und Passwort verwaltung sollte man wohl auf eine Datenbank zurückgreifen.

tutorials.de/php-tutorials/9 … sions.html

Alternative auch:
php-einfach.de/tuts_mysql_login.php
phpeasystep.com/phptu/6.html
phpsense.com/php/php-login-script.html

1.) Welche der Anleitungen findet ihr für mein Model am besten ?

2.) Habe mal die oberste Probiert von tutorials.de, allerdings habe ich probleme.
Habe die Datenbank angelegt. User ist „****“ und so heißt auch der Datenbankzugang. Datenbank bzw. Tabelle heißt „benutzerdaten“ wie im Tutorial.

// Aufbau der Datenbankverbindung
$connectionid = mysql_connect („localhost“, „****“, „passwortfürdatenbank“);
if (!mysql_select_db („LoginSystem“, $connectionid)) [size=85]<Zeile23[/size]
{
die („Keine Verbindung zur Datenbank“);
}

Allerdings bekomme ich dann beim Eintragen neuer User immer „Keine Verbindung zur Datenbank“ angezeigt :unamused:

Hoffe ihr könnt mir helfen.

Danke

Edit:

Mit versuchen bekomme ich jetzt den Fehler:
Parse error: syntax error, unexpected T_IF in /users/****/www/php/login2/benutzer-anlegen.php on line 23
Bedingung war es laut Anleitung eine Datenbank „LoginSystem“ anzulegen.
Allerdings habe ich ja irgendwie bei Datenbanken die Pflicht meinen Usernamen zu benutzen oder wie das bei bplaced.net auch immer ist :susp:

ich hab eine benutzerklasse.
wenn du willst, kann ich sie dir geben und dir erklären, wie du alles machen musst.

grüße,
sebastian

[quote=“lenz”]ich hab eine benutzerklasse.
wenn du willst, kann ich sie dir geben und dir erklären, wie du alles machen musst.

grüße,
sebastian[/quote]
Cool, darf ich die vllt. auch mal sehen? Bin auch auf der Suche nach eine kleinen Usermanagement-Klasse.

Hi, der prinzipielle Aufbau eines Logins:
Mit einem formular einloggen
Bei der Verarbeitung nachsehen, ob die Daten mit denen aus der Datenbank hinterlegten gleich sind
Am besten mit $_Session[‘eingeloggt’] = true festhalten dass der user für die Dauer der Sitzung eingelocht ist und dann kann man das Immer ( auch wieder über die Session-variable) abPrüfen ob er eingelocht ist
Man verzeihe die Rechtschreibung … iMüll…

Lg emil

na klar :slight_smile:
die klasse hängt allerdings von meiner datenbank klasse ab, also müsst ihr die auch mit downloaden.

lenzy.de/?attachment_id=63
lenzy.de/?attachment_id=64

um die klassen nun zu verwenden, muss jede datei so beginnen:

diese mysql datei, müsst ihr in die datenbank improtieren:

[code]-- phpMyAdmin SQL Dump
– version 3.3.4
http://www.phpmyadmin.net

– Host: localhost:3306
– Erstellungszeit: 07. März 2011 um 17:34
– Server Version: 5.1.50
– PHP-Version: 5.3.5

SET SQL_MODE=“NO_AUTO_VALUE_ON_ZERO”;

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /;
/
!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS /;
/
!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION /;
/
!40101 SET NAMES utf8 */;


– Datenbank: users



– Tabellenstruktur für Tabelle users

CREATE TABLE IF NOT EXISTS users (
id int(10) NOT NULL AUTO_INCREMENT,
username varchar(100) NOT NULL,
name varchar(100) NOT NULL,
password varchar(100) NOT NULL,
mail varchar(100) NOT NULL,
website varchar(100) NOT NULL,
active enum(‘0’,‘1’) NOT NULL,
last_login datetime NOT NULL,
rights text NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;


– Daten für Tabelle users

INSERT INTO users (id, username, name, password, mail, website, active, last_login, rights) VALUES
(1, ‘guest’, ‘Gast’, ‘d41d8cd98f00b204e9800998ecf8427e’, ‘guest@lenzy.de’, ‘’, 1, ‘0000-00-00 00:00:00’, ‘’);[/code]

falls es noch fragen gibt, könnt ihr gerne hier frage :slight_smile:

Stark, danke. Probiere ich gleich mal aus!

falls euch noch was an der klasse fehlt und es sinnvoll ist, werde ich das noch einbauen :slight_smile:

Servus,
erst einmal danke für die vielen hilfreichen Antworten, vorallem an Lenz.

Habe seit heute morgen um 11 uhr versucht das selbst hin zu bekommen.
****.bplaced.net/index.php

Habe mich jetzt sehr stark hier ran orientiert:
phpsense.com/php/php-login-script.html

Dort gibt quasi alle Files dafür.
Hab auf meine Homepage jetzt auch schon das Loginfeld in mein Menü includiert. Das ist wiederrum in meine index.php-Datei includiert.
Wenn man sich jetzt einloggt (bin mir nicht sicher ob noch richtig läuft),
sollt das Loginformular verschwinden und dort stehen “Willkommen ‘User xy’”.
Klappt leider noch nicht so…

vielleicht kann mir dabei einer helfen. Die Zipdatei von dem Tutorial läuft perfekt auf meinem php-Webspace, aber das integrieren in mein HP-Template klappt nicht so wie es ich will.

Wollte irgendwie sagen, wenn benutzt nicht eingeloggt ist (if …) dann zeigt Loginfeld an.
(if) Wenn Benutzer eingeloggt ist, begrüße ihn mit Namen wo vorher das Loginfeld war (zeige Logout-Button an) und zeige im Menü über weitere (if-Verzweigungen) die geschützten Menüpunkte an, die man ohne Login nicht sehen kann.

Hier mal ein Auszug:
index.php:

<?php include("navigation.php"); ?>

navigation.php:

<?php if(*--User eingeloggt--*) { echo "Eingeloggt"; } else{ include("login-form.php");} ?>

Dateien die ich einbinden will sind folgende:
phpsense.com/file_download/3

User test passwort test
Hier sind die Files zum testen zu finden:
****.bplaced.net/login/

Kann auch jederzeit auf das Model von Lenz umsteigen, aber habe jetzt halt damit schon angefangen und vielleicht fehlt ja gar nicht mehr viel und mir kann vielleicht einer helfen. Sonst müsste ich halt nochmal von vorne anfangen und bin da wirklich nicht so fit und brauch viel Zeit und Hilfe.

Danke !

steht das wirklich so da??
if(–User eingeloggt–)
{
echo “Eingeloggt”;
}

nein :wink:
Das einer der Problempunkte bei mir.
Glaube das Login funktioniert schon nicht mehr richtig nach dem includieren.
Hatte es dort versucht über Variablen aus dem login-exec.php aber glaube ich wollte er nicht annehmen und dann wollte ich nach dem einloggen oben in der URL ‘?seite=eingeloggt’ anhängen lassen und durch if dieses anhängsel auslesen, ging aber alles nicht, daher diese primitive Beschreibung.

Will eigentlich wie gesagt nur folgenden ablauf:
-User loggt sich auf Startseite, bzw. Homepage ein
-Danach verschwindet Loginfeld und ‘Willkommen User xy’ steht dort + Logout button
-Zusätzlich werden versteckte Menüpunkte freigeschaltet (über if?)

Edit:
Falls es nicht zu viel verlangt ist, kann ich auch gerne eines meiner FTP-Konten rausgeben, dass man sich den php-code ansehen kann.

kannst mir gerne mal die daten schicken, ich werde mir das dann bis morgen abend mal anschauen :slight_smile:

Auch noch einmal an dieser Stelle…

… Vielen Vielen Dank für die tolle Hilfe !!!

Servus hab wieder zwei Sachen, bei denen ich Hilfe gebrauchen kann :slight_smile:

Zu einem habe ich eine solche Webcam (Foscam), die leider keinen vernünftigen FTP-Upload besitzt. Man kann zwar auf FTP Uploaden, aber dann wird immer Bild-Datum-Uhrzeit.jpg gespeichert und spammt den Webspace zu.
Eine Funktion “livebild.jpg” gibt es nicht, die er nur einen festen Dateinamen hat.
Da es zwar im Webinterface einen Button gibt “Test FTP” und dann nennt er die Datei FTP-TEST.jpeg oder sowas, könnte man vielleicht über eine php Funktion immer wieder über diesen Test-Button ein Livebild auf den FTP bringen und das Bild ist immer unter einem Dateinamen abrufbar für die Homepage als Livebild. Allerdings müsste man die Adminrechte dann im Internet eintragen und ich weiß nicht ob das so sicher und auch einfach zu realisieren ist.

Daher habe ich zur Zeit noch vor jeden User aus dem Internet direkt auf die Kamera zugreifen zu lassen:
gast:gast@multikontrade.dyndns.o … apshot.cgi
Ist nicht meine Cam, aber eine genau gleiche von der Firmware.
Über Firefox bekommt man unter “snapshot.cgi” ein Bild angezeigt. Internet Explorer zickt da manchmal.

Hatte es vorher auf meiner html-Seite über ein iFrame integriert.
Wollte mal eueren kreativen Gedanken hören wie man das Teil sauber einbinden kann.
Wäre noch ganz nett, wenn man über die Uhrzeit ab einer gewissen Abendstunde ein Standbild (das ruhig irgendwo auf dem Webspace liegt ) anzeigen kann. Quasi “Cam offline”.

Hatte das vorher mit einem Javascript gemacht. War aber irgendwie nicht so schön und wohl auch nicht sicher. Siehe Anhang (iFrame wurde über diese HTML-Datei geschickt und je nach Uhrzeit des -Computers- :unamused: wurde ein Livebild angezeigt oder eben das Standbild).

Das iFrame Livebild befindet sich auch im Anhang (ganz oben in der Textdatei).
Passwort im Bild ist falsch, ist bei dem Link “gast”

Habe das Livebild jetzt einfach so eingehängt:

Allerdings zickt dabei der InternetExplorer etwas rum weil es scheinbar ein JPG ist und doch nicht :slight_smile: wird über „.cgi“ angezeigt und das ist wohl ein nicht so tolles Format…

Habe gerade gemerkt, wenn ich es so einhänge:

zeigt es jetzt auch der Internet Explorer wunderbar an :hail:

Falls ihr eine bessere Idee zum Einbinden habe, oder das per FTP zu lösen, dann her damit.

Was ich vorallem noch bräuche, wäre eine Funktion, die schaut,ob die Kamera noch erreichbar ist !? (Hat die Zeitschaltuhr die Kamera schon abgeschaltet ?)
Und wenn sie nicht mehr erreichbar ist, dann soll ein Standbild (offline.jpg) eingeblendet werden.
Oder eine Funktion über die Uhrzeit auf dem Server, die sagt von xx Uhr - xx Uhr auf die Kamera leiten bzw. die Kamera einbinden und von xx Uhr - xx Uhr das Standbild anzeigen.
Weiß das es toll mit „if“ gehen müsste. Kenne aber die Befehle nicht :astonished:

Und falls es auch noch klappt :slight_smile:
würde ich gerne ein etwas dynamischeres Menü besitzen…

Habe jetzt so ein festes Menü das ich über php eingebunden habe um es einfacher zu überarbeiten und zu ergänzen.

Gibt aber Menüs mit mehreren Ebenen.

z.B.

Home
Bücher
-Buch1
-Buch2
-Buch3
Orte
-Ort1
-Ort2
Bilder
-Bilder1
-Bilder2
-Bilder3
Links
Impressum

Weiß nicht wie schwer sowas ist. Aber wenn man auf Bücher drückt, dass das Untermenü aufgeht und man dann erst „Buch1“, „Buch2“ und „Buch3“ sieht. Habe es auch mit php versucht und „if“, aber ich weiß nicht wie ich sagen soll
i
[/i]if (Bücher==1)
{echo Buch1
…Buch2…
…Buch3…}

:hail:

Haaaii forum.bplaced.net,

würd ich mit javascript machen (aber geht auch mit php)…
der link von bücher müsstest du dann halt noch ?page=buecher oder &page=buecher oder so was anhängen

[quote=„matze66“]Home
Bücher
-Buch1
-Buch2
-Buch3
Orte
-Ort1
-Ort2
Bilder
-Bilder1
-Bilder2
-Bilder3
Links
Impressum

Weiß nicht wie schwer sowas ist. Aber wenn man auf Bücher drückt, dass das Untermenü aufgeht und man dann erst „Buch1“, „Buch2“ und „Buch3“ sieht. Habe es auch mit php versucht und „if“, aber ich weiß nicht wie ich sagen soll
i
[/i]if (Bücher==1)
{echo Buch1
…Buch2…
…Buch3…}

:hail:[/quote]

<?php 
if($_GET[page] == 'buecher') {
  echo "<a href='buch1.html?page=buecher'>-Buch1</a>";
  echo "<a href='buch2.html?page=buecher'>-Buch2</a>";
  echo "<a href='buch3.html?page=buecher'>-Buch3</a>";
} ?>

ByeBye euer Flo =)

//edit: Würdest du uns deinen streng geheimen account namen nennen können wir uns die seite anschaun und dir den code für die navigation fast ganz fertig machen das du nur noch kopieren musst …

//edit2: Den Anhang was du da hochgeladen hast ist das 1:1 deine Homepage? Wenn ja sind da noch ein paar fehler drinnen :wink: du darftst in der navigation.php nicht des tag und so weiter nochmal öffnen

Hast du das mit der Webcam hier auf bplaced?

Zu dem Menü: wie wär’s, wenn du die Menüstruktur in einem Array speicherst (also halt Name des Menüpunktes und Link, ggf auch URl-Name, dann halt auch mit Subarrays, wie du das genau machst bleibt dir überlassen), da ließe sich das dann auch in gewissem Maße automatisieren.

Mfg :wink2:

@Ryon_

erstmal danke :slight_smile:

Klar Nutzer ist „duke87“.
Fummel allerdings jeden Tag an meiner Seite rum (mal geht viel, mal fast gar nix), fürs Menü sollte die Sicherung des überarbeiteten Templates ausreichen, hab auch das Demo mit der Livecam dort online, da meine zurZeit nicht angeschlossen ist.
duke87.bplaced.net/orghpphp/

@Mgier

Also habs ja noch nicht richtig am laufen, aber zur Zeit läuft die Webcam über meine Seite hier. Allerdings lade ich ja keine Bilder hoch auf den Server und belaste ihn damit.
Der Besucher greift ja auf meine IPCam zu, wenn es mal läuft und der Traffic geht aufs Heimnetzwerk. Korrigiert mich, wenn ich mich irre. Denke aber das dürfte nicht gegen die AGBs verstoßen (gehe mal davon aus, dass meine FTP Methode bei bplaced nicht erlaubt wäre, aber die bekomme ich ja sowieso nicht hin so wie es aussieht !coffee )

Edit:
Danke für den Fehlerhinweis, denke wenn ich das mit dem Menü noch ergänzt habe und die Livecam gescheit integriert habe, werde ich mal meine Homepage in Ruhe lassen und hier posten. Wer Fehler findet darf sie dann behalten :p
Will nur nicht so ein wirwar posten, wo ich jeden Tag was änder und dann hier was geändert wird und ich Talent alles zerschieß o.0
Daher erstmal nur diese „Test-Seite“, die aber die wichtigen Funktionen schon drin hat, um die es geht. Dankeschön !

Läuft :smiley: cool Danke.

Aber sagt man nicht normal, dass Javascript unsicher sind und man eher alles über php machen soll ?

Ich meine bei einem Menü besteht kein (so großes) Risiko wie bei einer Passwortabfrage (die man vielleicht umgehen könnte). Und noch eine Frage nebenbei, kann mir einer sagen, ob diese Loginfunktion (Files) über PHP halbwegs sicher ist ? Ja oder, denke mal nur absolute Freaks oder über Bruteforce (falls bei php möglich) kann sowas knacken oder ? Mache ja kein OnlineBanking darüber, aber würde mich mal interessieren, ob das relativ sicher ist o.0

Danke Jungs ! Echt klasse Forum

Edit: FTP über Webcam werde ich bei bplaced nicht machen, will mich natürlich an die AGBs halten. Bei so einem tollen Service ist das Pflicht :stress: !
Aber kennt jemand noch eine elegante Methode für die Webcam einbindung auf der Homepage, bzw was wichtiger ist, ein Script/Code, der über die Zeit oder nach Offline/Online-Zustand der Cam das Bild oder ein Standbild anzeigt ?
Danke

Haaaii forum.bplaced.net,

Ich würde es via Javascript und PHP machen dann kannst dem Script anschaffen alle x Minuten zu akualisieren

[code]<?php
$Javascriptzeit = date(“Y, n, j, G, i, s”);
$std = date(“H”);
if($std <= ‘08’ && $std < ‘20’) {
?>

<?php } else { $bildofflineurl = "http://hierdieadresse/des/offline/bildes.jpg"; } ?>

[/code]
bei setInterval(…, 1000); die 1000 entsprechen 1 sec also wird jede secunde ein bild geholt

ByeBye euer Flo =)