Weitere Teile folgen nach Anfrage per PN oder im Thread
Herzlich Willkommen Brotfische!
In dem Tutorial möchte Ich auf Grund Anfragen ein Tutorial schreiben wie ihr euer eigenes Control Panel coden könnt.
Vorerst entschuldige ich mich auf Rechtschreibfehler. Falls im Tutorial etwas falsch beschrieben wurde oder sonstiges könnt ihr gerne hier drunter schreiben.
Das UserCP wird kein Design besitzen, dafür seid ihr selber zuständig.
Ich werde alles in Parts schreiben. In diesem Teil geht es um folgendes:
> MySQL Verbindung
> Login
Fangen wir mal direkt an.
Teil 1.0 > MySQL & Login
Zur erst benötigen wir ein Webspace, ich verwende das Programm "XAMPP" da ich auf localhost code.
Könnt ihr gerne auch falls nicht getan installieren, oder auf dem Server wo auch immer.
> global.php (Hier kommen die Sachen rein wie zum Beispiel die Mysql Verbindung, oder Benutzerdaten auslesen etc.)
> index.php (Dies wird unsere Login Seite)
> logout.php (Hier wollen wir den Spieler später ausloggen)
> home.php (Hier listen wir die Statistiken des Spielers)
Nun haben wir den ersten Schritt. Zunächst öffnen wir die global.php mit einem Editor (Ich benutze Notepad++) und schreiben folgendes rein:
<?php // Wir starten ein Session für den Benutzer/Besucher session_start(); // Wir verbinden uns mit MySQL mysql_connect('localhost', 'root', '123456'); // Wir wählen die Datenbank aus, aus dem wir unsere Daten auslesen wollen mysql_select_db('sampserver'); // Wir überprüfen ob der Benutzer eingeloggt ist, falls ja lesen wir die Felder in der Tabelle von den Benutzer des Benutzers aus if(isset($_SESSION['username'])) { $SpielerInfo = mysql_fetch_object(mysql_query("SELECT * FROM users WHERE username = '".$_SESSION['username']."'")); } /* Nun können wir Beispiel mit >echo $SpielerInfo->username< den Name des Benutzers ausgeben. */?>
Jetzt benötigen wir das Login, dazu öffnen wir die login.php und schreiben folgendes rein:
<?php // Wir includen die global.php somit haben wir die Funktionen in global.php auch auf dieser Seite. require_once('global.php'); // Wir überprüfen ob der Spieler schon eingeloggt ist, falls ja leiten wir in direkt zur Statistikseite (home.php) if(isset($_SESSION['username'])) { header('Location: home.php'); } // Wir überprüfen ob das Login Formular abgesendet wurde if(isset($_POST['submit'])) { // Formular wurde abgesendet, nun erstellen wir 2 Variablen // Mit $_POST['username'] können wir den Inhalt des Textfeldes auslesen, // mit mysql_real_escape_string verhindern wir Sql Injection und haben mehr Sicherheit. $Username = mysql_real_escape_string($_POST['username']); // Genau das selbe wie oben, falls die Passwörter md5 verschlüsselt sind, // schreiben wir >$Password = md5($_POST['username']);< // Hier benötigen wir kein mysql_real_escape_string da wir das Passwort schon verschlüsselt haben. $Password = mysql_real_escape_string($_POST['password']); // Nun überprüfen wir ob ein Benutzer mit den angegebenen Daten in der Datenbank existiert if(mysql_num_rows(mysql_query("SELECT id FROM users WHERE username = '$Username' AND password = '$Password'")) == 1) { // Es existiert ein Benutzer mit den angegebenen Daten, somit sind die Daten korrekt und wir loggen den Spieler ein.... // Wir setzen nun eine Session für den Benutzer, damit wir später abfragen können ob der Spieler eingeloggt ist, // oder nicht, oder um Daten des Spielers aus der Datenbank auszulesen. $_SESSION['username'] = $Username; // Nun wurde die Session gesetzt und der Spieler gillt als eingeloggt. // Jetzt leiten wir den Spieler auf die home.php header('Location: home.php'); } else { // Es existiert kein Benutzer, somit sind die Daten falsch und wir geben eine Fehlermeldung aus echo 'Falsche Zugangsdaten'; } }?><!DOCTYPE html><html> <head> <title>Mein Samp UCP</title> </head> <body> <form method="POST"> Benutzername: <input type="text" name="username" /><br /> Passwort: <input type="password" name="password" /><br /> <input type="submit" name="submit" value="Einloggen" /><br /> </form> </body></html>
<?php // Wir starten eine Session falls, falls keine session gestartet wurde und wir auf die Datei zugreifen bekommen wir ansonnsten // eine Fehlermeldung. session_start(); // Nun löschen wir die ganzen Sessions damit der Spieler ausgeloggt werden kann session_destroy(); // Nun leiten wir den Spieler nach dem Ausloggen zur Startseite (Login) header('Location: index.php');?>
damit der Spieler seine Statistik sehen kann. Dazu öffnen wir die home.php und schreiben folgendes rein:
<?php // Wir includen die global.php somit haben wir die Funktionen in global.php auch auf dieser Seite. require_once('global.php'); // Wir überprüfen ob der Spieler eingeloggt ist, falls nicht leiten wir in zurück zur Login Seite. if(!isset($_SESSION['username'])) { header('Location: index.php'); }?><!DOCTYPE html><html> <head> <title>Mein SampUCP - <?php echo $SpielerInfo->username; ?></title> </head> <body> <h1>Willkommen, <?php echo $SpielerInfo->username; ?></h1> <a href="logout.php">Ausloggen</a> </body></html>
Teil 1.1 > Mehr Statistiken einfügen, Skin anzeigen
Fangen wir doch mal mit dem Skin an. Für die Skins benötigen wir erstmal ein Ordner
wo die Skins nach der ID alle abgespeichert sind.
(Ihr könnt den Skin Ordner von meinem UCP nehmen (templates/images/skins/) Zum UCP).
Die Skins sollten am besten in einem Ordner sein, der Ordner sollte im Verzeichnis des UCP's liegen (Bsp: http://ucp-link/skins/).
Meine Skins sind wie folgt abgespeichert "Skin_ID.PNG".
So nun seid ihr schonmal etwas informiert. Wir öffnen zuerst die home.php und schreiben über
folgenden Code:
rein. In der Benutzertabelle sollte eine Spalte für den Benutzer Namens "skin" geben (kann auch anders heißen).
So nun zeigen wir den Skin des Spielers auf der home.php.
Geld machen wir folgendes: Wir schreiben folgenden Code unter
Falls ihr dort Probleme habt schreibt einfach hier im Thread eine Nachricht.
Auf Anfrage folgen weitere Teile
Für Fragen und Verbesserungsvorschläge bin ich jederzeit offen. Hoffe es hat euch gefallen und geholfen.
MfG