ich habe mir einen eigenen Anmeldeskript für einen Gameserver (Minecraft mit Authme) programmiert.
Diesen habe ich jetzt in Ilch integriert bekommen.
Jedoch soll jeder Nutzer diese Seite nur einmal öffnen können.
Wenn er sie erneut öffnet, soll nur eine Naricht angezeigt werden. (z.B. Du bist bereits freigeschalten.)
Dies möchte ich machen, damit der Skript nicht missbraucht wird, da der Forumaccount bei unserem Server Pflicht ist.
Ich weis, ist nicht gerade Spieleranziehend, aber die Serverleitung will das so.
Nun meine Frage, wie kann ich nun den aktuell angemeldeten User herausfinden und dies in meinen Skript integrieren?
<?php defined ('main') or die ( 'no direct access' ); $um = $menu->get(1); if ($menu->getA(1) == 'W') { $poll_id = escape ($menu->getE(1), 'integer'); $radio = escape ($_POST['radio'], 'integer'); $fraRow = db_fetch_object(db_query("SELECT * FROM prefix_poll WHERE poll_id = '".$poll_id."'")); $textAr = explode('#',$fraRow->text); if ($fraRow->recht == 2) { $inTextAr = $_SESSION['authid']; } elseif ($fraRow->recht == 1) { $inTextAr = $_SERVER['REMOTE_ADDR']; } if ( !in_array ( $inTextAr , $textAr ) ) { $textAr[] = $inTextAr; $textArString = implode('#',$textAr); db_query('UPDATE `prefix_poll` SET text = "'.$textArString.'" WHERE poll_id = "'.$poll_id.'"'); db_query('UPDATE `prefix_poll_res` SET res = res + 1 WHERE poll_id = "'.$poll_id.'" AND sort = "'.$radio.'" LIMIT 1') or die (db_error()); } } $title = $allgAr['title'].' :: '.$lang['vote']; $hmenu = $lang['vote']; $design = new design ( $title , $hmenu ); $design->header(); if($do==1) { $verbindung = mysql_connect("XXXXX", "XXXXXX" , "XXXXXX") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); mysql_select_db("XXXXXXX") or die ("Datenbank konnte nicht ausgewählt werden"); $username = $_POST["username"]; $passwort = $_POST["passwort"]; $passwort2 = $_POST["passwort2"]; if($passwort != $passwort2 OR $username == "" OR $passwort == "") { echo" <form name=\"eingabeform\" ACTION='index.php?test' METHOD='POST'> <ul> <li> <p>Eingabefehler. Bitte alle Felder korekt ausfüllen.</p> </li> <li> <p>Dein Username:</p> <input type='text' name='username' maxlength='50' size'24'></input> </li> <li> <p>Dein Passwort:</p> <input type='password' name='passwort' maxlength='50' size'24'></input> </li> <li class='long'> <p>Passwort wiederholen:</p> <input type='password' name='passwort2' maxlength='50' size'24'></input> </li> <input style=\"font-size:10px\" type='hidden' name='do' value='1'> <input style=\"font-size:10px;width:170px\" type='submit' name='send' value='abschicken'> </input> </ul> </form> "; } $passwort = md5($passwort); $result = mysql_query("SELECT id FROM authme WHERE username LIKE '$username'"); $menge = mysql_num_rows($result); if($menge == 0) { $eintrag = "INSERT INTO authme (username, password) VALUES ('$username', '$passwort')"; $eintragen = mysql_query($eintrag); if($eintragen == true) { echo "Registrierung erfolgreich"; } else { echo" <form name=\"eingabeform\" ACTION='index.php?test' METHOD='POST'> <ul> <li> <p>Fehler beim Speichern des Benutzernames. Bitte erneut versuchen.</p> </li> <li> <p>Dein Username:</p> <input type='text' name='username' maxlength='50' size'24'></input> </li> <li> <p>Dein Passwort:</p> <input type='password' name='passwort' maxlength='50' size'24'></input> </li> <li class='long'> <p>Passwort wiederholen:</p> <input type='password' name='passwort2' maxlength='50' size'24'></input> </li> <input style=\"font-size:10px\" type='hidden' name='do' value='1'> <input style=\"font-size:10px;width:170px\" type='submit' name='send' value='abschicken'> </input> </ul> </form> "; } } else { echo" <form name=\"eingabeform\" ACTION='index.php?test' METHOD='POST'> <ul> <li> <p>Benutzername schon vorhanden. Bitte den im Forum verwendeten Username verweden.</p> </li> <li> <p>Dein Username:</p> <input type='text' name='username' maxlength='50' size'24'></input> </li> <li> <p>Dein Passwort:</p> <input type='password' name='passwort' maxlength='50' size'24'></input> </li> <li class='long'> <p>Passwort wiederholen:</p> <input type='password' name='passwort2' maxlength='50' size'24'></input> </li> <input style=\"font-size:10px\" type='hidden' name='do' value='1'> <input style=\"font-size:10px;width:170px\" type='submit' name='send' value='abschicken'> </input> </ul> </form> "; } } else { echo" <form name=\"eingabeform\" ACTION='index.php?test' METHOD='POST'> <ul> <li> <p>Dein Username:</p> <input type='text' name='username' maxlength='50' size'24'></input> </li> <li> <p>Dein Passwort:</p> <input type='password' name='passwort' maxlength='50' size'24'></input> </li> <li class='long'> <p>Passwort wiederholen:</p> <input type='password' name='passwort2' maxlength='50' size'24'></input> </li> <input style=\"font-size:10px\" type='hidden' name='do' value='1'> <input style=\"font-size:10px;width:170px\" type='submit' name='send' value='abschicken'> </input> </ul> </form> "; } $design->footer(); ?>
Falls jemand auch allgemeine Verbesserungsvorschläge hat, bin ich offen diese umzusetzen.
Dies sind die aktuellen Fehlermeldungen, da die Seite früher nicht in Ilch integriert war.
danke schonmal für eure Antworten.
grüße Dreamhacked
Technik-Admin bei Duesterwald-Gameservers.de
P.S. ich bin leider erst anfänger, was PHP angeht.
betroffene Homepage: duesterwald-gameservers.de
Zuletzt modifiziert von Dreamhacked am 16.03.2013 - 22:20:37