Seite 2 von 5

Verfasst: 22.07.2006 22:26
von kratzer54847

Code: Alles auswählen

<?php 
$sql = 'SELECT username, user_id 
  FROM phpbb_users 
  ORDER BY user_regdate DESC 
  LIMIT 1';
$result = mysql_query($sql); 
if (!$result = mysql_query($sql)) 
{ 
  die('Fehler: ' . mysql_error()); 
} 

if ( $user = mysql_fetch_array($result) )
{ 
$newest_user = '<a href="http://deine-domain.de/dein_pfad/profile.php?mode=viewprofile&u="' . $user['user_id'] . '">' . $user['username'] . '</a>'; 

echo "Neuester Benutzer:&nbsp;" . $newest_user;
} 
?> 
und so?

Verfasst: 22.07.2006 22:49
von SinTao
Nein, so auch nicht, aber ich glaube das liegt an was anderem. Ein Freund von mir hat mir ein Script geschrieben, das ich das Forenlogin, die PM's, etc auf der Hauptseite abfragen kann. Daraus resultiert jetzt in Kombination mit dem gezeigten Script folgender Fehler:

Code: Alles auswählen

Fatal error: Call to a member function logged_in() on a non-object in /is/htdocs/wp1018263_BSD9T9Y4CO/sto/index.php on line 181
In Zeile 181 steht dann Folgendes:

Code: Alles auswählen

// Show login boxes if user is not logged in
if (!$user -> logged_in())

usw...
Ich denke da entsteht irgendein Konflikt. Ich weiss nicht ob man das umgehen kann, ansonsten wäre es halb so wild, da sich die anderen daten abrufen lassen. Wäre nur schön gewesen...

Grüsse von,

SinTao

P.s: Okay, Problem erkannt, und gebannt. Hat ein wenig gedauert, aber die Logik hat gewonnen. ;)

2x $user muss ja unweigerlich einen Konflikt verursachen. Also einen in $user2 umbenannt, und schon gehts. Und das beste daran: Ich hab keinen Schimmer warum das nun so ist, wie es ist. :D

Danke nochmal!

Verfasst: 23.07.2006 16:39
von Andavos
Du musst dich noch in deine Datenbank einloggen. Sonst kann der Browser (oder was auch immer) die Daten die auf deiner Datenbank gespeichert sind nicht aufrufen!

Ich habe folgenden Code benutzt:

Code: Alles auswählen

$verbindung=mysql_connect("localhost","***","***")
				or die("Verbindung fehlgeschlagen!");
				$datenbank=mysql_select_db("***")
				or die("<br>Datenbank nicht gefunden!");
Bei den Sternchen kommen jeweils dein Datenbankusername, dein DB-Passwort und der Name der Detenbank!

PS: Ich habe noch ein paar Fragen, wäre froh wenn diese ebenso schnell beantwortet werden könnten:
1. Die Frage die schon in der Topic eröffnung stand, wie kann ich einen Counter programmieren der alle 24 stunden auf Null zurückschaltet?

2. Wie kann ich machen, dass man sich auf meiner Homepage mittels zwei Felder einloggen kann? Wenn man sich dann angemeldet hat, also den richtigen Username und das richtige Passwort eingegeben hat, dann soll sich in einem neuen Fenster dass sich dann öffnet das Forum kommen (man soll dann natürlich eingeloggt sein!)
Und auf der Page sollte dann unter den Kästchen (oder wenn möglich sogar ersetzenden) stehen, ob man eine neue PN hat, oder nicht!
Geht das?

3. Und kann man auch noch die Namen inklusive Link zum Profil der User unter der Anzahl anzeigen die online sind?

Verfasst: 23.07.2006 16:53
von SinTao
Den Datenbank Connect habe ich Global oben gemacht, so das ich auch mit anderen Abfragen drauf zu greifen könnte.

Mir stellt sich jetzt aber noch ein anderes Problem dar:

Der Code schaut zZ so aus:

Code: Alles auswählen

<?php
$sql = 'SELECT username, user_id
  FROM phpbb_users
  ORDER BY user_regdate DESC
  LIMIT 1';
$result = mysql_query($sql);
if (!$result = mysql_query($sql))
{
  die('Fehler: ' . mysql_error());
}

if ( $user2 = mysql_fetch_array($result) )
{
$newest_user = '<a href="http://www.sternengarde.de/lounge/profile.php?mode=viewprofile&u="' . $user2['user_id'] . '">' . $user2['username'] . '</a>'; 

echo "* Neuester Benutzer:&nbsp;" . $newest_user;
}
?>
Das funktioniert auch so weit, sprich er fragt den neuesten Benutzer ab, aber er setzt ans Ende des Links nicht die angeforderte User ID, wodurch der Link zwar da ist, aber ins Leere läuft... Jemand ne Idee?

Grüsse von,

SinTao

Verfasst: 23.07.2006 18:04
von kratzer54847
Hallo,

versuch mal:

Code: Alles auswählen

$newest_user = "<a href='http://www.sternengarde.de/lounge/profile.php?mode=viewprofile&u='" . $user2['user_id'] . "'>" . $user2['username'] . "</a>";
evtl. liegts an den Quotes

Verfasst: 23.07.2006 18:11
von SinTao
Nein, das will er leider auch nicht... :|

Der Link bleibt immer:

http://www.sternengarde.de/lounge/profi ... profile&u=

Wenns garnichts hilft muss ich wohl den Link rausnehmen. Wenn ich doch Ahnung davon hätte... :| :)

Noch ne Idee? :)

Grüsse vom,

SinTao

Verfasst: 23.07.2006 18:33
von kratzer54847
aber der Username wird angezeigt?

Verfasst: 23.07.2006 18:37
von S2B
Ähm, bei deinem aktuellen Code wird das Query zweimal ausgeführt, es wäre sinnvoll, das noch zu ändern. Dazu musst du diese Zeile rausnehmen:

Code: Alles auswählen

$result = mysql_query($sql);
Ansonsten würde mich auch mal die Antwort auf kratzers Frage interessieren. :wink:

Verfasst: 23.07.2006 18:37
von SinTao
Ja, interessanterweise...

Kann da irgendein Konflikt mit vorherigen Abfragen entstehen? Ich weiss das leider nicht. :|

Hier mal alles was an Php in diesem TD steht:

Code: Alles auswählen

<?php            
$sql = 'SELECT COUNT(post_id) FROM phpbb_posts';
if (!$result = mysql_query($sql))
{
die('Fehler: ' . mysql_error());
}
$post_count = mysql_result($result, 0);
echo "* Verfasste Beiträge:&nbsp;" . $post_count;
mysql_free_result($result);
?>
<br>
<?php 	
$sql = 'SELECT COUNT(user_id)
  FROM phpbb_users';
if (!$result = mysql_query($sql))
{
  die('Fehler: ' . mysql_error());
}
$user_count = mysql_result($result, 0);
echo "* Anzahl Benutzer:&nbsp;" . $user_count;
mysql_free_result($result)
?>
<br>
<?php 	
$sql = 'SELECT COUNT(session_id)
  FROM phpbb_sessions
  WHERE session_time >= ' . (time() - 300);
if (!$result = mysql_query($sql))
{
  die('Fehler: ' . mysql_error());
}
$online_count = mysql_result($result, 0);
echo "* Aktuell in der Lounge:&nbsp;" . $online_count;
mysql_free_result($result);
?>
<br>
<?php
$sql = 'SELECT username, user_id
  FROM phpbb_users
  ORDER BY user_regdate DESC
  LIMIT 1';
$result = mysql_query($sql);
if (!$result = mysql_query($sql))
{
  die('Fehler: ' . mysql_error());
}

if ( $user2 = mysql_fetch_array($result) )
{
$newest_user = "<a href='http://www.sternengarde.de/lounge/profile.php?mode=viewprofile&u='" . $user2['user_id'] . "'>" . $user2['username'] . "</a>";

echo "* Neuester Benutzer:&nbsp;" . $newest_user;
}
?>
Sehen kann man das Ganze hier, oben rechts im Header:

http://www.sternengarde.de/index.php

Danke dir erneut für deine Hilfe!!

SinTao

Verfasst: 23.07.2006 18:44
von S2B
Tja, ein einfacher HTML-Fehler. :wink: Warum hast du nicht meinen Code so verwendet, wie er war? :-?

Code: Alles auswählen

$newest_user = "<a href='http://www.sternengarde.de/lounge/profile.php?mode=viewprofile&u=" . $user2['user_id'] . "'>" . $user2['username'] . "</a>";