Ich bin jetzt schons eit einiger zeit hier im Forum angemeldet, aber, wie ihr seht, habe ich noch nicht viel beigetragen.
Das möchte ich nun ändern.
Zum Anfang möchte ich euch nun ein kleines, aber ausführliches PHP-Grundtutorial anbieten mit dem Beispiel einer Rangliste für euren Server.
Vorraussetzungen:
- einen Webserver, der PHP unterstützt. [Ein mit XAMPP installiertes Apache sollte reichen)
- Einen MT2- PServer (Da wir ja eine Rangliste erstellen wollen)
- Interesse am Thema & Freude am Lernen
Erst einmal eine kleine beschreibung von PHP, damit die, die nicht wissen, was PHP ist, es verstehen können:
So, das sollte nun klar sein.
Wie ist PHP aufgebaut?
Jedes PHP-Script hat einen vorbestimmten Aufbau:
PHP Code:
<?php
?>
PHP Code:
<?php
PHP Code:
?>
Alles davor oder danach wird als normaler HTML-Text übernommen. Auf HTML möchte ich aber eigendlich nicht genau eingehen.
Eine der wichtigsten Regeln ist es, dass an fast jedem zeilende, also nach jedem beendetem Befehl, ein Semicolon, also ";", gesetzt werden muss. Ansonsten erhaltet ihr eine Fehlermeldung
Info´s zu If-Abfragen:
Noch eine kleine Info zu Kommentaren:
Unser erster Script
Wenn man eine neue Programmier- bzw. Scriptsprache erlernt, sollte man als erstes einen Script erstellen, der den text "Hello World" ausgibt.
Texte und HTML-Codes geben wir in PHP mit dem Befehl echo aus.
hier einmal der hello World-Script:
PHP Code:
<?php
echo "Hello World";
?>
Der Datenbankzugriff
Um eine Rangliste zu erstellen, müssen wir natürlich auch auf die Datenbank des Spiels zugreifen.
Dies erfolgt über den Befehl
PHP Code:
mysql_connect();
PHP Code:
<?php
$db_host = '192.168.0.100'; // Host des MySQL-Servers festlegen
$db_user = 'root'; // Loginname festlgen
$db_pass = '123456'; // Passwort für den Loginnamen
$link = mysql_connect($db_host, $db_user, $db_pass); // Verbinden
if (!$link) { //Wenn keine Verbindung: Fehlermeldung ausgeben.
die('Could not connect: ' . mysql_error());
}
?>
PHP Code:
mysql_select_db("player") or die ("Datenbank konnte nicht ausgewählt werden");
Aber wir gehen davon aus, dass alles geklappt hat. Jetzt sind wir in der Datenbank.
Ich empfehle es, den oberen Block in eine extra *.php-datei einzubinden und in die Hauptdatei mit "include("datei.php");" einzubinden.
"include();" Befehle sollten imemr am Anfang des *.php-Dokuments stehen.
Doch wie beziehen wir die Dateien aus den einzelnen Tabellen?
Daten Lesen & Schreiben
Da wir nun mit der Datenbank verbunden sind, wollen wir auch unsere Dateien lesen.
Das machen wir wie folgt:
PHP Code:
<?php
$section = "SELECT
*
FROM
player"
# Dies geht natürlich auch in einer Zeile:
$section = "SELECT * FROM player";
# Den Variablenname $section könnt ihr beliebig ändern
########## Erklärung ##########
# SELECT zeigt PHP, dass wir etwas auswählen wollen.
# Der Stern "*" sagt PHP, dass wir Alle Reihen der Tabelle auslesen wollen.
# Ihn kann man auch durch Reihennamen, mit Kommas getrennt, ersetzen,
# dann werden nur diese Reihen ausgelesen.
# FROM sagt PHP, aus welcher tabelle wir die Daten haben möchten
# nach FROM folgt der Tabellenname. Hier player :)
?>
Folgender Code macht es möglich: [Ich bediene mich einer Tabelle]
PHP Code:
<html>
<body>
<table width="100">
<tr> //Hier erstelle ich die Erste Zeile der Tabelle
<td>Platz</td><td>Name</td><td>Exp</td><td>Level</td>
</tr>
<?php //nun setzen wir die Schleife mitten in die HTML-Tabelle ein
$section = "SELECT * FROM player ORDER BY exp DESC";
# Das "ORDER BY" sagt PHP, es soll die Daten der Tabelle nach EXP sortieren.
# natürlich könnt ihr auch nach Level sortieren lassen, wie es euch gefällt
$i = "0" ; // i nutzen wir zum Zählend es Rangs
$query = mysql_query($section); //einen query erstellen
while($fetch = mysql_fetch_object($query)) // mit while eine Schleife starten
{ // Schleife öffnen
# Alles innerhalb dieser Schleife wird sooft wiederholt, bis alle zeilen der tabelle durchgegangen wurden.
$i = $i + 1 ;
echo "<tr>
<td>$i</td>
<td>$fetch->name</td>
<td>$fetch->level</td>
<td>$fetch->exp</td>
</tr>
";
# mit $fetch->VAR lesen wir den jeweiligen Zeilenwert der Reihe VAR aus.
} // Schleife Schließen
?>
</table>
</bod>
</html>
Im Anhang die funktionierende Rangliste
Ich hoffe ich konnte ein paar Leuten weiterhelfen
Solltet ihr Fehler finden (was ihr sicher tun werdet), oder Verbesserungsvorschläge habt, bitte Posten :]
Ich bin jeden Tag hier Online also werde ich dieses Tutorial auch weiter ausbauen.
Und nehmt mich bitte nicht zu hart ran, ist mein Erstes Guide
Ich habe bereits die SuFu genutzt und kein anderes PHP-Tut im Forum gefunden, kann aber auch sein, dass ich nicht gründlich genug gesucht habe.
* EDIT1 *
VirusTotal-Scan
* EDIT 1 ENDE *







