|
You last visited: Today at 13:01
Advertisement
[SQL + PHP]Bausteine für eure Homepage
Discussion on [SQL + PHP]Bausteine für eure Homepage within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
10/18/2010, 16:04
|
#31
|
elite*gold: 15
Join Date: Feb 2010
Posts: 4,412
Received Thanks: 3,105
|
Quote:
Originally Posted by .0x1338_#
Hallo Leute,
Ich mache hier mal ein paar kleine SQL abfragen für eure homepage *public*.
Ihr könnt sie ganz einfach in eure Homepage einbauen.
Mitwierkende :
Purusha
0x1338_#
Admin rechte ohne Reboot by SOD666
PHP Code:
<?php $IP = "EUERE IP HIER EINTRAGEN"; //Port = $_GET['port']; //$Port = ""; $Port = "EUEREN PORT HIER EINTRAGEN"; if($IP && $Port) { $socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); $result = socket_connect ($socket, $IP, $Port); $query = "\x40SHOWMETHEMONEY\x0A"; $query .= "\x40RELOAD a\x0A"; //$query .= $_GET['query']; $query_size = strlen($query); $write_res = socket_write($socket, $query, $query_size); $recv_res = socket_recv($socket, $output, 5056, 0); echo $output; socket_close($socket); } ?>
Vorraussetzungen:
-Apache22 auf dem Root
-Fähigkeit lesen+schreiben
-Einen Browser, Editor
Und wie mach ich das jetzt?:
1. Ihr öffnet den Spoiler, kopiert das ganze in eueren Editor
2. Ihr ergänzt euere IP/Port, dahin wo es hingehört
3. Ihr Speichert die Datei und ladet sie auf den Root
4. Ihr öffnet mit dem Browser den Pfard und drückt F5
5. Reloggen+Freuen
Kleine erklärung :
Config.php
PHP Code:
<?php $dbhost = "localhost"; //ServerDB Host $dbuser = "root"; //Datenbank Benutzer $dbpass = ""; //Passwort $mysql_db = "account"; ?>
Wählt die jeweilige Datenbank aus :
PHP Code:
mysql_select_db("player");
Das wars eigentlich wen ich später noch bisschen zeit haben werde ich noch paar andere sachen dazu adden.
|
Bei dem Passwort SHOWMETHEMONEY würde ich noch adden, das es mit SHOWMETHEMONEY nur klappt wenn sie das Passwort in der game Datei nicht geändert haben! & wenn es geändert wurde muss es natürlich angepasst werden!
|
|
|
10/18/2010, 16:07
|
#32
|
elite*gold: 100
Join Date: Sep 2009
Posts: 8,136
Received Thanks: 2,760
|
Quote:
Originally Posted by .Hazel
Bei dem Passwort SHOWMETHEMONEY würde ich noch adden, das es mit SHOWMETHEMONEY nur klappt wenn sie das Passwort in der game Datei nicht geändert haben! & wenn es geändert wurde muss es natürlich angepasst werden!
|
Ok danke für den Tipp.
Werde ich direkt dazu adden
|
|
|
10/18/2010, 16:18
|
#33
|
elite*gold: 15
Join Date: Feb 2010
Posts: 4,412
Received Thanks: 3,105
|
Ja ist besser so, weil wenn es wer geändert hat & sich den Source nicht wirklich angeguckt hat der bemerkt es vielleicht nicht & dann kommen gleich schon wieder 20 Leute & fragen warum das bei denen nicht geht.
|
|
|
10/18/2010, 19:27
|
#34
|
elite*gold: 100
Join Date: Sep 2009
Posts: 8,136
Received Thanks: 2,760
|
Falls ihr noch ein paar scripts dieser art habt , schreibt sie mir per PN ich werde sie dan in den Thread adden !
|
|
|
10/19/2010, 21:44
|
#35
|
elite*gold: 0
Join Date: Nov 2009
Posts: 55
Received Thanks: 2
|
Eine art Pranger wäre ganz cool , wo man sehen kan wer gebannt ist/wurde und warum er gebannt wurde.
Wen der Threadersteller den Thead weiter so updatet wäre ich für einen sticky
|
|
|
10/20/2010, 07:29
|
#36
|
elite*gold: 0
Join Date: Sep 2009
Posts: 132
Received Thanks: 19
|
Hallo,
Hab mal die Counter ein wenig überarbeitet, da die jetzigen pure Performance-Killer sind.
Charakter Counter :
PHP Code:
include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("player"); $chars = "SELECT COUNT(*) AS count from player"; $charsquery = mysql_query($chars); $charszahl = mysql_fetch_object($charsquery); echo 'Charaktere : '.$charanzahl->count;
Account Counter :
PHP Code:
include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("account"); $accs = "SELECT COUNT(*) AS count from account"; $accsquery = mysql_query($accs); $accszahl = mysql_fetch_object($accsquery); echo 'Accounts : '.$accszahl->count;
Item Counter :
PHP Code:
include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("player"); $items = "SELECT COUNT(*) AS count FROM item "; $itemsquery = mysql_query($items); $itemanzahl = mysql_fetch_object($itemsquery); echo 'Items : '.$itemanzah->count;
Gilden Counter :
PHP Code:
include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("player"); $guilds ="SELECT COUNT(*) AS count FROM guild"; $guildsquery = mysql_query($guilds); $guildanzahl = mysql_fetch_object($guildsquery); echo 'Gilden : '.$guildanzahl->count;
|
|
|
10/20/2010, 08:45
|
#37
|
elite*gold: 0
Join Date: Sep 2010
Posts: 41
Received Thanks: 54
|
Wen man als Betreiber einer Website die Codes die du gepostet hast so einbindet ist das wohl das Schlechteste was man machen kann.
Die Datenbankabfragen sind sowas von breitgefächert.
z.B.:
PHP Code:
1 include("config.php"); 2 mysql_connect($dbhost,$dbuser,$dbpass); 3 mysql_select_db("player"); 4 $items = "SELECT COUNT(*) AS count FROM item "; 5 $itemsquery = mysql_query($items); 6 $itemanzahl = mysql_fetch_object($itemsquery); 7 echo 'Items : '.$itemanzah->count;
Es geht hauptsächlich um die Zeile "4"!
Du lässt mit dieser Abfrage alles (*), was in der Tabelle player.item steht zählen! Dabei wäre es viel sinnvoller z.B. nur die Spalte "id" zu zählen! So geht die Abfrage schneller, da nicht alle Datensätze "ausgewertet" werden.
Außerdem schreibt man an das Ende einer MySQL-Abfrage ein ";" damit MySQL weiß, wann der Befehl zu Ende ist.
Idealer Weise würde die Zeile also wie folgt aussehen:
PHP Code:
$items = "SELECT `id`, COUNT(*) AS count FROM item;";
Da wie oben aufgeführt, das verwenden der Scripts hintereinander total schwachsinnig wäre, wäre es wenigstens sinnvoll nicht jedes mal zur Datenbank zu verbinden und nicht jedes mal eine Datenbank auszusuchen, sondern dies lieber in der MySQL-Abfrage direkt zu tun:
Etwa so:
Verbindung zur Datenbank wird vorausgesetzt!
PHP Code:
$items = "SELECT `id`, COUNT(*) AS count FROM player.item;"; $itemsquery = mysql_query($items); $itemanzahl = mysql_fetch_object($itemsquery); echo 'Items : '.$itemanzahl->count;
MfG .Shanii²
PS: Sehe meinen Post als konstruktive Kritik!
|
|
|
10/20/2010, 13:16
|
#38
|
elite*gold: 125
Join Date: Apr 2008
Posts: 1,217
Received Thanks: 1,304
|
Quote:
Originally Posted by .Shanii²
Wen man als Betreiber einer Website die Codes die du gepostet hast so einbindet ist das wohl das Schlechteste was man machen kann.
Die Datenbankabfragen sind sowas von breitgefächert.
z.B.:
PHP Code:
1 include("config.php"); 2 mysql_connect($dbhost,$dbuser,$dbpass); 3 mysql_select_db("player"); 4 $items = "SELECT COUNT(*) AS count FROM item "; 5 $itemsquery = mysql_query($items); 6 $itemanzahl = mysql_fetch_object($itemsquery); 7 echo 'Items : '.$itemanzah->count;
Es geht hauptsächlich um die Zeile "4"!
Du lässt mit dieser Abfrage alles (*), was in der Tabelle player.item steht zählen! Dabei wäre es viel sinnvoller z.B. nur die Spalte "id" zu zählen! So geht die Abfrage schneller, da nicht alle Datensätze "ausgewertet" werden.
Außerdem schreibt man an das Ende einer MySQL-Abfrage ein ";" damit MySQL weiß, wann der Befehl zu Ende ist.
Idealer Weise würde die Zeile also wie folgt aussehen:
PHP Code:
$items = "SELECT `id`, COUNT(*) AS count FROM item;";
Da wie oben aufgeführt, das verwenden der Scripts hintereinander total schwachsinnig wäre, wäre es wenigstens sinnvoll nicht jedes mal zur Datenbank zu verbinden und nicht jedes mal eine Datenbank auszusuchen, sondern dies lieber in der MySQL-Abfrage direkt zu tun:
Etwa so:
Verbindung zur Datenbank wird vorausgesetzt!
PHP Code:
$items = "SELECT `id`, COUNT(*) AS count FROM player.item;"; $itemsquery = mysql_query($items); $itemanzahl = mysql_fetch_object($itemsquery); echo 'Items : '.$itemanzahl->count;
MfG .Shanii²
PS: Sehe meinen Post als konstruktive Kritik!
|
PHP Code:
SELECT COUNT(*) AS anzahl FROM...
ist schneller als COUNT(spalte), da MyISAM die Anzahl der Einträge im Cache hat.
Fragst du eine besitmmte Zeile ab, dann muss er das erneut überprüfen.
Korrekterweise wär dein Query:
PHP Code:
$items = "SELECT COUNT(id) AS count FROM item;";
Denn deine Variante würde bei 80.000 Items 80.000 Zeilen zurückliefern, da du nach der ID verlangst. D.h. er gibt alle IDs aus, da du kein LIMIT gesetzt hat
Ergebnis wäre:
PHP Code:
id, COUNT(*) -------------- 1, 800000 2, 800000 3, 800000 4, 800000 ...
|
|
|
10/21/2010, 00:48
|
#39
|
elite*gold: 100
Join Date: Sep 2009
Posts: 8,136
Received Thanks: 2,760
|
Ich werde die nächsten Tage noch ein paar neue sachen adden , aber habe atm nicht soviel zeit.
Wer script hat und diese hier zurverfügung stellen möchte , soll mir einfach eine PN mit dem Script geben.
Euer Name wird natürlich dazu geaddet
|
|
|
10/21/2010, 03:11
|
#40
|
elite*gold: 125
Join Date: Apr 2008
Posts: 1,217
Received Thanks: 1,304
|
Hinweis für die Rangliste:
PHP Code:
$rank = "SELECT * from player WHERE name NOT LIKE '[%]%' ORDER BY level DESC limit 10";
Das Filtert alle Namen die dem Format [...].... entsprechen. Da einige Server auch andere Tags haben.
|
|
|
10/21/2010, 03:35
|
#41
|
elite*gold: 100
Join Date: Sep 2009
Posts: 8,136
Received Thanks: 2,760
|
Quote:
Originally Posted by hen!
Hinweis für die Rangliste:
PHP Code:
$rank = "SELECT * from player WHERE name NOT LIKE '[%]%' ORDER BY level DESC limit 10";
Das Filtert alle Namen die dem Format [...].... entsprechen. Da einige Server auch andere Tags haben.
|
Danke hen! mal wieder was neues gelernt .
|
|
|
10/21/2010, 13:01
|
#42
|
elite*gold: 31
Join Date: Jun 2010
Posts: 1,527
Received Thanks: 457
|
Danach habe ich gesucht ;D
|
|
|
10/21/2010, 22:19
|
#43
|
elite*gold: 100
Join Date: Sep 2009
Posts: 8,136
Received Thanks: 2,760
|
Quote:
Originally Posted by DoItLikeKarim.?
Danach habe ich gesucht ;D
|
Schön , aber bitte lasst solche post wie : "hab ich gebraucht, nice..." sowas ist nicht wirklich konstruktiv und passt überhaupt nicht zum thema sowas kan man im ot posten aber nicht hier.
Keine lust das dieser Thread geclosed wird.
|
|
|
10/21/2010, 22:54
|
#44
|
elite*gold: 61
Join Date: Jun 2010
Posts: 185
Received Thanks: 46
|
dankaschön, auf sowas habe ich schon lange gewartet
thx given
edit: will nicht das der thread geclodes wird, aber kp was ich sonst posten soll, siehe edit2
edit2: yea 90er Post *facepalm*
|
|
|
10/27/2010, 14:46
|
#45
|
elite*gold: 0
Join Date: Jun 2010
Posts: 866
Received Thanks: 834
|
Ich weis nicht ob ich total falsch liege, da ich recht wenig Ahnung von Php habe, aber müsste:
PHP Code:
include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("player"); $chars = "SELECT * from player"; $charsquery = mysql_query($chars); $charszahl = mysql_num_rows($charsquery); echo "Charaktere : $charanzahl";
nicht eher :
PHP Code:
include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("player"); $chars = "SELECT * from player"; $charsquery = mysql_query($chars); $charszahl = mysql_num_rows($charsquery); echo "Charaktere : $charszahl";
lauten?
Weil in Zeile 6 legt er für die anzahl der Charaktere doch "$charszahl" fest und nicht wie in Zeile 7 im jetzigen Script abgerufen wird "$charanzahl" ...
Wenn ich falsch liege korrigiert mich und erklärt mir bitte wieso
Will bissien was lernen ^^
mfg. jackdown
|
|
|
|
|
Similar Threads
|
Eure Homepage/Forum !
08/18/2010 - Metin2 PServer Advertising - 15 Replies
Liebe Mitglieder,
habt ihr einen P-Server aber noch keine Homepage/Forum ?
Ich könnte für euch kostenlos eine Homepage (mit Forum) erstellen.
Die lästigen .de.vu Domain braucht ihr auch nicht mehr.
Ihr bekommt einen .tk Domain (falls Name vorhanden)
Da dieser ganze Dienst kostenlos ist möchte ich als gegenleistung GM werden.
(GM erfahrungen habe ich schon gesammelt)
|
Eure Homepage/Forum !
08/11/2010 - Metin2 Trading - 0 Replies
Liebe Mitglieder,
habt ihr einen P-Server aber noch keine Homepage/Forum ?
Ich könnte für euch kostenlos eine Homepage (mit Forum) erstellen.
Die lästigen .de.vu Domain braucht ihr auch nicht mehr.
Ihr bekommt einen .tk Domain (falls Name vorhanden)
Da dieser ganze Dienst kostenlos ist möchte ich als gegenleistung GM werden.
(GM erfahrungen habe ich schon gesammelt)
|
*HOT* Buttons für eure Metin2 Homepage
08/03/2010 - Metin2 PServer Guides & Strategies - 10 Replies
Hallöchen
Ich habe hier für euch mal ein paar Buttons zusammengestellt..
Sind zwar nicht viele aber es reicht für eine Super HP
Im Pack erhalten sind:
Login
Logout
Admin
|
Homepage für OnlineStatus etc.. Eure hilfe ist gefragt !
03/02/2010 - Metin2 Private Server - 6 Replies
hi Leute,
Ich habe mir gedacht ich scripte mal eine Homepage wo man OnlineStatus,GM codes & GM Commands nach lesen kann.
Jetzt brauche ich eure Hilfe könntet ihr die jeweiligen IP adressen mir per PN schicken oder hier rein posten.
NUR die IP des server keine HP links oder sonstiges.
Was kommt alles auf die HP:
|
Homepage Erstellen | Keine Ideen | Eure Meinung
10/25/2009 - General Art - 13 Replies
Hallo :D ich habe vor eine Homepage zu erstellen mit einer Top-Level-Domain.. Richtig nette Homepage sollte es sein, jedoch habe ich keine Idee über was die Homepage sein soll.. Könnt ihr mir vielleicht ein Tipp geben?
|
All times are GMT +2. The time now is 13:01.
|
|