Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Externe Anzeige
#1
Hi,
gibt es eine möglichkeit die Online User auf der HP anzeigen zu lassen?
Antworten
#2
Du bastelst einen Wrapper. Das ist die einfachste und schnellste Möglichkeit.
Antworten
#3
Hier die Lösung für die externe Anzeige der User:

PHP-Code:
<?php
$link 
mysqli_connect('localhost''DB-Benutzer''DB-Password''DB-Name');
if (!
$link) {
 
 die('Verbindung schlug fehl: ' mysqli_error());
}
$sql 'SELECT COUNT(*) AS `user_online_counter` FROM `ze_session` WHERE `sess_ping` > DATE_SUB(NOW(), INTERVAL 1 MINUTE) AND `sess_online_status` <> 0';
$data mysqli_query($link$sql);
if (!
$data) {
 
 die('Verbindung schlug fehl: ' mysqli_error());
}
$row mysqli_fetch_array($data);
if (
$row[0] == '0') {
 
 echo '<span style="font-size:12px; color:000000;">Es ist kein User im Chat online</span>';
}
elseif (
$row[0] == '1') {
 
 echo '<span style="font-size:12px; color:000000;">Es ist ' $row[0] . ' User im Chat online:<br></span>';
 
 $query 'SELECT ze_user.user_name FROM ze_user, ze_session WHERE ze_user.user_id = ze_session.sess_user_id';
 
 if ($stmt mysqli_prepare($link$query)) {
/* execute statement */
 
   mysqli_stmt_execute($stmt);
/* bind result variables */
 
   mysqli_stmt_bind_result($stmt$name);
/* fetch values */
 
   while (mysqli_stmt_fetch($stmt)) {
 
     echo '<span style="font-size:12px; color:000000;">' $name '<br></span>';
 
   }
/* close statement */
 
   mysqli_stmt_close($stmt);
 
 }
}
else {
 
 echo '<span style="font-size:12px; color:000000;">Es sind ' $row[0] . ' User im Chat online:<br></span>';
 
 $query 'SELECT ze_user.user_name FROM ze_user, ze_session WHERE ze_user.user_id = ze_session.sess_user_id';
 
 if ($stmt mysqli_prepare($link$query)) {
/* execute statement */
 
   mysqli_stmt_execute($stmt);
/* bind result variables */
 
   mysqli_stmt_bind_result($stmt$name);
/* fetch values */
 
   while (mysqli_stmt_fetch($stmt)) {
 
     echo '<span style="font-size:12px; color:000000;">' $name '<br></span>';
 
   }
/* close statement */
 
   mysqli_stmt_close($stmt);
 
 }
}
mysqli_free_result($data);
mysqli_close($link);
?>
Damit sollte sich das Ganze erledigt haben...

Gruß
Onkel_Unbekannt
... der Held vom Erdbeerfeld! Cool
Antworten
#4
hihi onkelchen ja so geht des






(23.04.2015, 15:57)Onkel_Unbekannt schrieb: Hier die Lösung für die externe Anzeige der User:


PHP-Code:
<?php
$link 
mysqli_connect('localhost''DB-Benutzer''DB-Password''DB-Name');
if (!
$link) {
 
 die('Verbindung schlug fehl: ' mysqli_error());
}
$sql 'SELECT COUNT(*) AS `user_online_counter` FROM `ze_session` WHERE `sess_ping` > DATE_SUB(NOW(), INTERVAL 1 MINUTE) AND `sess_online_status` = 1';
$data mysqli_query($link$sql);
if (!
$data) {
 
 die('Verbindung schlug fehl: ' mysqli_error());
}
$row mysqli_fetch_array($data);
if (
$row[0] == '0') {
 
 echo '<span style="font-size:12px; color:000000;">Es ist kein User im Chat online</span>';
}
elseif (
$row[0] == '1') {
 
 echo '<span style="font-size:12px; color:000000;">Es ist ' $row[0] . ' User im Chat online:<br></span>';
 
 $query 'SELECT ze_user.user_name FROM ze_user, ze_session WHERE ze_user.user_id = ze_session.sess_user_id';
 
 if ($stmt mysqli_prepare($link$query)) {
/* execute statement */
 
   mysqli_stmt_execute($stmt);
/* bind result variables */
 
   mysqli_stmt_bind_result($stmt$name);
/* fetch values */
 
   while (mysqli_stmt_fetch($stmt)) {
 
     echo '<span style="font-size:12px; color:000000;">' $name '<br></span>';
 
   }
/* close statement */
 
   mysqli_stmt_close($stmt);
 
 }
}
else {
 
 echo '<span style="font-size:12px; color:000000;">Es sind ' $row[0] . ' User im Chat online:<br></span>';
 
 $query 'SELECT ze_user.user_name FROM ze_user, ze_session WHERE ze_user.user_id = ze_session.sess_user_id';
 
 if ($stmt mysqli_prepare($link$query)) {
/* execute statement */
 
   mysqli_stmt_execute($stmt);
/* bind result variables */
 
   mysqli_stmt_bind_result($stmt$name);
/* fetch values */
 
   while (mysqli_stmt_fetch($stmt)) {
 
     echo '<span style="font-size:12px; color:000000;">' $name '<br></span>';
 
   }
/* close statement */
 
   mysqli_stmt_close($stmt);
 
 }
}
mysqli_free_result($data);
mysqli_close($link);
?>
Damit sollte sich das Ganze erledigt haben...

Gruß
Onkel_Unbekannt
Antworten
#5
Mit PHPFusion funktioniert das aber nicht
1. Server
Linux Version: Debian 10 Plesk 18.0.48
PHP Version: von 7.4.33 - 8.2
MySql Version: MariaDB 10.3.36

2. Server
Linux Version: Ubuntu 20.04.5 LT Plesk 18.0.48
PHP Version: von 7.3.33 - 8.2
MySql w.o

3. Server
Linux Version: Debian 10 Plesk 18.0.48
PHP Version: vom 7.4.33 - 8.2
MySql w.o


Antworten
#6
(23.04.2015, 21:45)Schausteller Radio schrieb: Mit PHPFusion funktioniert das aber nicht

Doch tut es.

Du musst bei PHP-Fusion nur ein neues Panel anlegen und dann den "echo"-Befehl zwischen openside und closeside komplett löschen; dafür fügst du den Code ein, allerdings ohne die PHP-Tags am Anfang und am Ende...

So geht's bei mir einwandfrei...

Und noch nen kleinen Fehler entdeckt... bei der ersten SQL-Anweisung muss es am Ende heißen "<> 0" nicht "= 1" sonst werden nur die User mit Status "1" also Online angezeigt und der Rest nicht...

Ist in meinem Post im Quellcode schon geändert.
... der Held vom Erdbeerfeld! Cool
Antworten
#7
nee, bekommer erst keine Anzeige!

um ein Panel zu erstellen mus ich folgendes eingeben:

openside('Chatter Online');
echo 'php-code';
closeside();

so sieht mein Code aus:

openside('Chatter Online');
echo '<?php
$link = mysqli_connect('XX.XX.XX.XXX', 'XXXX', 'XXXXXX', 'XXXXX');
if (!$link) {
die('Verbindung schlug fehl: ' . mysqli_error());
}
$sql = 'SELECT COUNT(*) AS `user_online_counter` FROM `ze_session` WHERE `sess_ping` > DATE_SUB(NOW(), INTERVAL 1 MINUTE) AND `sess_online_status` = 1';
$data = mysqli_query($link, $sql);
if (!$data) {
die('Verbindung schlug fehl: ' . mysqli_error());
}
$row = mysqli_fetch_array($data);
if ($row[0] == '0') {
echo '<span style="font-size:12px; color:000000;">Es ist kein User im Chat online</span>';
}
elseif ($row[0] == '1') {
echo '<span style="font-size:12px; color:000000;">Es ist ' . $row[0] . ' User im Chat online:<br></span>';
$query = 'SELECT ze_user.user_name FROM ze_user, ze_session WHERE ze_user.user_id = ze_session.sess_user_id';
if ($stmt = mysqli_prepare($link, $query)) {
/* execute statement */
mysqli_stmt_execute($stmt);
/* bind result variables */
mysqli_stmt_bind_result($stmt, $name);
/* fetch values */
while (mysqli_stmt_fetch($stmt)) {
echo '<span style="font-size:12px; color:000000;">' . $name . '<br></span>';
}
/* close statement */
mysqli_stmt_close($stmt);
}
}
else {
echo '<span style="font-size:12px; color:000000;">Es sind ' . $row[0] . ' User im Chat online:<br></span>';
$query = 'SELECT ze_user.user_name FROM ze_user, ze_session WHERE ze_user.user_id = ze_session.sess_user_id';
if ($stmt = mysqli_prepare($link, $query)) {
/* execute statement */
mysqli_stmt_execute($stmt);
/* bind result variables */
mysqli_stmt_bind_result($stmt, $name);
/* fetch values */
while (mysqli_stmt_fetch($stmt)) {
echo '<span style="font-size:12px; color:000000;">' . $name . '<br></span>';
}
/* close statement */
mysqli_stmt_close($stmt);
}
}
mysqli_free_result($data);
mysqli_close($link);
?>
';
closeside();


Damit funktioniert es nicht
1. Server
Linux Version: Debian 10 Plesk 18.0.48
PHP Version: von 7.4.33 - 8.2
MySql Version: MariaDB 10.3.36

2. Server
Linux Version: Ubuntu 20.04.5 LT Plesk 18.0.48
PHP Version: von 7.3.33 - 8.2
MySql w.o

3. Server
Linux Version: Debian 10 Plesk 18.0.48
PHP Version: vom 7.4.33 - 8.2
MySql w.o


Antworten
#8
er hat doch geschrieben ohne php tags  du hast mit
Gruß Snork




Antworten
  


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste