Interner Bereich auf der Homepage erstellen

vom 29.01.2009, 20:09 Uhr

Guten Tag!
Ich würde gerne einen Internen Bereich für meine Homepage einstellen. Das ganze soll ganz einfach sein.

Ich habe ein Standardpasswort und ein Registrierungsformular. Jeder, der sich registriert, bekommt eine Mail mit dem Standardpasswort. Also loggen sich alle mit dem gleichen Passwort ein. Das Passwort erhält man jedoch nur, wenn man sich registriert hat.

Wie kann ich dann einen Login Bereich einbauen, der das Passwort überprüft und wenn es korrekt ist, den Nutzer weiterleitet oder wenn es falsch ist, eine Fehlermeldung anzeigt bzw. den User auf eine Fehlerseite weiterleitet?

Weiß einer einen Rat? Wenn ja, wäre eine Schritt für Schritt Anleitung super, denn ich habe nicht gerade viel Kenntnisse in PHP und HTML. Wenn es wichtig ist, ich habe einen Funpic Account, mitdem ich einen Server habe, der FTP und MySQL unterstützt.

MFG Euer Big-D.

Benutzeravatar

» Big-D. » Beiträge: 1234 » Talkpoints: -10,32 » Auszeichnung für 1000 Beiträge



Hi,
für einen ganz einfachen Bereich kann Javascript ausreichen. Dann kannst du aber nicht viel machen und der interne Bereich wird sehr eingeschränkt und eher statisch sein.

Wenn du es richtig machen willst, dann empfehle ich dir PHP und MySQL. Dann kannst du mehrere Benutzer anlegen, den internen Bereich individuell anpassen und auch gut absichern. Schau am besten Mal auf folgender Seite, dort gibt es ein kostenloses Tutorial mit sehr guten Beispielen: PHP4 Openbook.

Als Weiterleitung nutzt die simple Javascriptfunktion:

Code: Alles auswählen
<meta http-equiv='Refresh' content='1; url=internerbereich.php'>

Benutzeravatar

» phpman » Beiträge: 1086 » Talkpoints: 49,35 » Auszeichnung für 1000 Beiträge


Es gibt verschiedenen Arten für Passwortschutz. Der allgemein bekannteste Weg führt über die Anmeldung des Users, er registriert sich mit einem Usernamen und Passwort und bekommt dann Zugang zu bestimmten Bereichen.

Wenn ich dich richtig verstanden habe möchtest du aber gar nicht direkt User anlegen sondern viel mehr ein Passwort anlegen das dann auf eine (für jeden Nutzer gleiche) Seite weiterleitet, richtig? Dafür gibt es mehrere Möglichkeiten, sie sind auch unterschiedlich sicher. Relativ einfach lässt sich das per Javascript realisieren, gute und weiterführende Hilfe dazu gibt's bei selfhtml ("der dritte Weg" in der Verlinkung). Beispielscripts werden dir auch gleich gezeigt.

Wenn die Seite auf die du weiterleiten möchtest nicht "wirklich" sensibel ist und hochsicher sein soll, ist die erste beschriebene Methode geeignet. Sie ist zwar nicht soo sicher, aber für Anfänger ganz leicht zu realisieren (spreche da aus Erfahrung :D ).

Für die Registrierung wäre das einfachste, den User ein vorgefertiges Formular ausfüllen zu lassen, dass an dich übermittelt wird, und manuell das statische Passwort an diese Person zu schicken. Das ist nicht unbedingt der bequemste Weg, dafür aber eben auch sehr einfach zu machen. Ein Formular geht einigermaßen einfach und nachher musst du nur noch der eingegebenen Mailadresse antworten. Das ist gleichzeitig ein Schutz für dich, damit keine nicht-existierenden Emailadressen im Formular etwas bringen und sich so jemand Zugang verschafft ohne dass er sich mit funktionierenden Daten registriert hat.

Benutzeravatar

» Taline » Beiträge: 3594 » Talkpoints: 0,75 » Auszeichnung für 3000 Beiträge



Danke schonmal!
@ Taline: Ich finde den Link nicht wirklich. Wenn ich auf den dritten Link klicke, kommt eine Seite, auf der Links zu externen Websites stehen.

Ich habe meine Homepage bei Funpic. Kann ich dort denn alle genannten Programmiersprachen verwenden oder muss ich da noch etwas beachten? Wo kommt genau der Code hin?

MFG Euer Extremefall

Benutzeravatar

» Big-D. » Beiträge: 1234 » Talkpoints: -10,32 » Auszeichnung für 1000 Beiträge



Big-D. hat geschrieben:@ Taline: Ich finde den Link nicht wirklich. Wenn ich auf den dritten Link klicke, kommt eine Seite, auf der Links zu externen Websites stehen.

"Der dritte Weg..." ist der Beginn des Absatzes der das behandelt was ich meine. Nicht der dritte Link der klickbar ist, sonst hätte ich dessen Ziel ja gleich verlinkt :D

Javascript wird im Headerbereich, also zwischen <head> und </head> eingebunden, für gewöhnlich nach Titel und Meta-Angaben.

Big-D. hat geschrieben:MFG Euer Extremefall
:shock:

Benutzeravatar

» Taline » Beiträge: 3594 » Talkpoints: 0,75 » Auszeichnung für 3000 Beiträge


Hi,

also bei funpic kannst du diese ganzen Funktionen wie PHP, HTML, CSS und auch MySQL verwenden. Diese benötigst du allerdings nicht unbedingt alle. Für dein Vorhaben reicht HTML und PHP aus. CSS wird für das Design benutzt. Ich gehe davon aus, dass du dieses bereits hast.

Nun, zuerst musst du ein Formular mit HTML erstellen. Dieses Formular wird einfach ausgefüllt und in einer Datei gespeichert. Beispielsweise data.txt. In dieser Datei befindet sich also das Formular. Später kannst du diese Datei abrufen und einen Account einrichten. Allerdings wäre diese Methode recht umständlich.

Deshalb solltest du lieber diese Methode verwenden, die jetzt kommt. Also, du erstellst ein Formular mit HTML. Dort muss einfach nur der Name angegeben werden. Wenn das Formular ausgefüllt wird und auch abgeschickt wird, dann erscheint eine Seite, welche das Passwort anzeigt. Eingeloggt wird dann anschließend nur über das Passwort. Somit ist der Nickname egal. Wenn du möchtest kannst du den Nickname auch in einer Datei speichern, zum Beispiel data.txt. Dies ist aber nicht notwendig. Diese Methode ist viel leichter, das merkst du bestimmt. Allerdings kann dann jeder auf deine Passwort geschützte Seite zugreifen. Registrieren tut sich diese Person ja nicht, sondern sie fragt nur das Passwort an, welches sich nachher zu erkennen gibt.

Nachher solltest du noch eine PHP Datei anlegen. Dort wird man hingeleitet, wenn man sich eingeloggt hat. Das ist dann die interne Zone. Diese kann man nur über ein Login-Script betreten. Dafür braucht man allerdings das Passwort, welches man einfach so anfragen kann.

Diese Methoden wären sehr einfache Methoden. Für richtige geschützte Seiten, braucht man noch mehr Zeit und noch viel mehr Geduld. Oder man nimmt einfach einen fertigen Script. Diesen musst du googlen. Für die genannten Methoden solltest du dir auf www.php-einfach.de die PHP Tutorials anschauen. Wenn du später alles kannst, dann wirst du auch besser geschützte Seiten erstellen können.

MfG. h4wX

Benutzeravatar

» h4wX » Beiträge: 1875 » Talkpoints: 1,24 » Auszeichnung für 1000 Beiträge


Tachchen!
Ich habe nach einer Anleitung, die ich im Web gefunden habe, eine Datenbank für das Login Formular erstellt. Unzwar mit PHPMyAdmin auf meinem Funpic Server. Nun bekomme ich das mit dem Login Formular noch nicht so richtig hin. Jetzt habe ich also eine MySQL Datenbank, in der ich noch User manuell hinzufügen kann.

Könntet ihr mir sagen, welche PHP Seiten ich brauche und welchen Quellcode dafür?

Euer Big-D.

Benutzeravatar

» Big-D. » Beiträge: 1234 » Talkpoints: -10,32 » Auszeichnung für 1000 Beiträge



Hi,

wie schon geschrieben findest du auf folgender Seite eigentlich alles was du benötigst inklusive MySQL-Abfragen:
Openbook PHP4 + MySQL

Benutzeravatar

» phpman » Beiträge: 1086 » Talkpoints: 49,35 » Auszeichnung für 1000 Beiträge


Leider war mir dein Link nicht hilfreich. Dafür habe ich im Internet aber eine andere Seite gefunden mit genauer Schritt für Schritt Anleitung. Nun habe ich auch den Quellcode, den ich noch ein bisschen anpassen muss.

Das tritt auch schon das nächste Problem auf: Ich erhalte die Fehlermeldung Select ist fehlgeschlagen. Im Quelltext taucht eine Funktion auf, die das hervorruft, wenn etwas nicht erfüllt wird. Nun habe ich leider keine Ahnung, was ich machen soll. Hier könnt ihr euch mein Script anschauen.

Der Code der Index.php:

<?php
session_start();

######################################################################
## ##
## LogIn-Skript mit PHP und MySQL von Andreas Zimare ##
## E-Mail: andy@mg-umschulung.de ##
## Homepage 1: http://www.mg-umschulung.de ##
## Homepage 2: http://www.simone-und-andy.de ##
## ##
## Bei Fragen bitte eine E-Mail an die oben genannte ##
## E-Mailadresse senden ##
## ##
######################################################################

require("connect.inc.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>LogIn zum Adminbereich</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<b>Bitte erst anmelden</b>
</td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Benutzername</td>
<td width="230" bgcolor="#ffffff"><input type="text" name="username" size="20" class="input"<?php if($_POST['username'] != "") {echo ' value="'.$_POST['username'].'"';} ?>></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Passwort</td>
<td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
</tr>
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<input type="submit" name="submit" value="Anmelden" class="button">
</td>
</tr>
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
Copyright &copy; 2003 by <a href="mailto:andy@mg-umschulung.de?subject=Dein LogIn-Skript">Andreas Zimare</a><br>
<a href="http://www.mg-umschulung.de" target="_blank">www.mg-umschulung.de</a> - Alle Rechte vorbehalten
</td>
</tr>
</table>
</form>
<?php
}elseif(!isset($_POST['username']) || $_POST['username'] == "") {
echo '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="index.php">Zur&uuml;ck</a></p>';
}elseif(!$_POST['password'] || $_POST['password'] == "") {
echo '<form action="index.php" method="post">';
echo '<p align="center">Ein Passwort brauchen wir schon ;-)<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zur&uuml;ck">';
echo '</p>';
echo '</form>';
}else{
$password = md5($password);
$query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['userName']."'") or die('Select ist fehlgeschlagen!');
$result = @mysql_fetch_array($query) or die('<p align="center">Sorry, aber dieser Benutzername existiert nicht!<br><a href="index.php">Zur&uuml;ck</a></p>');
if($password != $result['pass']){
echo '<form action="index.php" method="post">';
echo '<p align="center">Sorry, aber dieses Passwort ist falsch!<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zur&uuml;ck"></p>';
echo '</form>';
die;
}else{
$user = $result['user'];
session_register('user');
echo '<p align="center">LogIn erfolgreich!!!!!!<br><br><a href="sichere_seite.php">Weiter</a></p>';
?>
<script language="JavaScript">
window.setTimeout('window.location.href="sichere_seite.php"','3000')
</script>
<?php
}
}
?>
</body>
</html>

Ich vermute den Fehler in diesem Teil: $query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['userName']."'") or die('Select ist fehlgeschlagen!');

Meine Daten für Funpic, wenn ihr sie noch braucht:
Userdaten MySQL Funpic:
Hostname: localhost
Datenbankname: itouch4u
Username: itouch4u

Euer Big-D.

Benutzeravatar

» Big-D. » Beiträge: 1234 » Talkpoints: -10,32 » Auszeichnung für 1000 Beiträge


Hi,

ändere mal bitte den Quellcode und ersetzte folgendes:

Code: Alles auswählen
or die('Select ist fehlgeschlagen!');

durch
Code: Alles auswählen
 or die(mysql_error());

und sag Bescheid, wenn du es geändert hast, ich schau mir die Fehlermeldung dann mal an.

Also der Fehler Unknown column 'user' in 'field list' bedeutet, dass in der Tabelle die Spalte user nicht existiert. Schau mal ob du user richtig geschrieben hast. Beachte vor Allem: Groß-und Kleinschreibung ist ein großer Unterschied.

Benutzeravatar

» phpman » Beiträge: 1086 » Talkpoints: 49,35 » Auszeichnung für 1000 Beiträge


Ähnliche Themen

Weitere interessante Themen

^