Lieber Besucher, herzlich willkommen bei: WebmasterWork. Falls dies dein erster Besuch auf dieser Seite ist, lese dir bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.
[PHP] Forum Tutorial Teil 1 (Registrieren)
Oft wollen PHP-Newbies, sowie andere, ein eigenes Forum für die eigene Website schreiben. Dazu habe ich ein kleines Tutorial verfasst:
Schritt 1: Vorüberlegungen
Auf was soll das Gästebuch basieren?
Es gibt zwei Möglichkeiten:
In diesem Fall habe ich mich für eine MySQL-Datenbank entschieden, da man damit die eingetragenen Daten einfacher zu verwalten sind.
Wieviele Dateien brauche ich?
Ich habe mich für vier Dateien entschieden:
Die Tabellenstruktur
Die nächste, größere Frage ist die Struktur der Tabelle.
Da alle Daten Texte sind, benutzen wir auch als Feldtyp den Typen Text. Dann fügen wir noch eine eindeutige ID hinzu, damit wir jeden einzelnen Eintrag identifizieren können. Dies kann zB für ein späteres Adminpanel von Nutzen sein. Also ergibt sich folgendes Query:
Das muss nur noch in phpmyadmin eingefügt und ausgeführt werden und schon ist die Tabelle fertig. Natürlich muss vorher noch eine Datenbank erstellt werden.
Schritt 2.1: config.inc.php
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Verbindung zum Datenbankserver aufbauen. Dies geschieht in der config.inc.php. Folgende Zeilen fügen wir dort ein:
Schritt 2.2: function.inc.php
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template-System aufbauen. Dies geschieht in der function.inc.php. Folgende Zeilen fügen wir dort ein:
Schritt 2.3: templates/action_ride.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der action_ride.htm. Folgende Zeilen fügen wir dort ein:
Schritt 2.3: templates/action_error.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der action_error.htm. Folgende Zeilen fügen wir dort ein:
Schritt 2.4: templates/register.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der templates/register.htm. Folgende Zeilen fügen wir dort ein:
Schritt 2.5: templates/error1.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der templates/error1.htm. Folgende Zeilen fügen wir dort ein:
Schritt 2.6: templates/error2.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der templates/error2.htm. Folgende Zeilen fügen wir dort ein:
Schritt 2.7: templates/note1.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der templates/note1.htm. Folgende Zeilen fügen wir dort ein:
- Schritt 1: Vorüberlegungen
- Schritt 2: Das Formular
- Schritt 3: Daten überprüfen und eintragen
Schritt 1: Vorüberlegungen
Auf was soll das Gästebuch basieren?
Es gibt zwei Möglichkeiten:
- Datenbank
- Textdatei
In diesem Fall habe ich mich für eine MySQL-Datenbank entschieden, da man damit die eingetragenen Daten einfacher zu verwalten sind.
Wieviele Dateien brauche ich?
Ich habe mich für vier Dateien entschieden:
- config.inc.php MySQL- Datenbank Date
- function.inc.php Funktionen
- templates/action_ride.htm Weiterleitung, wenn Registrierung erfolgreich war
- templates/action_error.htm Hier werden die Fehler angezeigt
- templates/error1.htm Bitte alle Felder ausfüllen
- templates/error2.htm Benutzername schon vorhanden
- templates/note1.htm Weiterleitung, wenn Registrierung erfolgreich war
- templates/register.htm Template Formular
- register.php Formular anzeigen
- action.php Hier wird die Registrierung überprüft und eingetragen
Die Tabellenstruktur
Die nächste, größere Frage ist die Struktur der Tabelle.
Da alle Daten Texte sind, benutzen wir auch als Feldtyp den Typen Text. Dann fügen wir noch eine eindeutige ID hinzu, damit wir jeden einzelnen Eintrag identifizieren können. Dies kann zB für ein späteres Adminpanel von Nutzen sein. Also ergibt sich folgendes Query:
|
|
MySQL-Abfrage(n) |
1 2 3 4 5 6 |
CREATE TABLE user ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `username` TEXT NOT NULL , `password` TEXT NOT NULL , `email` TEXT NOT NULL ) ENGINE = MYISAM ; |
Das muss nur noch in phpmyadmin eingefügt und ausgeführt werden und schon ist die Tabelle fertig. Natürlich muss vorher noch eine Datenbank erstellt werden.
Schritt 2.1: config.inc.php
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Verbindung zum Datenbankserver aufbauen. Dies geschieht in der config.inc.php. Folgende Zeilen fügen wir dort ein:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?
// Hostname oder IP des MySQL-Servers
$sqlhost = "localhost";
// Username und Passwort zum einloggen in den Datenbankserver
$sqluser = "";
$sqlpassword = "";
// Name der Datenbank
$sqldb = "";
// Hiermit wird eine Verbindung zur Datenbank hergestellt
mysql_connect($sqlhost, $sqluser, $sqlpassword) or die("Konnte keine Verbinung aufbauen: ".mysql_error()); // Fehler ausgeben
// Hiermit wird die Datenbank ausgewählt
mysql_select_db($sqldb) or die("Fehler beim Datenbankauswählen: ".mysql_error());
?>
|
Schritt 2.2: function.inc.php
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template-System aufbauen. Dies geschieht in der function.inc.php. Folgende Zeilen fügen wir dort ein:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 |
function gettemplate($template,$endung="htm") {
$templatefolder = "templates";
return str_replace("\"","\\\"",implode("",file($templatefolder."/".$template.".".$endung)));
}
function dooutput($template) {
echo $template;
}
|
Schritt 2.3: templates/action_ride.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der action_ride.htm. Folgende Zeilen fügen wir dort ein:
|
|
HTML |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<style type="text/css"> .mainpage { background-color: #ffffff; } .tableoutborder { background-color: #000000; } .smallfont { font-size: 11px; font-family: Tahoma,Helvetica; } .normalfont { font-size: 13px; font-family: Tahoma,Helvetica; } </style> <meta http-equiv="refresh" content="5;URL=$ride"> </head> <div style="position:absolute; bottom:50%; top:50%; left:0px; right:0px; width: 100%" align="center"> <table style="width: 80%" cellpadding="4" cellspacing="1" border="0" class="tableoutborder"> <tr class="mainpage" valign="middle" align="center"> $output </tr> </table> </div> |
Schritt 2.3: templates/action_error.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der action_error.htm. Folgende Zeilen fügen wir dort ein:
|
|
HTML |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<style type="text/css"> .mainpage { background-color: #ffffff; } .tableoutborder { background-color: #000000; } .smallfont { font-size: 11px; font-family: Tahoma,Helvetica; } .normalfont { font-size: 13px; font-family: Tahoma,Helvetica; } </style> <div style="position:absolute; bottom:50%; top:50%; left:0px; right:0px; width: 100%" align="center"> <table style="width: 80%" cellpadding="4" cellspacing="1" border="0" class="tableoutborder"> <tr class="mainpage" valign="middle" align="center"> $output </tr> </table> </div> |
Schritt 2.4: templates/register.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der templates/register.htm. Folgende Zeilen fügen wir dort ein:
|
|
HTML |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
<style type="text/css"> .tableinborder { background-color: #000000; } .tabletitle { color: #000000; background-color: #FF9933; background-image: url(images/cellpic.gif); } .smallfont { font-size: 11px; font-family: Tahoma,Helvetica; } .tableb { color: #000000; background-color: #CDCDCD; } .tableb_fc { color: #000000; } .tableb a:link, .tableb a:visited, .tableb a:active { color: #000000; text-decoration: underline; } .tableb a:hover { color: #000000; text-decoration: none; } .input { font-size: 12px; font-family: tahoma,helvetica; color: #000000; background-color: #cfcfcf; border:1px solid #000000; border-top-width : 1px; border-right-width : 1px; border-bottom-width : 1px; border-left-width : 1px; text-indent : 2px; } </style> <form method="post" action="action.php"> <table cellpadding="4" cellspacing="1" border="0" style="width:600" class="tableinborder"> <tr> <td class="tabletitle" align="left"><span class="smallfont"><b>Anmelden</b></span></td> </tr> <tr> <td class="tableb"><table cellpadding="0" cellspacing="5" align="center" class="tableb_fc"> <tr> <td><span class="smallfont">Benutzername:</span></td> <td><span class="smallfont"><input type="text" name="username" maxlength="50" size="20" class="input"> </span></td> </tr> <tr> <td><span class="smallfont">Passwort:</span></td> <td><span class="smallfont"><input type="password" name="password" maxlength="10" size="20" class="input"> </span></td> </tr> <tr> <td><span class="smallfont">E-Mail:</span></td> <td><span class="smallfont"><input type="text" name="email" maxlength="30" size="20" class="input"> </span></td> </tr> <tr> <td><input type="submit" value="Registrieren" class="input"></td> </tr> </td> </tr> </table> <input type="hidden" name="action" value="reg"> </form> |
Schritt 2.5: templates/error1.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der templates/error1.htm. Folgende Zeilen fügen wir dort ein:
|
|
HTML |
1 2 3 4 5 6 7 8 9 |
<td> <span class="normalfont"> <b><b>Bitte füllen sie alle Felder aus!</b> </span> <br> <span class="smallfont"> <a href="javascript:history.back();">Benutzen Sie den Zurück-Button Ihres Browsers oder klicken Sie hier!</a> </span> </td> |
Schritt 2.6: templates/error2.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der templates/error2.htm. Folgende Zeilen fügen wir dort ein:
|
|
HTML |
1 2 3 4 5 6 7 8 9 |
<td> <span class="normalfont"> <b><b>Der Benutzername ist leider schon vergeben!</b> </span> <br> <span class="smallfont"> <a href="javascript:history.back();">Benutzen Sie den Zurück-Button Ihres Browsers oder klicken Sie hier!</a> </span> </td> |
Schritt 2.7: templates/note1.htm
Bevor wir irgendwelche Daten überprüfen und eintragen können, müssen wir erstmal eine Template aufbauen. Dies geschieht in der templates/note1.htm. Folgende Zeilen fügen wir dort ein:
|
|
HTML |
1 2 3 4 5 6 7 8 9 |
<td> <span class="normalfont"> <b><b>$_REQUEST[username], vielen Dank für Ihre Anmeldung.</b> </span> <br> <span class="smallfont"> <a href="index.php">Falls die automatische Weiterleitung nicht funktioniert, klicken Sie bitte hier!</a> </span> </td> |
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »JayT« (3. Juni 2010, 23:03)
Schritt 3.1: register.php
Nun kommen wir dort hin, dass das Template anzeigt wird, wo man seine Daten eintragen kann.
Folgende Zeilen fügen wir dort ein:
Schritt 3.2: action.php
Nun kommen wir dort hin, wo die Daten überprüft werden und eingetragen werden in der Datenbank.
Folgende Zeilen fügen wir dort ein:
Beim zweiten Teil geht es weiter mit dem Login und Logout!
Nun kommen wir dort hin, dass das Template anzeigt wird, wo man seine Daten eintragen kann.
Folgende Zeilen fügen wir dort ein:
|
|
PHP-Quelltext |
1 2 3 4 5 6 |
<?
require("function.inc.php");
require("config.inc.php");
eval("dooutput(\"".gettemplate("register")."\");");
?>
|
Schritt 3.2: action.php
Nun kommen wir dort hin, wo die Daten überprüft werden und eingetragen werden in der Datenbank.
Folgende Zeilen fügen wir dort ein:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?
// Hiermit fügen wir die Dateien ein, damit eine Verbindung zur Datenbank hergestellt wird und das das Template angezeigt wird
require("config.inc.php");
require("function.inc.php");
if($_REQUEST[action] == "reg") {
// Hiermit überprüfen wir ob die Felder alle ausgefüllt sind
if(empty($_REQUEST[username]) or empty($_REQUEST[password]) or empty($_REQUEST[email])) {
//Wenn nicht, dann wird angezeigt, dass die Felder vollständig ausgefüllt werden müssen
eval ("\$output = \"".gettemplate("error1")."\";");
}else{
// Ansonsten ...
// Jetzt wird überprüft ob der Benutzername schon vorhanden ist
$user_query = mysql_query("SELECT * FROM user WHERE username='$_REQUEST[username]'");
if(mysql_fetch_object($user_query)) {
// Wenn ja, wird angezeigt das er schon vorhanden ist
eval ("\$output = \"".gettemplate("error2")."\";");
}else{
// Wenn nicht, wird der Benutzer in der Datenbank eingetragen
mysql_query("INSERT INTO user (username, password, email) VALUES ('$_REQUEST[username]', '$_REQUEST[password]', '$_REQUEST[email]')");
$ride = "index.php";
eval ("\$output = \"".gettemplate("note1")."\";");
}
}
}
if($ride) eval("dooutput(\"".gettemplate("action_ride")."\");");
else eval("dooutput(\"".gettemplate("action_error")."\");");
?>
|
Beim zweiten Teil geht es weiter mit dem Login und Logout!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »JayT« (4. Juni 2010, 22:36)
Ähnliche Themen
-
Feedback-Forum »-
Tutorial Database 2.0 Beta 1
(6. August 2009, 14:17)
-
Kleinanzeigen »-
[suche] Tutorials für Tutorial Database
(18. August 2009, 10:59)
-
PHP »-
Forum Tutorial
(28. Oktober 2004, 19:40)
-
Support intern »-
[Frage] Forum registrieren?
(9. Februar 2003, 00:37)


