У меня есть статистика, хранящаяся в базе данных. Я бы хотел, чтобы Пользователи в MediaWiki просматривали только статистику, связанную с их именем пользователя. Я пробовал ниже, но он дает мне только пустую страницу (без ошибок). Я предполагаю, что он не получит имя пользователя из сеанса. Как мне это сделать?Получить сеанс MediaWiki() имя пользователя
<?php
$dbtype = "mysql";
$dbhost = "localhost";
$dbname = "test";
$dbuser = "username";
$dbpassword = "passw0rd";
$conn = mysql_connect($dbhost, $dbuser, $dbpassword);
if(! $conn)
{
die('Could not connect: ' . mysql_error());
}
$wgHooks['UserLoginComplete'][] = 'test::onUserLoginComplete';
class test
{
public static function UserLoginComplete($user, $password, &$retval, &$msg) {
$dbr = wfGetDB(DB_SLAVE);
$row = $dbr->selectRow(
'coaching', // $Table
'Name', // $vars (column of the table)
array('Name' => $user), // $Conitions
__METHOD__ // $fname = 'Database::select'
);
mysql_select_db($dbname, $conn);
echo '<table border="0" border-color="#CCCCCC" bgcolor="#FFFFFF"><thead><tr><td><b>ID</b></td><td><b>Namn</b></td><td><b>Datum</b></td><td><b>Score</b></td></tr></thead><tbody>';
$query = "SELECT ID, Name, Date, Score FROM coaching WHERE Name = $user";
$result = mysql_query($query) or die(mysql_error());
$color="1";
while($row = mysql_fetch_array($result)){
if($color==1){
echo '<tr bgcolor="#D0D0D0">';
$color="2";
} else {
echo '<tr bgcolor="#E0E0E0">';
$color="1";
}
echo '<td>'.$row['ID'].'</td><td>'.$row['Name'].'</td><td>'.$row['Date'].'</td><td>'.$row['Score'].'</td></tr>';
}
?>
Вы не должны догадываться, вы должны знать, что происходит в вашем коде. – svick
К сожалению, не все из нас настолько искусны, что я боюсь, но спасибо вам за помощника. –
Я имел в виду, что если вы не знаете, вы должны это выяснить. Либо используя отладчик, либо, если это не доступно вам, написав фактическое значение где-нибудь, где вы можете его прочитать. – svick