[SQL + PHP]Bausteine für eure Homepage

10/18/2010 16:04 .Hazel#31
Quote:
Originally Posted by .0x1338_# View Post
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_INETSOCK_STREAMSOL_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$output50560);
    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 .Marcel'#32
Quote:
Originally Posted by .Hazel View Post
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 .Hazel#33
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 .Marcel'#34
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 [Activison]#35
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 ~Deadly~#36
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 .Shanii²#37
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 hen!#38
Quote:
Originally Posted by .Shanii² View Post
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:
idCOUNT(*)
--------------
1800000
2
800000
3
800000
4
800000
... 
10/21/2010 00:48 .Marcel'#39
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 hen!#40
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 .Marcel'#41
Quote:
Originally Posted by hen! View Post
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 Rauschii#42
Danach habe ich gesucht ;D
10/21/2010 22:19 .Marcel'#43
Quote:
Originally Posted by DoItLikeKarim.? View Post
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 ODDDY#44
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 jackdown9#45
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