Register for your free account! | Forgot your password?

You last visited: Today at 03:36

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Guide] Simples PHP Tutorial

Discussion on [Guide] Simples PHP Tutorial within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
Mijago's Avatar
 
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
[Guide] Simples PHP Tutorial

Hallo Community

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

?>
Hier seht ihr, dass ein PHP-Code innerhalb einer *.php-Datei mit dem Syntax
PHP Code:
<?php
gestartet und mit dem Syntax
PHP Code:
?> 
wieder geschlossen wird.
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 Text, den echo ausgeben soll, muss in Anführugnszeichen, also " ", stehen. Auch das Semicolon dürfen wir nicht vergessen.

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(); 
Ein kleines Beispiel mit Standard-Passwort & Port:
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());
}
?>
Wir sind nun zwar mit dem Server verbunden, doch wir müssen noch eine Datenbank auswählen. Das machen wir, indem wir folgende Zeile an den PHP-Code anhängen:
PHP Code:
mysql_select_db("player") or die ("Datenbank konnte nicht ausgewählt werden"); 
Wenn die Datenbank "player" nicht ausgewählt worden konnte, gibt erhält man eine Fehlermeldung.
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 :)
?>
Nun haben wir unsere Daten. Diese wollen wir aber nun auch ausgeben, dass man sie auf der Website sehen kann.
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 ;
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>
Fertig ist unsere Rangliste

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 *
Attached Files
File Type: zip rangliste.zip (893 Bytes, 26 views)
Mijago is offline  
Thanks
21 Users
Old 11/12/2010, 13:41   #2
 
elite*gold: 0
Join Date: Jun 2010
Posts: 866
Received Thanks: 834
Auch wenn ich mir das mittlerweile mühsam selber (google ist dein Freund) beigebracht habe, denke ich wird das hier vielen helfen

Bekommst nen THX für die Mühe

lg. jackdown
jackdown9 is offline  
Old 11/12/2010, 13:43   #3
 
3jfx's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 389
Received Thanks: 141
grob drüber geschaut: erster fehler: bei if immer == (im beispiel)
ansonsten nice
3jfx is offline  
Old 11/12/2010, 13:45   #4
 
elite*gold: 10
Join Date: Dec 2009
Posts: 1,781
Received Thanks: 274
Danke
fLaiRe is offline  
Old 11/12/2010, 13:45   #5
 
Mijago's Avatar
 
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
Danke gleich mal behoben
Mijago is offline  
Old 11/12/2010, 13:48   #6
 
elite*gold: 10
Join Date: Jul 2009
Posts: 1,786
Received Thanks: 1,090
Juhu, wie gut das heute Wochenende ist, gleich mal lernen ^^
Wird das Thema noch weiter geführt?

Edit: Kleiner Fehler, es heißt Tabelle, nicht Tabekke

Noch 2 kleine Fehler:
°IceCold° is offline  
Old 11/12/2010, 13:49   #7
 
Mijago's Avatar
 
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
Natürlich
Einige Sachen wie Schleifen, If-Abfragen und ein paar kleine Fitzelchen möchte ich noch weiter erläutern, aber gerade eben hat mir dann doch der Nerv dazu gefehlt
Und nebenbei, auch am Wochenende darf man lernen :b

Edit: ja, was wäre das Leben ohne Tippfehler? ++ bearbeitet
Mijago is offline  
Old 11/12/2010, 13:56   #8
 
elite*gold: 3
Join Date: Jan 2010
Posts: 1,714
Received Thanks: 854
Em sowas kommt in die Coder Sektion
Davon gibts eig auch 100000 Tutorials aber naja Danke, für die, die es brauchen,..
.Sh4rk is offline  
Thanks
1 User
Old 11/12/2010, 13:57   #9
 
elite*gold: 5
Join Date: Oct 2010
Posts: 1,692
Received Thanks: 1,772
Gutes tut aber unübersichtlich bischen udn springt einen nit an

edit: falsch gelesen
DasKuchen is offline  
Old 11/12/2010, 14:15   #10
 
Mijago's Avatar
 
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
Ich weiß das es unübersichtlich ist.. leider :/
magst du mir einen Tipp geben wie ich dies ändern kann?
Mijago is offline  
Old 11/12/2010, 14:19   #11
 
oOEvolutionXiOo's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 3,731
Received Thanks: 768
GUtes Tut was du verbessern mußt weißte jah
oOEvolutionXiOo is offline  
Old 11/12/2010, 15:04   #12
no support via discord




 
Gipha's Avatar
 
elite*gold: 1499
The Black Market: 195/0/0
Join Date: Sep 2009
Posts: 5,787
Received Thanks: 875
Nice *
Gipha is offline  
Old 01/29/2011, 11:48   #13
 
elite*gold: 0
Join Date: Jul 2010
Posts: 14
Received Thanks: 4
giet es ne möglichkeit die player auf der hp anzeigen zu lassen die grade spielen also nicht nur die anzahl sonder acc namen
blackdome002 is offline  
Old 01/29/2011, 12:13   #14
 
elite*gold: 143
Join Date: Aug 2009
Posts: 333
Received Thanks: 631
Also mal davon abgesehen, dass du in der falschen Sektion bist, muss ich
dir leider sagen, dass dein Tutorial nicht zu gebrauchen ist.

Du fängst schön mit dem Anfang an, Ausgaben tätigen etc. und dann
kommst du aufeinmal mit SQL an.
Wie wäre es wenn du noch genau auf if Strukturen eingehst oder
switch - case. Es gibt soviel dass du ausgelassen hast, darum ist dieses
Tutorial kein "Simples" PHP Tutorial.
Tookies is offline  
Old 01/29/2011, 12:31   #15
 
kimuraaa's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 1,533
Received Thanks: 810
Quote:
Originally Posted by blackdome002 View Post
giet es ne möglichkeit die player auf der hp anzeigen zu lassen die grade spielen also nicht nur die anzahl sonder acc namen
Ja, die gibt es.

Quote:
Originally Posted by Tookies View Post
Also mal davon abgesehen, dass du in der falschen Sektion bist, muss ich
dir leider sagen, dass dein Tutorial nicht zu gebrauchen ist.

Du fängst schön mit dem Anfang an, Ausgaben tätigen etc. und dann
kommst du aufeinmal mit SQL an.
Wie wäre es wenn du noch genau auf if Strukturen eingehst oder
switch - case. Es gibt soviel dass du ausgelassen hast, darum ist dieses
Tutorial kein "Simples" PHP Tutorial.
Und dein Post ist ebenso sinnlos.
Achte mal auf´s Datum.
kimuraaa is offline  
Reply

Tags
guide, mysql, php, rangliste, tutorial


Similar Threads Similar Threads
[VB.NET] Simples Gamehacking via Memoryediting
06/02/2015 - Coding Tutorials - 64 Replies
Vorwort: In diesem Tutorial wird erklärt, wie mit VB.Net auf den Arbeitsspeicher eines (Spiele-)Prozesses zugegriffen und dieser modifiziert werden kann. Dabei werde ich keinen kompletten Sourcecode zur Verfügung stellen, da ich möchte, dass hier was gelernt wird. Kopieren kann schon jeder, dafür muss ich mir für das Tutorial keine Mühe geben. Basics: Microsoft stellt elementare Systemfunktionen bereit, die es einem ermöglichen, auf den Arbeitsspeicher des (Spiele-)Prozesses zuzugreifen....
[Suche] Simples Tutorial zum Pointer auslesen.
09/13/2010 - Nostale - 7 Replies
Hallo =). Da ich einem Freund mal ein bisschen unter die arme Greifen will möchte ich für ihn die Pointer zusammenkramen, nur mein CE Tutorial ist verbuggt und meine Englischkentnisse nicht wirklich die eines 1er Schülers. ~ Daher würde ich gern wissen wie man für folgende Dinge die Pointer ausliest: HP. MP. Ob er sitzt. Ob ein Ziel ausgewählt/markiert ist.
Simples LvLn mit dem LeertastenBot
03/24/2010 - Nostale - 6 Replies
Leute Sry das Thread ist voll in die Hose gegangen pls close
simples, aber GENIALES flash-game!
10/29/2006 - Off Topic - 14 Replies
auf linerider.org findet ihr das spiel bei dem es darum geht eine strecke zu mahlen, die man dann mit der rodel fährt ;) um zu sehn was alles möglich ist hier ein video von einer sehr geilen strecke! ;) viel spaß beim rodeln ;D



All times are GMT +1. The time now is 03:36.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.