icefire
Erfahrenes Mitglied
Hallo!
Ich versuche ein File für meinen Gameserver zu öffnen, und entsprechend zu verarbeiten. In diesem File ist die Struktur wie folgt:
Ich rufe die gesamten eingetragenen Admins aus der Datenbank aus, um die betreffende Person bestimmen zu können. Der zweite Schritt sollte dann die Aufteilung der betroffenen Daten sein, damit man ggf. die Adminflags ändern kann.
Damit auch die richtige Person bzw. Zeile genommen wird, läuft das zusätzlich noch über meine Datenbank - quasi als abgleich:
Das Problem ist nur - ich bekomme die Abgrenzung der betreffenden Zeile nicht hin. Auch stelle ich mir die Frage, ob ich überhaupt einen parallelen Eintrag benötige!?
Mit Files öffnen/eintragen/löschen habe ich so gut wie keine Erfahrungen. Ist es auch einfacher eine Zeile zu "erneuern" oder gleich die ganze Datei quasi neu zu erstellen und damit die alte zu überschreiben? Die Daten sind ja - wenn man die veränderte Zeile mal außer acht lässt - alle gleich.
Ich hoffe Ihr könnt mir ein paar Tipps geben!
Ich versuche ein File für meinen Gameserver zu öffnen, und entsprechend zu verarbeiten. In diesem File ist die Struktur wie folgt:
// STEAM-ID RIGHTS NAME
"STEAM_0:2:43278" "cde" // Bert
"STEAM_0:1:14236" "ghf" // Hans
"STEAM_0:1:234778" "acf" // Fred
Ich rufe die gesamten eingetragenen Admins aus der Datenbank aus, um die betreffende Person bestimmen zu können. Der zweite Schritt sollte dann die Aufteilung der betroffenen Daten sein, damit man ggf. die Adminflags ändern kann.
Damit auch die richtige Person bzw. Zeile genommen wird, läuft das zusätzlich noch über meine Datenbank - quasi als abgleich:
PHP:
$name = $_POST['admin_name'];
$file = '../admins_simple.ini';
$rights = file($file);
if(stristr($rights,$name) === FALSE){
echo '<tr><td class="text1" colspan="2">User <b>'.$name.'</b> hat folgende Adminrechte:<br></td></tr>';
$name == TRUE;
if(isset($name)){
$verbindung = @mysql_connect($mysqlserver, $mysqluser, $mysqlpass) or die("Konnte keine Verbindung zum Datenbankserver aufbauen!");
$selectdb = @mysql_select_db($mysqldb, $verbindung) or die("Konnte die Datenbank <b>$mysqldb</b> nicht auswählen!");
$link = mysql_query("SELECT * FROM rv_server_rights WHERE rv_user_name='$name'");
echo mysql_error();
if(empty($data['rv_user_rights'])){$admin_lvl="...";}
elseif($data['rv_user_rights']=="A"){$admin_lvl="Master Admin";}
elseif($data['rv_user_rights']=="B"){$admin_lvl="High Admin";}
elseif($data['rv_user_rights']=="C"){$admin_lvl="Normal Admin";}
elseif($data['rv_user_rights']=="D"){$admin_lvl="Low Admin";}
elseif($data['rv_user_rights']=="x"){$admin_lvl="Special Guest";}
print' <tr><td class="list1" colspan="2">Es wurden zu der <b>'.htmlspecialchars($data['rv_user_steam']).'</b> die Rechte eines <b>'.$admin_lvl.'</b> hinterlegt.</td></tr><br>
<tr><td class="list1" colspan="2">'.$data['rv_rights_list'].'</td></tr>';
}
}else{echo '"'.$name.'" hat noch keine Adminrechte erhalten!';}
Das Problem ist nur - ich bekomme die Abgrenzung der betreffenden Zeile nicht hin. Auch stelle ich mir die Frage, ob ich überhaupt einen parallelen Eintrag benötige!?
Mit Files öffnen/eintragen/löschen habe ich so gut wie keine Erfahrungen. Ist es auch einfacher eine Zeile zu "erneuern" oder gleich die ganze Datei quasi neu zu erstellen und damit die alte zu überschreiben? Die Daten sind ja - wenn man die veränderte Zeile mal außer acht lässt - alle gleich.
Ich hoffe Ihr könnt mir ein paar Tipps geben!