Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
12.08.2002, 12:50
xoix



nunja ich versuche ein system zu machen das überprüft ob ein user online ist(auf der hp) und dann den user ausgibt.
ich habe mir das so gedacht:

Quellcode:<?php
if($check)
{
//überprüfen ob ein user online ist
$table="userdaten";
$link=mysql_connect("localhost","xxx", "xxx");
$query="SELECT benutzer FROM $table";
mysql_select_db("xxx", $link);
$erg=mysql_query($query, $link);
for($i=0;$i<mysql_num_rows($erg);$i++)
{
$data[$i]=mysql_fetch_array($erg);
//wenn ja daten online auf 1 setzen
if($data[$i][benutzer]==$check)
{
$table="userdaten";
$link1=mysql_connect("localhost","xxx", "xxx");
$update="UPDATE $table SET online=1 WHERE benutzer='$data[$i][benutzer]'";
mysql_select_db("xxx", $link1);
$erg1=mysql_query($update, $link1);
}
//wenn nein daten online auf 0 setzen
else
{
$table="userdaten";
$link1=mysql_connect("localhost","xxx", "xxx");
$update="UPDATE $table SET online=0 WHERE benutzer='$data[$i][benutzer]'";
mysql_select_db("xxx", $link1);
$erg1=mysql_query($update, $link1);
}
}
//daten auslesen und ausgeben
$table="userdaten";
$link=mysql_connect("localhost","xxx", "xxx");
$query="SELECT benutzer FROM $table WHERE online=1";
mysql_select_db("xxx", $link);
$ergebnis=mysql_query($query, $link);
for($a=0;$a<mysql_num_rows($ergebnis);$a++)
{
$usr_online[$a]=mysql_fetch_array($ergebnis);
print $usr_online[$a]." ";
}
}
?>

ich bin noch ein ziemlicher nub, deshalb bitte ich um verzeihung.
er gibt keinen fehler aus sondern gibt einfach gar nichts aus.
ich weiss jetzt einfach nicht mehr weiter,ich hoffe ihr könnt mir weiterhelfen

--

zum Seitenanfang zum Seitenende Profil || Suche
001
12.08.2002, 15:40
TheTinySteini



Der Code da ist ziemlich unübersichtlich formatiert, deswegen guck ich mir ihn nicht an, sorry. Aber probier doch einfach mal das Allheilmittel echo aus! Einfach an bestimmten Stellen den Inhalt der diversen Variablen ausgeben.
Dann findet man recht schnell, wo etwas nicht so klappt wie es soll. Länger dauert es dann herauszufinden, warum es nicht klappt =)

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
002
12.08.2002, 15:54
xoix



hab ich auch schon gemacht, das prob ist, er setzt online einfach nicht auf 1.
Quellcode:
if($data[$i][benutzer]==$check)
{
print $check;
...

das gibt er problemlos aus

Quellcode:
...
$update="UPDATE $table SET online=1 WHERE benutzer='$data[$i][benutzer]'";
...

das macht er einfach nicht
hrmpf

--

zum Seitenanfang zum Seitenende Profil || Suche
003
12.08.2002, 16:00
TheTinySteini



Schreib den Query mal so:
$update="UPDATE $table SET online=1 WHERE benutzer='". $data[$i]['benutzer'] ."'";

2D-Arrays in Strings können nämlich Probs verursachen (dann erkennt PHP das Array nicht richtig).

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
004
12.08.2002, 16:14
xoix



neues prob siehe unten :(

--


Dieser Beitrag wurde am 12.08.2002 um 17:50 von xoix bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
12.08.2002, 17:44
xoix



so jetzt möcht ich auch anzeigen lassen wenn der user wieder runter geht, das hab ich so gemacht(rein logischerweise) aber es geht nicht, er schreibt einfach keine 0 hinein:

Quellcode:for($i=0;$i<mysql_num_rows($erg);$i++)
{
$data[$i]=mysql_fetch_array($erg);
//wenn ja online auf 1 setzen
if($data[$i][benutzer]==$check)
{
$table="userdaten";
$link1=mysql_connect("localhost","xxx", "xxx");
$update="UPDATE $table SET online=1 WHERE benutzer='". $data[$i]['benutzer'] ."'";
mysql_select_db("xxx", $link1);
$erg1=mysql_query($update, $link1);
}

bis hierhin alles soweit klar. dann versuche ich, $check ist übrigens ein cookie,user die nicht online sind, es aber vorher waren und folglich eine 1 im feld online stehen haben zu "reseten" also wieder auf null zu setzten, wodurch sie nicht mehr in der online liste zu sehen wären...
Quellcode:
elseif($data[$i][benutzer]!=$check)
{
$table="userdaten";
$link1=mysql_connect("localhost","xxx", "xxx");
$update="UPDATE $table SET online=0 WHERE benutzer='". $data[$i]['benutzer'] ."'";
mysql_select_db("xxx", $link1);
$erg1=mysql_query($update, $link1);
}
}
}

nun so gehts aber nicht, was eigentlich unlogisch ist, da es beim setzten ja genau auf diese art und weise funktioniert hat...
falls es was hilft hier ist die ausgabe:
Quellcode://daten auslesen und ausgeben
$table="userdaten";
$link=mysql_connect("localhost","xxx", "xxx");
$query="SELECT benutzer FROM $table WHERE online='1'";
mysql_select_db("xxx", $link);
$ergebnis=mysql_query($query, $link);
$try=mysql_num_rows($ergebnis);
if($try==0){print "no user online";}
else{
for($a=0;$a<$try;$a++)
{
$usr_online[$a]=mysql_fetch_array($ergebnis);
print $usr_online[$a][benutzer]." ";
}
}

weiss jmd. rat?

--


Dieser Beitrag wurde am 12.08.2002 um 17:50 von xoix bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
13.08.2002, 07:09
theDon



ich frag mich nur gerade wie du das testen willst...naja is noch früh und ich bin noch net ganz wach

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
007
13.08.2002, 07:46
Exec



wie er das testen will? er geht auf seine site und guckt, obs geht O_o

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
008
13.08.2002, 09:46
theDon



ich meine wie er testen will ob der user dann auch wieder offline ist...weil wenn er nachguckt ist er ja wieder online

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
009
13.08.2002, 10:59
xoix



ich schau einfach per myadmin in dem betreffenden user feld ob online=1 ist...

--

zum Seitenanfang zum Seitenende Profil || Suche
010
13.08.2002, 11:22
theDon



aso...ja das geht...wie gesagt war noch müde

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche