Indtil videre er det kun mig der styrer siden, men der kommer 2-3 mere. Jeg vil så gerne have det sådan, at der på forsiden et sted står hvem der er online af os. Først tænkte jeg at det kunne gøres med computeres IP-adresse, men hvis man nu var et andet sted og stadig godt ville vise at man var online, så ville det nok være smartere med et login system. Jeg har allerede et admin system, men der er kun et brugernavn og et password, så enten skal det udvides eller også skal jeg have et nyt lille et.
Jeg har ikke speciel meget forstand på php, så I må lige guide mig igennem! :D
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jo den ide havde jeg også selv, men for det første ved jeg ikke om de alle har ICQ, og med mig selv som eksempel, så er det ikke hver gang jeg er på siden, at jeg også er på ICQ! Så hvis der det kunne gøres med et login system vil det hjælpe meget!
Det er i hvert fald ikke lavet med Mysql, og tror heller ikke med .htaccess. Der er en config.php fil som indeholder brugernavn og adgangskode. Ikke andet!
Jeg har lige nogen spørgsmål: 1. hvor ved den hvilke brugere det drejer sig om? Skal jeg indtaste det nogen steder? 2. selve filen usersonline.php skal den indsættes nogen steder, eller skal jeg bare tage de forskellige dele ud der fra?
ad 1) Kombinér det med loginscriptet, således at: if ($udtræk_fra_onlinedatabase_IP == $udtræk_fra_logindatabase_IP) { // kode til at vise brugernavn istedet for ip } else { // kode til at vise ip }
har lige nogen spørgsmål til dette: ---------------------- $db = mysql_connect("localhost", "root", "") or die ("Desværre ingen forbindelse til databasen");
mysql_select_db("password", $db) or die ("Kunne ikke vælge databasetabel"); ---------------------- der hvor der står mysql_connect..., skal jeg der skrive mit password til databasen ved de to ""? Jeg har udfyldt localhost og root!
Skal jeg også udfylde noget ved mysql_select_db...?
parameterne til mysql_connect er ( server , username , password ) er du sikker på dit username er "root"? det lyder mere som et standard mappenavn på serveren. Allenfals kan vi ikke gætte os til hvad dit brugernavn og password er. Hvis vi kunne var de jo ikke meget værd. Spørg evt din udbyder hvad default er der.
Heh he... det jeg mente med at jeg havde udfyldt "localhost" og "root", var at jeg i filen på min computer havde udfyldt det med de rigtigt oplysinger, men var bare i tvivl om passwordet skulle stå ved "", da der nemlig ikke var skrevet noget ligesom "localhost" og "root"! :D
men hvad med denne kode: mysql_select_db("password", $db) or die ("Kunne ikke vælge databasetabel"); skal der udfyldes noget der? password måske?
Jeg har prøvet at kigge på user online koden, men den virker rimelig umulig :/ ! Jeg har indsat koden der skal indsættes i mysql! Så er der bare lige alt det andet :D
------------------------------ /* dette skal indsættes på alle undersider */ function InsertUser() { global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF;
$ip = $REMOTE_ADDR; $host = gethostbyaddr($ip); $browser = $HTTP_USER_AGENT; $page = $PHP_SELF; $time = explode(" ", microtime()); $usersec = (double)$time[1]; mysql_query("DELETE FROM online_users WHERE ip like '$ip'"); mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')"); } InsertUser(); /* her til */
Udskriver tabellen med hvem der er online: showUsers();
Opretter tabellen:
function ShowUsers() {
$time = explode(" ", microtime()); $usersec = (double)$time[1]; mysql_query("DELETE FROM online_users WHERE date < $usersec -100"); $countusers = mysql_fetch_array(mysql_query("SELECT count(*) as total FROM online_users"));
Jeg har tænkt mig at tabellen skal blive vist på forsiden i en lille iframe ude i siden, så egentlig behøver jeg vel kun at sætte, den kode som skal ind på alle undersiderne, ind på den side som skal udskrive tabellen?
Så skulle jeg kombinere de to med dette, men hvordan?
if ($udtræk_fra_onlinedatabase_IP == $udtræk_fra_logindatabase_IP) { // kode til at vise brugernavn istedet for ip } else { // kode til at vise ip }
Dette udskriver bare selve kildekoden - den er ikke interessant for andre end dig :-)
Den side der skal sættes ind på alle undersider, SKAL sættes ind på alle undersider. Ellers virker scriptet ikke - så bliver de online brugere jo ikke registreret.
if ($udtræk_fra_onlinedatabase_IP == $udtræk_fra_logindatabase_IP) { // kode til at vise brugernavn istedet for ip } else { // kode til at vise ip }
dette skal selvfølgelig tilpasses det database-udtræk du foretager.
$db = mysql_connect("server", "username", "password") or die(mysql_error("Cannot connect to database"));
mysql_select_db("online_users", $db);
$sql = mysql_query("select ip from tabel); while($data = mysql_fetch_array($sql)){ $db2 = mysql_connect("server", "username", "password") or die(mysql_error("Cannot connect to database"));
Well... jeg kunne ikke få det til at virke, så jeg spurgte en som vidste lidt om det, og han sagde at det var en fejl flydt og besværlig måde, men du får dine point for at have forsøgt :D *ved godt at man ikke må give point, hvis man ikke har fået svar på sit spørgsmål, så du får 150 for at have prøvet, og så tager jeg selv 50 :D*
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.