() translation by (you can also view the original English article)
Ein Tutorial für den Anfänger! Egal, wo Sie im Internet unterwegs sind, es gibt fast überall eine Heftklammer - die Benutzerregistrierung. Unabhängig davon, ob sich Ihre Benutzer für die Sicherheit oder nur für eine zusätzliche Funktion registrieren müssen, gibt es keinen Grund, das mit diesem einfachen Tutorial nicht zu tun. In diesem Tutorial werden die Grundlagen der Benutzerverwaltung erläutert. Am Ende steht ein einfacher Mitglied-Bereich, den Sie auf Ihrer eigenen Website implementieren können.
Einführung
In diesem Tutorial werden wir jeden Schritt der Erstellung eines Benutzerverwaltungssystems zusammen mit einem privaten Nachrichtenübermittlung-System zwischen Benutzern durchlaufen. Wir machen das mit PHP und einer MySQL-Datenbank zum Speichern aller Benutzerinformationen. Dieses Tutorial richtet sich an absolute Anfänger von PHP, so dass keinerlei Vorkenntnisse erforderlich sind. In der Tat können Sie sich als erfahrener PHP-Benutzer ein wenig langweilen!
Dieses Tutorial ist als grundlegende Einführung in Sitzungen und zur Verwendung von Datenbanken in PHP gedacht. Obwohl das Endergebnis dieses Tutorials Ihnen möglicherweise nicht sofort nützlich erscheint, können Sie mit den durch dieses Tutorial erworbenen Fähigkeiten ein eigenes Mitgliedschaftssystem erstellen; nach Ihren eigenen Bedürfnissen.
Bevor Sie mit diesem Tutorial beginnen, stellen Sie sicher, dass Sie die folgenden Informationen zur Hand haben:
- Datenbank-Hostname - Das ist der Server, auf dem Ihre Datenbank gehostet wird. In den meisten Fällen handelt es sich dabei lediglich um "localhost".
- Datenbankname, Datenbankbenutzername, Datenbankkennwort - Bevor Sie dieses Tutorial starten, sollten Sie eine MySQL-Datenbank erstellen, wenn Sie die Möglichkeit haben, oder die Informationen zum Herstellen einer Verbindung zu einer vorhandenen Datenbank zur Verfügung haben. Diese Informationen werden während des gesamten Tutorials benötigt.
Wenn Sie nicht über diese Informationen verfügen, sollte Ihr Hostinganbieter Ihnen diese Informationen zur Verfügung stellen können.
Nachdem wir nun die Formalitäten erledigt haben, beginnen wir mit dem Tutorial!
Schritt 1 - Erstkonfiguration
Einrichten der Datenbank
Wie in der Einführung beschrieben, benötigen Sie eine Datenbank, um über diesen Punkt im Tutorial hinaus fortzufahren. Zunächst erstellen wir in dieser Datenbank eine Tabelle, um unsere Benutzerinformationen zu speichern.
Die Tabelle, die wir benötigen, speichert unsere Benutzerinformationen. Für unsere Zwecke verwenden wir eine einfache Tabelle. Es ist jedoch einfach, weitere Informationen in zusätzlichen Spalten zu speichern, wenn Sie es benötigen. In unserem System benötigen wir die folgenden vier Spalten:
- UserID (Primärschlüssel)
- Nutzername
- Passwort
- Email-Addresse
In Datenbank ausgedrückt ist ein Primärschlüssel das Feld, das die Zeile eindeutig identifiziert. In diesem Fall ist die UserID
unser Primärschlüssel. Da wir möchten, dass sich jedes Mal, wenn sich ein Benutzer registriert, erhöht wird, verwenden wir die spezielle MySQL-Option - auto_increment
.
Die SQL-Abfrage zum Erstellen unserer Tabelle ist unten enthalten und wird normalerweise auf der Registerkarte 'SQL' von phpMyAdmin ausgeführt.
1 |
CREATE TABLE `users` ( |
2 |
`UserID` INT(25) NOT NULL AUTO_INCREMENT PRIMARY KEY , |
3 |
`Username` VARCHAR(65) NOT NULL , |
4 |
`Password` VARCHAR(32) NOT NULL , |
5 |
`EmailAddress` VARCHAR(255) NOT NULL |
6 |
);
|



Erstellen einer Basisdatei
Um die Erstellung unseres Projekts zu vereinfachen, erstellen wir eine Basisdatei, die wir in jede der von uns erstellten Dateien einfügen können. Diese Datei enthält die Informationen zur Datenbankverbindung sowie bestimmte Konfigurationsvariablen, die uns dabei unterstützen.
Erstellen Sie zunächst eine neue Datei: base.php
und geben Sie folgenden Code ein:
1 |
<?php
|
2 |
session_start(); |
3 |
|
4 |
$dbhost = "localhost"; // this will ususally be 'localhost', but can sometimes differ |
5 |
$dbname = "database"; // the name of the database that you are going to use for this project |
6 |
$dbuser = "username"; // the username that you created, or were given, to access your database |
7 |
$dbpass = "password"; // the password that you created, or were given, to access your database |
8 |
|
9 |
mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error()); |
10 |
mysql_select_db($dbname) or die("MySQL Error: " . mysql_error()); |
11 |
?>
|
Werfen wir einen Blick auf einige dieser Zeilen. Wir haben hier ein paar Funktionen verwendet, die wir bisher noch nicht erklärt haben. Lassen Sie uns sie kurz durchsehen und sie verstehen. Wenn Sie die Grundlagen von PHP bereits verstehen, können Sie diese Erklärung überspringen.
1 |
session_start(); |
Diese Funktion startet eine Sitzung für den neuen Benutzer. In diesem Lernprogramm werden später Informationen in dieser Sitzung gespeichert, damit bereits angemeldete Benutzer erkannt werden können. Wenn bereits eine Sitzung erstellt wurde, erkennt diese Funktion dies und trägt sie diese Sitzung auf die nächste Seite.
1 |
mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error()); |
2 |
mysql_select_db($dbname) or die("MySQL Error: " . mysql_error()); |
Jede dieser Funktionen führt eine separate, aber verknüpfte Aufgabe aus. Die Funktion mysql_connect
verbindet unser Skript anhand der oben angegebenen Informationen mit dem Datenbankserver. Die Funktion mysql_select_db
wählt dann aus, welche Datenbank mit dem Skript verwendet werden soll. Wenn eine der Funktionen nicht abgeschlossen wird, wird die die
-Funktion automatisch eingefügt und die Verarbeitung des Skripts gestoppt. Dabei wird allen Benutzern die Meldung angezeigt, dass ein MySQL-Fehler aufgetreten ist.
Schritt 2 - Zurück zum Vorderen Ende
Was müssen wir zuerst tun?
Das wichtigste Element auf unserer Seite ist die erste Zeile von PHP. Diese Zeile enthält die oben erstellte Datei (base.php) und ermöglicht es uns im Wesentlichen, auf alles aus dieser Datei in unserer aktuellen Datei zuzugreifen. Wir machen das mit der folgenden Zeile PHP-Code. Erstellen Sie eine Datei mit dem Namen index.php
und platzieren Sie diesen Code oben.
1 |
<?php include "base.php"; ?> |
Beginnen Sie die HTML-Seite
Das erste, was wir für unser Vorderes Ende tun werden, ist das Erstellen einer Seite, auf der Benutzer ihre Daten eingeben können, um sich anzumelden, oder wenn sie bereits auf einer Seite angemeldet sind, auf der sie auswählen können, was sie tun möchten. In diesem Tutorial gehe ich davon aus, dass die Benutzer über grundlegende Kenntnisse der Funktionsweise von HTML/CSS verfügen und diesen Code daher nicht im Detail erläutern werden. Im Moment werden diese Elemente nicht formatiert sein, aber wir können dies später ändern, wenn wir unser CSS-Stylesheet erstellen.
Geben Sie mithilfe der gerade erstellten Datei (index.php
) den folgenden HTML-Code unterhalb der bereits erstellten PHP-Zeile ein.
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2 |
<html xmlns="http://www.w3.org/1999/xhtml"> |
3 |
<head>
|
4 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
5 |
<title>User Management System (Tom Cameron for NetTuts)</title> |
6 |
<link rel="stylesheet" href="style.css" type="text/css" /> |
7 |
</head>
|
8 |
<body>
|
9 |
<div id="main"> |
Was sollen wir ihnen zeigen?
Bevor wir den Rest der Seite ausgeben, müssen wir uns einige Fragen stellen:
- Ist der Benutzer bereits angemeldet?
- Ja, wir müssen ihnen eine Seite mit Optionen zur Auswahl zeigen.
- Nein, wir machen weiter mit der nächsten Frage.
- Ja, wir müssen ihre Angaben überprüfen und wenn das korrekt ist, werden wir sie auf der Website anmelden.
- Nein, wir machen weiter mit der nächsten Frage.
Diese Fragen sind in der Tat die gleichen Fragen, die wir in unseren PHP-Code implementieren werden. Wir werden dies in Form von if statements
tun. Werfen Sie nichts in Ihre neuen Dateien ein, werfen wir einen Blick auf die Logik, die wir zuerst verwenden werden.
1 |
<?php
|
2 |
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username'])) |
3 |
{
|
4 |
// let the user access the main page
|
5 |
}
|
6 |
elseif(!empty($_POST['username']) && !empty($_POST['password'])) |
7 |
{
|
8 |
// let the user login
|
9 |
}
|
10 |
else
|
11 |
{
|
12 |
// display the login form
|
13 |
}
|
14 |
?>
|
Sieht verwirrend aus, nicht wahr? Lassen Sie uns es in kleinere Abschnitte unterteilen und einzeln durchgehen.
1 |
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username'])) |
2 |
{
|
3 |
// let the user access the main page
|
4 |
}
|
Wenn sich ein Benutzer auf unserer Website anmeldet, speichern wir seine Informationen in einer Sitzung. Anschließend können wir auf diese Informationen in einem speziellen globalen PHP-Array - $ _SESSION
- zugreifen. Wir verwenden die empty
Funktion, um zu überprüfen, ob die Variable leer ist, mit dem Operator !
vor. Deshalb sagen wir:
Wenn die Variable $ _SESSION['LoggedIn'] nicht leer ist und $_SESSION ['Username'] nicht leer ist, führen Sie diesen Code aus.
Die nächste Zeile funktioniert auf die gleiche Weise, diesmal jedoch mit dem globalen Array $ _POST
. Dieses Array enthält alle Daten, die aus dem Anmeldeformular gesendet wurden, das wir später in diesem Tutorial erstellen werden. Die letzte Zeile wird nur ausgeführt, wenn keine der vorherigen Anweisungen erfüllt ist. In diesem Fall wird dem Benutzer ein Anmeldeformular angezeigt.
Nun, da wir die Logik verstehen, lasst uns zwischen diesen Abschnitten etwas Inhalt bekommen. Geben Sie in Ihre index.php
-Datei Folgendes ein, was Sie bereits haben.
1 |
<?php
|
2 |
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username'])) |
3 |
{
|
4 |
?>
|
5 |
|
6 |
<h1>Member Area</h1> |
7 |
<pThanks for logging in! You are <code><?=$_SESSION['Username']?></code> and your email address is <code><?=$_SESSION['EmailAddress']?></code>.</p> |
8 |
|
9 |
<?php
|
10 |
}
|
11 |
elseif(!empty($_POST['username']) && !empty($_POST['password'])) |
12 |
{
|
13 |
$username = mysql_real_escape_string($_POST['username']); |
14 |
$password = md5(mysql_real_escape_string($_POST['password'])); |
15 |
|
16 |
$checklogin = mysql_query("SELECT * FROM users WHERE Username = '".$username."' AND Password = '".$password."'"); |
17 |
|
18 |
if(mysql_num_rows($checklogin) == 1) |
19 |
{
|
20 |
$row = mysql_fetch_array($checklogin); |
21 |
$email = $row['EmailAddress']; |
22 |
|
23 |
$_SESSION['Username'] = $username; |
24 |
$_SESSION['EmailAddress'] = $email; |
25 |
$_SESSION['LoggedIn'] = 1; |
26 |
|
27 |
echo "<h1>Success</h1>"; |
28 |
echo "<p>We are now redirecting you to the member area.</p>"; |
29 |
echo "<meta http-equiv='refresh' content='=2;index.php' />"; |
30 |
}
|
31 |
else
|
32 |
{
|
33 |
echo "<h1>Error</h1>"; |
34 |
echo "<p>Sorry, your account could not be found. Please <a href=\"index.php\">click here to try again</a>.</p>"; |
35 |
}
|
36 |
}
|
37 |
else
|
38 |
{
|
39 |
?>
|
40 |
|
41 |
<h1>Member Login</h1> |
42 |
|
43 |
<p>Thanks for visiting! Please either login below, or <a href="register.php">click here to register</a>.</p> |
44 |
|
45 |
<form method="post" action="index.php" name="loginform" id="loginform"> |
46 |
<fieldset>
|
47 |
<label for="username">Username:</label><input type="text" name="username" id="username" /><br /> |
48 |
<label for="password">Password:</label><input type="password" name="password" id="password" /><br /> |
49 |
<input type="submit" name="login" id="login" value="Login" /> |
50 |
</fieldset>
|
51 |
</form>
|
52 |
|
53 |
<?php
|
54 |
}
|
55 |
?>
|
56 |
|
57 |
</div>
|
58 |
</body>
|
59 |
</html>
|
Hoffentlich verwirren Sie die ersten und letzten Codeblöcke nicht zu sehr. Was wir jetzt wirklich brauchen, ist das, wofür Sie alle zu diesem Tutorial gekommen sind - den PHP-Code. Wir gehen jetzt zeilenweise durch den zweiten Abschnitt, und ich erkläre, wozu jeder Code hier gedacht ist.
1 |
$username = mysql_real_escape_string($_POST['username']); |
2 |
$password = md5(mysql_real_escape_string($_POST['password'])); |
Dafür gibt es zwei Funktionen, die erklärt werden müssen. Erstens, mysql_real_escape_string
- eine sehr nützliche Funktion zum Bereinigen der Datenbankeingabe. Das ist keine ausfallsichere Maßnahme, aber dadurch wird die Mehrheit der böswilligen Hacker draußen gehalten, indem unerwünschte Teile von dem entfernt werden, was sich in unserem Anmeldeformular befindet. Zweitens md5
. Es ist unmöglich, hier ins Detail zu gehen, aber diese Funktion verschlüsselt einfach alles, was an sie übergeben wird - in diesem Fall das Passwort des Benutzers -, um zu verhindern, dass neugierige Augen es lesen.
1 |
$checklogin = mysql_query("SELECT * FROM users WHERE Username = '".$username."' AND Password = '".$password."'"); |
2 |
|
3 |
if(mysql_num_rows($checklogin) == 1) |
4 |
{
|
5 |
$row = mysql_fetch_array($checklogin); |
6 |
$email = $row['EmailAddress']; |
7 |
|
8 |
$_SESSION['Username'] = $username; |
9 |
$_SESSION['EmailAddress'] = $email; |
10 |
$_SESSION['LoggedIn'] = 1; |
Hier haben wir den Kern unseres Login-Codes. Zunächst führen wir eine Abfrage in unserer Datenbank durch. In dieser Abfrage suchen wir nach allem, was sich auf ein Mitglied bezieht, dessen Benutzername und Kennwort mit den Werten unseres $username
und des $password
übereinstimmen, die der Benutzer angegeben hat. In der nächsten Zeile haben wir eine if-Anweisung, in der wir überprüfen, wie viele Ergebnisse wir erhalten haben. Wenn keine Ergebnisse vorliegen, wird dieser Abschnitt nicht verarbeitet. Wenn es jedoch ein Ergebnis gibt, wissen wir, dass der Benutzer existiert, und deshalb werden wir ihn anmelden.
In den nächsten beiden Zeilen wird die Email-Adresse des Benutzers abgerufen. Wir verfügen bereits über diese Informationen aus der bereits ausgeführten Abfrage, sodass wir leicht auf diese Informationen zugreifen können. Zuerst erhalten wir ein Array der Daten, die aus der Datenbank abgerufen wurden. In diesem Fall verwenden wir die PHP-Funktion mysql_fetch_array
. Ich habe dann den Wert des EmailAddress
-Feldes einer Variablen zugewiesen, die wir später verwenden können.
Jetzt legen wir die Sitzung fest. Wir speichern den Benutzernamen und die Email-Adresse des Benutzers in der Sitzung sowie einen besonderen Wert, damit wir wissen, dass er mit diesem Formular angemeldet ist. Nachdem dies alles gesagt und getan ist, werden sie unter Verwendung von META REFRESH im Code in den Mitgliederbereich umgeleitet.
Wie sieht unser Projekt derzeit für einen Benutzer aus?



Großartig! Es ist jetzt an der Zeit, fortzufahren, um sicherzustellen, dass die Benutzer tatsächlich auf Ihre Website zugreifen können.
Lassen Sie die Leute sich registrieren
Es ist schön und gut, ein Anmeldeformular auf Ihrer Website zu haben, aber jetzt müssen wir den Benutzern die Möglichkeit geben, es zu verwenden - wir müssen ein Anmeldeformular erstellen. Erstellen Sie eine Datei namens register.php
und fügen Sie den folgenden Code ein.
1 |
<?php include "base.php"; ?>
|
2 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3 |
<html xmlns="http://www.w3.org/1999/xhtml"> |
4 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
5 |
|
6 |
<title>User Management System (Tom Cameron for NetTuts)</title> |
7 |
<link rel="stylesheet" href="style.css" type="text/css" /> |
8 |
</head>
|
9 |
<body>
|
10 |
<div id="main"> |
11 |
<?php
|
12 |
if(!empty($_POST['username']) && !empty($_POST['password']))
|
13 |
{
|
14 |
$username = mysql_real_escape_string($_POST['username']);
|
15 |
$password = md5(mysql_real_escape_string($_POST['password']));
|
16 |
$email = mysql_real_escape_string($_POST['email']);
|
17 |
|
18 |
$checkusername = mysql_query("SELECT * FROM users WHERE Username = '".$username."'");
|
19 |
|
20 |
if(mysql_num_rows($checkusername) == 1)
|
21 |
{
|
22 |
echo "<h1>Error</h1>";
|
23 |
echo "<p>Sorry, that username is taken. Please go back and try again.</p>";
|
24 |
}
|
25 |
else
|
26 |
{
|
27 |
$registerquery = mysql_query("INSERT INTO users (Username, Password, EmailAddress) VALUES('".$username."', '".$password."', '".$email."')");
|
28 |
if($registerquery)
|
29 |
{
|
30 |
echo "<h1>Success</h1>";
|
31 |
echo "<p>Your account was successfully created. Please <a href=\"index.php\">click here to login</a>.</p>";
|
32 |
}
|
33 |
else
|
34 |
{
|
35 |
echo "<h1>Error</h1>";
|
36 |
echo "<p>Sorry, your registration failed. Please go back and try again.</p>";
|
37 |
}
|
38 |
}
|
39 |
}
|
40 |
else
|
41 |
{
|
42 |
?>
|
43 |
|
44 |
<h1>Register</h1> |
45 |
|
46 |
<p>Please enter your details below to register.</p> |
47 |
|
48 |
<form method="post" action="register.php" name="registerform" id="registerform"> |
49 |
<fieldset>
|
50 |
<label for="username">Username:</label><input type="text" name="username" id="username" /><br /> |
51 |
<label for="password">Password:</label><input type="password" name="password" id="password" /><br /> |
52 |
<label for="email">Email Address:</label><input type="text" name="email" id="email" /><br /> |
53 |
<input type="submit" name="register" id="register" value="Register" /> |
54 |
</fieldset>
|
55 |
</form>
|
56 |
|
57 |
<?php
|
58 |
}
|
59 |
?>
|
60 |
|
61 |
</div>
|
62 |
</body>
|
63 |
</html>
|
Es gibt also nicht viel neues PHP, das wir in diesem Abschnitt noch nicht gelernt haben. Schauen wir uns doch diese SQL-Abfrage kurz an und schauen wir uns an, was wir tun können.
1 |
$registerquery = mysql_query("INSERT INTO users (Username, Password, EmailAddress) VALUES('".$username."', '".$password."', '".$email."')"); |
Hier fügen wir den Benutzer unserer Datenbank hinzu. Anstatt Daten abzurufen, fügen wir sie ein. Wir geben also zuerst an, in welche Spalten wir Daten eingeben (vergessen Sie nicht, unsere UserID wird automatisch erhöht). Im Bereich VALUES()
sagen wir ihm, was in jede Spalte eingefügt werden soll. In diesem Fall unsere Variablen, die von der Benutzereingabe stammen. Also, versuchen wir es mal. Sobald Sie in Ihrem brandneuen Registrierungsformular ein Konto erstellt haben, werden Sie Folgendes für den Mitgliederbereich sehen.



Stellen Sie sicher, dass sie sich abmelden können
Wir sind fast am Ende dieses Abschnitts, aber wir brauchen noch etwas, bevor wir hier fertig sind - eine Möglichkeit für Benutzer, sich von ihren Konten abzumelden. Das ist sehr leicht (zum Glück für uns); Erstellen Sie ein neues Feld namens logout.php
und geben Sie Folgendes ein.
1 |
<?php include "base.php"; $_SESSION = array(); session_destroy(); ?> |
2 |
<meta http-equiv="refresh" content="0;index.php"> |
Dabei setzen wir zuerst unser globales $ _SESSION
-Array zurück und zerstören dann die Sitzung vollständig.
Und das ist das Ende dieses Abschnitts und das Ende des PHP-Codes. Lassen Sie uns nun zu unserem letzten Abschnitt übergehen.
Schritt 3 - Erhalten Sie das Styling
Ich werde in diesem Abschnitt nicht viel erklären. Wenn Sie HTML/CSS nicht verstehen, würde ich Ihnen sehr empfehlen, wenn Sie von den vielen hervorragenden Tutorials auf dieser Website profitieren, um Ihnen den Einstieg zu erleichtern. Erstellen Sie eine neue Datei mit dem Namen style.css
und geben Sie Folgendes ein; Das wird alle Seiten, die wir bisher erstellt haben, stylen.
1 |
* { |
2 |
margin: 0; |
3 |
padding: 0; |
4 |
}
|
5 |
body { |
6 |
font-family: Trebuchet MS; |
7 |
}
|
8 |
a { |
9 |
color: #000; |
10 |
}
|
11 |
a:hover, a:active, a:visited { |
12 |
text-decoration: none; |
13 |
}
|
14 |
#main { |
15 |
width: 780px; |
16 |
margin: 0 auto; |
17 |
margin-top: 50px; |
18 |
padding: 10px; |
19 |
border: 1px solid #CCC; |
20 |
background-color: #EEE; |
21 |
}
|
22 |
form fieldset { border: 0; } |
23 |
form fieldset p br { clear: left; } |
24 |
label { |
25 |
margin-top: 5px; |
26 |
display: block; |
27 |
width: 100px; |
28 |
padding: 0; |
29 |
float: left; |
30 |
}
|
31 |
input { |
32 |
font-family: Trebuchet MS; |
33 |
border: 1px solid #CCC; |
34 |
margin-bottom: 5px; |
35 |
background-color: #FFF; |
36 |
padding: 2px; |
37 |
}
|
38 |
input:hover { |
39 |
border: 1px solid #222; |
40 |
background-color: #EEE; |
41 |
}
|
Schauen wir uns nun ein paar Screenshots an, wie unser letztes Projekt aussehen sollte:



Das Anmeldeformular.



Der Mitgliederbereich



Das Anmeldeformular.
Und schlussendlich...
Und das war's! Sie haben jetzt einen Mitgliederbereich, den Sie auf Ihrer Website verwenden können. Ich kann eine Menge Leute sehen, die ihren Kopf schütteln und ihren Monitoren anschreien, dass das für sie keinen Nutzen hat - Sie haben recht. Ich hoffe jedoch, dass jeder PHP-Anfänger gelernt hat, wie man eine Datenbank verwendet und wie man mit Sessions Informationen speichert. Die wichtigsten Fähigkeiten zum Erstellen einer Webanwendung.
- Abonnieren Sie den NETTUTS-RSS-Feed für mehr tägliche Webentwicklungsberichte und -artikel.