Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Klar geht es, habe ich auch nicht anders gesagt. ::)
Ich habe gesagt, dass es keinen einzelnen Befehl dafür gibt, was auch der Wahrheit entspricht.
Ich wünsch dir viel Erfolg dabei, du wirst da nicht sehr viel verstehen, garantiert ich dir. ;D
Dir wurden jetzt mehrere Varianten gezeigt, wie du es machen kannst, komm selber drauf oder lass es lieber komplett sein und beschäfftige dich mit anderen Dingen, denn deine Freundlichkeit hier gegenüber anderen Menschen die dir freiwillig helfen wollen, ist unter aller sau.

Gruß,
Jackson, der sich aus diesem Threat nun ausklinkt. (;

endschuldigung aber ich wahr nur sauer,

kann man das hier irgendwie umbauen das die ip adressen ausgelesen werden und nicht die anzahl der besucher?

<?php
<?
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name ="test"; // Database name

// Connect to server and select databse
mysql_connect("$host", "$username", "$password")or die("cannot connect to server");
mysql_select_db("$db_name")or die("cannot select DB");

    $sql = "SELECT
                COUNT(*) as Anzahl
            FROM
                Online
            WHERE
                IP = '".$_SERVER['REMOTE_ADDR']."'";
    $result = mysql_query($sql) OR die(mysql_error());
    $row = mysql_fetch_assoc($result);
    if($row['Anzahl']) {
        // Nur Datum Updaten
        $sql = "UPDATE
                    Online
                SET
                    Datum = NOW()
                WHERE
                    IP = '".$_SERVER['REMOTE_ADDR']."'";
        mysql_query($sql) OR die(mysql_error());
    } else {
        // Neuer eintra
        $sql = "INSERT INTO Online
                    (IP, Datum)
                VALUES
                    ('".$_SERVER['REMOTE_ADDR']."', NOW())";
        mysql_query($sql) OR die(mysql_error());
    }

    // alte Datensätze löschen
    $sql = "DELETE FROM
                Online
            WHERE
                DATE_SUB(NOW(), INTERVAL 1 MINUTE) > Datum";
    mysql_query($sql) OR die(mysql_error());

    // Anzahl Ausgeben
    $sql = "SELECT
                COUNT(*) as Anzahl
            FROM
                Online";
    $result = mysql_query($sql) OR die(mysql_error());
    $row = mysql_fetch_assoc($result);

    echo "<h3>".$row['Anzahl']." User</h3>";
?>
?>
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

kann man das hier irgendwie umbauen das die ip adressen ausgelesen werden und nicht die anzahl der besucher?

[...]

IP = '".$_SERVER['REMOTE_ADDR']."'";
Wirds doch.
$_SERVER['REMOTE_ADDR'] ist die Clientseitige Ip-Adresse.

Falls dies nicht die Antwort auf deine Frage ist, was meinst du mit "die anzahl der besucher?"
Die anzahl der besucher schließt sich aus der Ip-Adresse in diesem script.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

@tester_96: Du hast nicht den geringsten Grund, auf uns sauer zu sein, denn du hast (wie bereits gesagt wurde) kostenlos Hilfe erhalten. Eher müssten WIR auf DICH sauer sein, denn dein Ton geht so ganz und gar nicht. Du bist auf dem besten Wege, hier keine Hilfe mehr zu bekommen!

Wenn wir hier programmiererische Hilfestellung geben, dann ist das Hilfe zur Selbsthilfe. Wenn du damit nichts anfangen kannst, dann bestünde für dich immer noch die Möglichkeit, abseits des Forums kostenpflichtige Hilfe in Anspruch zu nehmen (3-stellige Stundensätze übrigens, nur um mal die Relationen klarzurücken!).

JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Problematik dabei ist, wer sich nicht über nem Logout link ausloggt, wird dort auch aufgelistet, egal ob noch auf der Seite aktiv oder nicht. ;)

Stimmt genau :) Deswegen macht es Sinn, den Session Save Handler neu zu schreiben und Zusatzinfos dort unterzubringen, z.B. den besagten Zeitstempel. Da schlägt man zwei Fliegen mit einer Klappe und bekommt die ganze Sache einigermaßen performant gelöst.

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Stimmt genau :) Deswegen macht es Sinn, den Session Save Handler neu zu schreiben und Zusatzinfos dort unterzubringen, z.B. den besagten Zeitstempel. Da schlägt man zwei Fliegen mit einer Klappe und bekommt die ganze Sache einigermaßen performant gelöst.
Und genau da hätte ich keine Ahnung wie man es macht  ;D

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

ich meine es so,

es wird die zahl der besucher angezeigt, und ich möchte es so haben das nicht die anzahl angezeigt wird sondern die ip adressen die sich auf der seite befinden 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Die Redundanz in diesem Thread ist zwar bedrückend, aber nochmal:

$_SERVER['REMOTE_ADDR']

Das liefert die IP des Users, der gerade zugreift.

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Du willst die IP Adresse öffentlich stellen ?
Wtf ? ::)

Ich glaube eher, dass du das falsch formulierst.
Meine Vermutung wäre, du willst nicht die Anzahl haben, sondern die User die aktiv auf der Seite sind, aufgelistet haben, oder ? 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Du willst die IP Adresse öffentlich stellen ?
Wtf ? ::)

Ich glaube eher, dass du das falsch formulierst.
Meine Vermutung wäre, du willst nicht die Anzahl haben, sondern die User die aktiv auf der Seite sind, aufgelistet haben, oder ? 

das meine ich doch

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
<?php
$host
="localhost"// [url=http://www.computerhilfen.de/fachbegriffe-h-Host.html]Host[/url] name
$username="root"// Mysql username
$password=""// Mysql password
$db_name ="test"// Database name

// Connect to [url=http://www.computerhilfen.de/fachbegriffe-s-Server.html]server[/url] and select databse
mysql_connect("$host""$username""$password")or die("cannot connect to server");
mysql_select_db("$db_name")or die("cannot select DB");

    $sql "SELECT
                COUNT(*) as Anzahl
            FROM
                Online
            WHERE
                IP = &#39;"
.$_SERVER[&#39;REMOTE_ADDR&#39;]."&#39;";
    $result mysql_query($sql) OR die(mysql_error());
    $row mysql_fetch_assoc($result);
    if($row[&#39;Anzahl&#39;]) {
        // Nur Datum Updaten
        $sql "UPDATE
                    Online
                SET
                    Datum = NOW()
                WHERE
                    IP = &#39;"
.$_SERVER[&#39;REMOTE_ADDR&#39;]."&#39;";
        mysql_query($sql) OR die(mysql_error());
    } else {
        // Neuer eintrag
        $sql "INSERT INTO Online
                    (IP, Datum, TABLE_FÜR_NAME)
                VALUES
                    (&#39;"
.$_SERVER[&#39;REMOTE_ADDR&#39;]."&#39;, NOW(), VARIABLE_MIT_NAMEN_DES_EINGELOGGTEN_USERS)";
        mysql_query($sql) OR die(mysql_error());
    }

    // alte Datensätze löschen
    $sql "DELETE FROM
                Online
            WHERE
                DATE_SUB(NOW(), INTERVAL 1 MINUTE) > Datum"
;
    mysql_query($sql) OR die(mysql_error());

    // Anzahl Ausgeben
    $sql "SELECT
                TABLE_FÜR_NAMEN_DES_USERS
            FROM
                Online"
;
    $result mysql_query($sql) OR die(mysql_error());
    while($row mysql_fetch_assoc($result)) {
        echo $row[&#39;TABLE_FÜR_NAMEN_DES_USERS&#39;];
    }
?>

So ca. dürfte das machbar sein. Bedenke das die Großgeschriebenen Sachen nicht in deiner momentanen Datenbank vorhanden sind. Update die Datenbank entsprechend. D.h. du solltest beim Eintragen von neuen Usern für die Liste den Usernamen oder die Userid (userid benötigt wieder neue abfrage des namens nachher vondaher Performenceschädigend), speichern.
Diesen Rufst du dann am Ende mit nem Array einfach ab, und lässt ihn mit while ausgeben.
Ich hab das natürlich nicht überprüft und ist jetzt frei aus meinem Kopf innerhalb 10 Minuten nachdenken gekommen. Evt. musst du das eine oder andere überarbeiten.

Gruß,
jackson  
« Letzte Änderung: 10.03.09, 14:25:17 von Jackson »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Was hastn du daran nihct verstanden o.O??

und dann frei nach:
"zeig user an deren zeit > als jetzt - x sind"

es ist jetzt 08:33 Uhr => seitenaufruf -> speichern
online liste steh ich drin, weil die alle anzeigt die vor 5 mins das letzte lebenszeichen von sich gegeben haben.

wenn ich danach nciht mehr klicke (kein speichern) bin ich nach z.b. 6 minuten logischerweise keiner mehr der vor 5 mins da war o.O

also wenn dir das sogar noch zu kompliziert war ^^
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Was hastn du daran nihct verstanden o.O??
es ist jetzt 08:33 Uhr => seitenaufruf -> speichern
online liste steh ich drin, weil die alle anzeigt die vor 5 mins das letzte lebenszeichen von sich gegeben haben.

wenn ich danach nciht mehr klicke (kein speichern) bin ich nach z.b. 6 minuten logischerweise keiner mehr der vor 5 mins da war o.O

also wenn dir das sogar noch zu kompliziert war ^^
 

ich glaube ich verstehe was du meinst ich versuche mal da was zu basteln ;D

gruß winfreund

« Eine Website online stellenScript-Fehler -> Cannot modify header »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Directory
Ordner im Dateisystem eines Computers. Siehe auch Ordner ...

Host
Der Begriff Host (Englisch für Wirt, Gastgeber oder Veranstalter) meint ein Hauptrechner in einem Computernetzwerk, der das gesamte Netzwerk und die anderen Rechner ...

Hostname
Ein Hostname ist der eindeutige Name, der einem Gerät in einem Netzwerk zugewiesen wird. Dieser Name wird (parallel zu der IP Adresse) verwendet, um das Gerät i...