Zu so später Stunde muss ich einmal nerven... °^^
Und zwar habe ich mir das tolle Script entliehen (an dieser Stelle ein großes Lob und ein Dankeschön dafür, ebenso wie die bis hierhin sehr hilfreichen Hinweise der Experten! *gg*) und schon das ein oder andere Problemchen gelöst.
Es funktioniert soweit alles und ich komme auch überall super ran, allerdings habe ich nun ein kleines Problem:
Wenn ich von der Grotte aus auf die Registratur zugreife, bekomme ich eine Auflistung der Chars, die noch nicht geprüft sind ganz so, wie es sein soll. Allerdings bringt es nichts, auf 'OK' zu drücken - es tut sich nichts. Außerdem stehen alle Chars irgendwie auf allen drei Listen (ungeprüft, angeschrieben, geprüft)
Also musste ich meine Admin-Chars erst einmal wie empfohlen über die Datenbank reinlassen (namecheck auf 3 setzen) - die stehen jetzt auf keiner der drei Listen mehr.
Hat jemand eine Idee, was da schief läuft?
Ich habe mir das registratur Script einmal angeschaut, aber nichts gefunden, das irgendwie falsch ausschaut.
Fehlt mir vielleicht noch ein sql-Befehl für die Datenbank oder ähnliches?
wenn es einen Fehler im Script gibt, müsste er ja irgendwo in diesem Bereich stehen
PHP:
if ($_GET[op]==""){ //intro
addnav("Registraturen");
addnav("ungeprüfte Namen","registratur.php?op=newname");
addnav("angemailte Namen","registratur.php?op=mailname");
addnav("akzeptierte Namen","registratur.php?op=accname");
addnav("Navigation");
addnav("Zurück in die Stadt","village.php");
output("Du betrittst die Registratur. In diesem etwas abseits gelegenen
Gewölbe sind einige Schriftführer damit beschäftigt, das Einwohner-Verzeichnis auf einem aktuellen Stand zu halten.`n`0");
}
else if ($_GET[op]=="newname") { //Liste ungeprüfte Bewohner
addnav("Navigation");
addnav("Zurück zur Registratur","registratur.php");
addnav("Zurück in die Stadt","village.php");
output("Du logst dich in die Datenbank ein und kontrollierst die neuesten Ankömmlinge.`n
Die folgenden Charakter-Namen sind noch unbearbeitet:`n`n`0");
$sql = 'SELECT acctid, name, login, laston FROM accounts
WHERE locked=0 and namecheck=0
ORDER BY acctid DESC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("Es sind keine Bewohner mit ungeprüften Namen verzeichnet!`0`n");
}
else {
output("<table border=0 cellpadding=2 cellspacing=1 >",true);
output("<tr class='input'><td>Nummer</td><td>Spieler</td><td>Last On</td>
<td>Namenswechsel</td><td>Akzeptieren</td><td>Löschung</td>",true);
$count = 0;
while ($row = db_fetch_assoc($result)) {
if ( $count == 5 ) {
output("<tr class='trmain'>",true);
output("<td>----</td><td>----------</td><td>---------</td>",true);
output("<td>----</td><td>--</td><td>-------</td>",true);
output("</tr>",true);
$count = 1;
} else $count++;
$tmp = $row['acctid'];
$tmp2 = $row['name'];
$tmp3 = $row['login'];
output("<tr class='trmain'>",true);
output("<td>".$tmp."</td><td>".$tmp2."</td>",true);
output("<td>",true);
$laston=round((strtotime("0 days")-strtotime($row[laston])) / 86400,0)." Tage";
if (substr($laston,0,2)=="1 ") $laston="1 Tag";
if (date("Y-m-d",strtotime($row[laston])) == date("Y-m-d")) $laston="Heute";
if (date("Y-m-d",strtotime($row[laston])) == date("Y-m-d",strtotime("-1 day"))) $laston="Gestern";
if ($loggedin) $laston="Jetzt";
output($laston);
output("</td>",true);
output("<td><a href='registratur.php?op=mail&userid=".$tmp."'>`^Mail`0</a></td>",true);
output("<td><a href='registratur.php?op=accept3&userid=".$tmp."'>`@ok`0</a></td>",true);
output("<td><a href='registratur.php?op=delete1&userid=".$tmp."'>`4löschen`0</a></td>",true);
output("</tr>",true);
addnav("","registratur.php?op=mail&userid=$tmp");
addnav("","registratur.php?op=accept3&userid=$tmp");
addnav("","registratur.php?op=delete1&userid=$tmp");
}
output("</table>",true);
}
Die sql-Dateien hab ich mir ebenso wie das Registratur-Script von Taraen auf Seite 2 hier im Forum geschnappt.
Mit besten Grüßen,
Ash
Edit: natürlich hier noch der Source zum Server, für den Fall dass der mögliche Fehler doch wo anders liegt:
http://www.nimhrothchronicles.de/source.php