Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Sřg
 

Mysql sætter ikke til online.

Hej rowlere.

jeg sidder og har fået mit login system og opret færdigt.
Jeg er så begyndt på en tagwall, som jeg er færdig med nu.
Problemet er, at når man logger ind på min side, logger man fint ind.
Men hvis man kigger i mysql databasen står der at man er offline.
Så i min tagwall kan man jo ikke skrive fordi man skal være logget ind for at skrive.
Nogle der ved hvordan jeg kan gøre så mysql sætter sig til online når man logger ind?

Pointfordeling

Forfatteren har lukket trĺden og har valgt at fordele de 20 point sĺledes:
MikL 20 point
Oprettet af:

MySQL

Point afsat: 20

Lukket
16:25 22/11/2009
Du mener.

Dit brugerpanel på din hjemmeside.

Login = sæt din bruger Online . Så folk kan se der er 1 eller ( 2 online brugere ) ?.
Oprettet af:

Kommentar
16:43 22/11/2009
Kender godt til problemet.
Kan vi eventuelt få lov til at se den stump kode det drejer sig om, og eventuelt et link til din hjemmeside.
Oprettet af:

Kommentar
16:44 22/11/2009
Hvis det er det du snakker om.
Har jeg lige bikset noget sammen. Virker. Men læs det igennem.


Login: ( lav en der hedder status & time & sidstset

  1. @mysql_query("
  2. UPDATE `brugere` SET `status` = '1'
  3. WHERE `navn` = '" . $_SESSION['navn'] . "'
  4. ");

Sætter status på sidstset og Offline efter 20 minutter inaktivitet.

Skal sættes ind i config.php eller den du bruger til mysql.

  1. $sidst = date("d-m-y H:i");
  2. $tiden = time();
  3. @mysql_query("UPDATE brugere SET status='1', time='$tiden' WHERE navn='".$_SESSION[navn]."'");
  4. @mysql_query("UPDATE brugere SET status = '0',sidstset = '$sidst', time = '0' where time < $tiden - 1200");

Logud

  1. $sidst = date("d-m-y H:i");
  2. @mysql_query("UPDATE brugere SET status='0', sidstset = '$sidst' WHERE navn='".$_SESSION[navn]."'");

Bare en del der kan virke.

Eks på table

`status` varchar(50) NOT NULL default '0',
`time` varchar(200) NOT NULL default '0',
`sidstset` varchar(170) NOT NULL default 'Aldrig',

Eks. Det virker. Men om det er den bedste løsning, er det garanteret ikke :)


if($row['status'] == "0") {
echo "<font color='red'>Offline</font>";
}
if($row['status'] == "1") {
echo "<font color='green'>Online</font>";
}
Sidst redigeret 16:57 22/11/2009
Oprettet af:

Afslĺet svar
16:50 22/11/2009
kan lige vise koden og det :).

Login-ok.php

  1. <?
  2. session_start();
  3. include "../config.php";
  4. ?>
  5. <html>
  6.  <head>
  7.   <link rel="stylesheet" href="../dokumenter.css" type="text/css">
  8.  </head>
  9. <body style="background-color:#0beb25";>
  10.     <script type="text/javascript">
  11.         function replace_innerHTML(text, obj) {
  12.             obj = document.getElementById(obj);
  13.             if (text) {
  14.                 obj.innerHTML = text;
  15.             } else {
  16.                 obj.innerHTML = "Community menu";
  17.             }
  18.         }
  19.     </script>
  20. <?
  21. $tjek_bruger = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$_POST[brugernavn]' AND adgangskode = '$_POST[kodeord]'") or die(mysql_error());
  22. $tjek = mysql_fetch_array($tjek_bruger);
  23. if($tjek['brugernavn'] == true) {
  24. $_SESSION['brugernavn'] = $tjek['brugernavn'];
  25. $_SESSION['adgangskode'] = $_REQUEST['adgangskode'];
  26. $_SESSION['status'] = $tjek['status'];
  27. $_SESSION['tid'] = time();
  28. $dato = date('d-m H:i');
  29. $tid = time();
  30. $brugernavn = $_SESSION['brugernavn'];
  31. mysql_query("UPDATE `brugere` SET `settime` = '$tid', `logintid` = '$tid', `status` = 'Online', sidstset = '$dato' WHERE `brugernavn` = '$brugernavn'");
  32. ?>
  33. <script>
  34. <!--
  35. parent.iframe.location = 'community.php';
  36. //-->
  37. </script>
  38. <center>
  39. <font size="2px">Velkommen <b><?echo $_SESSION[brugernavn]; ?></b><br><br>
  40. <a href="#" target="store">Din Profil</a> -
  41. <a href="#" target="store">Ret profil</a> -
  42. <a href="#" target="store">Tilføj video</a> -
  43. <a href="#" target="store">Tilføj spil</a> -
  44. <a href="#" target="store">Tilføj Vits</a> -
  45. <a href="#" target="store">Tilføj billede</a> -
  46. <a href="#" target="store">Tilføj fedt link</a> -
  47. <a href="../tagwall" target="store">Tagwall</a> -
  48. <a href="#" target="store">Log ud</a>
  49. </center></font>
  50. <?
  51. }else {
  52.     echo "<p>Forkert brugernavn eller<br> kodeord.</p>";
  53. }
  54. ?>
  55. </body>

og mysql:

  1. CREATE TABLE `avis_brugere` (
  2.   `id` int(11) NOT NULL auto_increment,
  3.   `brugernavn` varchar(255) NOT NULL default '',
  4.   `adgangskode` varchar(255) NOT NULL default '',
  5.   `aaben` varchar(255) NOT NULL default 'Ja',
  6.   `profilbillede` varchar(255) NOT NULL default '',
  7.   `point` int(100) NOT NULL default '0',
  8.   `bank` int(100) NOT NULL default '0',
  9.   `logintid` varchar(255) NOT NULL default '0',
  10.   `loggetindtid` varchar(255) NOT NULL default '00:00',
  11.   `awaybesked` varchar(255) NOT NULL default '',
  12.   `status` varchar(255) NOT NULL default 'Offline',
  13.   `crewstatus` varchar(255) NOT NULL default 'Normal',
  14.   `sidstset` varchar(255) NOT NULL default '',
  15.   `irlnavn` varchar(255) NOT NULL default 'Ikke angivet',
  16.   `email` varchar(255) NOT NULL default 'Ikke angivet',
  17.   `koen` varchar(255) NOT NULL default '',
  18.   `alder` varchar(255) NOT NULL default 'Ikke angivet',
  19.   `favoritrum` varchar(255) NOT NULL default 'Ikke angivet',
  20.   `hjemmeside` varchar(255) NOT NULL default 'Ikke angivet',
  21.   `skype` varchar(255) NOT NULL default 'Ikke angivet',
  22.   `msn` varchar(255) NOT NULL default 'Ikke angivet',
  23.   `favoritting` varchar(255) NOT NULL default 'Ikke angivet',
  24.   `favoritbg` varchar(255) NOT NULL default 'Ikke angivet',
  25.   `hhbrugernavn` varchar(255) NOT NULL default '000000',
  26.   `landsdel` varchar(255) NOT NULL default 'Ikke angivet',
  27.   `civilstatus` varchar(255) NOT NULL default 'Single',
  28.   `profiltekst` longtext NOT NULL,
  29.   `oprettet` varchar(255) NOT NULL default '',
  30.   `ipadresse` varchar(255) NOT NULL default '',
  31.   PRIMARY KEY  (`id`)
  32. ) AUTO_INCREMENT=1 ;
Oprettet af:

Kommentar
16:58 22/11/2009
og hjemmesiden er http://hyggehjørnet.wep.dk/rigtige
Oprettet af:

Kommentar
17:00 22/11/2009
`status` varchar(255) NOT NULL default 'Offline',

Hvorfor Offline ? - brug 1-2 eller andet. i tal. :)

Og ikke varchar(255) men nok med 50 :)
Oprettet af:

Kommentar
17:00 22/11/2009
MasterCard skrev kl. 17:00 d. 22/11/2009
`status` varchar(255) NOT NULL default 'Offline',

Hvorfor Offline ? - brug 1-2 eller andet. i tal. :)

Og ikke varchar(255) men nok med 50 :)

Har sat den til varchar 50 nu, men forstår ikke hvad du mener med "brug 1-2 eller andet. i tal. :) hva mener du med det?
Oprettet af:

Kommentar
17:03 22/11/2009
`status` varchar(50) NOT NULL default '0',
`time` varchar(200) NOT NULL default '0',

Med "0" i begge to.

Og lav den med den kode jeg har skrevet.

Når du logger ind, altså - korrekte oplysninger = login + update - som updater status :)
Og i config.php som har adgang til din database, så den kan fange tablen.

Og i logud, updater med status="0" så den sætter til 0 = offline .

1 = On
2: Off

Alt er skrevet i tidligere post.. Det virker. Bare at få det skrevet ind og wupti..
Oprettet af:

Kommentar
17:09 22/11/2009
Fatter 0 af det der, ud over at ætte status til 0:) og har ikke et felt der hedder time? så hva kan jeg bruge det til?
Oprettet af:

Kommentar
17:14 22/11/2009
Jeg har ikke mere tid nu.

Men læs nu den igennem .. Du kan da læse ikk ?

Den er lige til, læs og forstå.


Status: 1 = online
Status: 0 = offline
time: 0 ( sætter tiden når du logger ind og sætter dig på 0 efter 20 minutter inaktivitet )

Sæt det ind i login og logud og config .. Så er du godt på vej !!
Oprettet af:

Kommentar
17:19 22/11/2009
Forstod sku heller ikke helt det der
Oprettet af:

Kommentar
17:21 22/11/2009
? sætte ind? øhh
Oprettet af:

Kommentar
17:22 22/11/2009
Og kan virkelig ik se at det blir bedre at kalde online 1 og offline 0? kan jeg ikke bare kalde det online offline?

tror slet ikke du ved hva jeg mener med at der står man er offline :)
Oprettet af:

Kommentar
17:23 22/11/2009
Og kan virkelig ik se at det blir bedre at kalde online 1 og offline 0? kan jeg ikke bare kalde det online offline?

tror slet ikke du ved hva jeg mener med at der står man er offline :)
Oprettet af:

Kommentar
17:23 22/11/2009
MasterCard skrev kl. 16:43 d. 22/11/2009
Du mener.

Dit brugerpanel på din hjemmeside.

Login = sæt din bruger Online . Så folk kan se der er 1 eller ( 2 online brugere ) ?.

NEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJ, FFS KAN DU IKKE SE AT DER STÅR AT MAN BARE ER OFFLINE I MYSQL ELLER HVA?
er det så svært at forstå-.- skal ikke ha lavet en onlineliste, det kan jeg da selv tænke mig til hvordan man laver, omg
Oprettet af:

Kommentar
17:26 22/11/2009
hallo?

dU kan jo lave det enkelt med 1 og 0?



  1. if($data['status'] == 1) {

  2. ECHO 'USER IS ONLINE';

  3. } else {

  4. echo ' user is offline';

  5. }

er det så svært?
Oprettet af:

Kommentar
19:45 22/11/2009
Eye-Toy skrev kl. 19:45 d. 22/11/2009
hallo?

dU kan jo lave det enkelt med 1 og 0?



  1. if($data['status'] == 1) {

  2. ECHO 'USER IS ONLINE';

  3. } else {

  4. echo ' user is offline';

  5. }

er det så svært?

Lidt fail. Det burde gøres følgene.

  1. if($data['status']) {

  2. ECHO 'USER IS ONLINE';

  3. } else {

  4. echo ' user is offline';

  5. }

Tjek din true og false i if sætninger i gennem ;)
Oprettet af:

Kommentar
14:13 23/11/2009
Hvorfor er det fail?

Du har jo blot lavet en

  • if($data['status']) { 
?

Der bare tjekker om det er tomt eller ej?

Og hvis din måde er den bedste, hvordan ville du så lave afk, optaget osv?

Jeg ville nok gøre det sådan her..

  1. if($data['status'] == 1) {

  2. // online

  3. } elseif($data['status

ja osv..
Oprettet af:

Kommentar
15:13 23/11/2009
.....
Oprettet af:

Accepteret svar

Point modtaget: 20
18:42 25/11/2009
Eye-Toy skrev kl. 15:13 d. 23/11/2009
Hvorfor er det fail?

Du har jo blot lavet en

  • if($data['status']) { 
?

Der bare tjekker om det er tomt eller ej?

Og hvis din måde er den bedste, hvordan ville du så lave afk, optaget osv?

Jeg ville nok gøre det sådan her..

  1. if($data['status'] == 1) {

  2. // online

  3. } elseif($data['status

ja osv..

Nej det gør du netop ikke. Du spørger: "Er denne værdi sand?". Og da værdien er 1 = sand.
Oprettet af:

Kommentar
01:13 26/11/2009
Du skal vćre oprettet og logget ind for at svare pĺ en trĺd
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes