Daten aus Forum

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag 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?
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
SinTao
Mitglied
Beiträge: 275
Registriert: 09.04.2006 21:16

Beitrag 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!
Andavos
Mitglied
Beiträge: 145
Registriert: 13.07.2006 11:50
Wohnort: Winterthur

Beitrag 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?
SinTao
Mitglied
Beiträge: 275
Registriert: 09.04.2006 21:16

Beitrag 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
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag 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
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
SinTao
Mitglied
Beiträge: 275
Registriert: 09.04.2006 21:16

Beitrag 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
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

aber der Username wird angezeigt?
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag 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:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
SinTao
Mitglied
Beiträge: 275
Registriert: 09.04.2006 21:16

Beitrag 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
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag 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>"; 
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Antworten

Zurück zu „Coding & Technik“