Avatar billede mr-super Nybegynder
11. marts 2004 - 17:44 Der er 21 kommentarer

Login.php,logud.php, chat client

Spg.

Når man starter chatten (Er logget ind på selve chat clienten) Skriver jeg:

<?php
$yiir = mysql_query("UPDATE users SET diff=UNIX_TIMESTAMP() WHERE brugernavn='$brugernavn'") or die (mysql_error()); ?>



Og når jeg logger ud:

<?php
$hentdiff = mysql_query("SELECT diff FROM users WHERE brugernavn='$brugernavn'");
$hentdiff2 = mysql_fetch_array($hentdiff);
$sec = time() - $hentdiff2['diff'];
mysql_query("UPDATE users SET onlinetid=onlinetid+'$sec' WHERE brugernavn='$brugernavn'") or die (mysql_error());
?>



Og jeg vil have den til at I login.php skal den skrive: Du har været online I 5 timer og 5 min. (feks)
Hvordan vil jeg få den til det?

Det noget med:

<?
$hour = floor($row_info[onlinetid]/60);
$tempmin =  $row_info[onlinetid]/60;
$min = floor($tempmin-$hour*60);
?>


Men det er ikke rigtigt. Please help me :).. Add mig gerne på MSN. (Biihz@hotmail.com) eller bare skriv over eksperten.
Avatar billede detox Nybegynder
11. marts 2004 - 17:58 #1
Har du prøvet:

$hour = floor($row_info['onlinetid']/3600);
$min = ($row_info['onlinetid']/60)%60;
$sekunder = $row_info['onlinetid']%60;
echo "Du har været online i $hour timer $min minutter og $sekunder sekunder";
Avatar billede dennismp Nybegynder
11. marts 2004 - 18:26 #2
Generel sekunder-til-tekst rutine jeg lavede for et stykke tid siden.

function sec2text($secs) {
    $units = array(
        86400 => 'days',
        3600 => 'hours',
        60 => 'min',
        1 => 'sec' );

    $out = '';
    foreach($units as $unit => $txt ) {
        $t = floor($secs / $unit);
        if( $t > 0 ) {
            $secs -= ($t * $unit );
            $out .= $t . ' ' . $txt . ' ';
        }
    }
    return $out;
}
Avatar billede mr-super Nybegynder
11. marts 2004 - 19:41 #3
Hvor skal den ligge?
Avatar billede detox Nybegynder
11. marts 2004 - 19:49 #4
Hvis det er funktionen du mener, kan den ligge først eller sidst i dit script. Hvor du nu synes. Kaldes med fx:

echo 'Du har været online i: ';
echo sec2text($row_info['onlinetid']);
Avatar billede mr-super Nybegynder
11. marts 2004 - 20:02 #5
Fatter ikke noget af den kode..


Her er MIN kode...
til login.php


<?
session_start();
include("db.php");
?>
<html>

<head>
<title>Login</title>
<meta name="Generator" content="Namo WebEditor v5.0(Trial)"><style>.input {
    font-size: 9px;
    font-family: Verdana;
    background-color: orange;
    color: #000000;
    border: solid 1px #000000;
}

.button {
    font-size: 9px;
    font-family: Verdana;
    background-color: orange;
    color: #000000;
    border: solid 1px #000000;
    cursor: hand;
    height: 16px;
}
</style>
</head>
<body bgcolor="white" background="pages.gif">
   
<p align="left"><font size="1" face="Verdana" color="black"><br>
<?php
if($login=="") {
print"
<form action=\"login.php\" method=\"post\">
              Brugernavn:<br>
              <INPUT TYPE=\"text\" SIZE=\"15\" NAME=\"brugernavn\" class=\"input\"><br>
               
                Password:<br>
              <INPUT TYPE=\"password\" SIZE=\"15\" NAME=\"password\" class=\"input\"><br>
             
                <input type=\"submit\" name=\"login\" value=\"Login\" class=\"button\"><br>                   
              </form>
";

} else {
$s_tjek = mysql_query("SELECT * FROM users WHERE brugernavn = '".$brugernavn."'") or die(mysql_error());

$tjek = mysql_fetch_array($s_tjek);

if($tjek != NULL) {
if($tjek[password] == $password) {
session_register(brugernavn);
session_register(password);

$hour = floor($row_info['onlinetid']/3600);
$min = ($row_info['onlinetid']/60)%60;
$sekunder = $row_info['onlinetid']%60;
print"
Velkommen $brugernavn!<br>
Du har <b>$tjek[pointfelt]</b> Credits.<br>
Du har været online i $hour timer $min minutter og $sekunder sekunder
<br>
<a href=\"#\" onClick=\"popWindow=window.open('Version%202.0%203Dchat/chat/logon.php','popWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=750,height=525,left=130,top=110'); return false;\">Logpå chatten!</a><br>
<a href=\"logud.php\">Logud</a><br>
";
/////////////////////
} else {
print "Forkert password.";
}
} else {
print "Forkert brugernavn.";
}
}

?>
  </font><p align="left"><b><font size="1" face="Verdana" color="black"><?php
include("db.php");
$result = mysql_query("SELECT brugernavn FROM users");
$a=Array();
while ($row = mysql_fetch_array($result)) {
  $a[]=$row[0];
}
print "Ialt: ".count($a)." Brugere!<br>";
?></font></b><font size="1" face="Verdana" color="black">
  </font></p>
<p align="left"><font size="1" face="Verdana" color="black">Kan du ikke logge
ind? Står der forkert password? så klik </font><a href="http://www.web3dchat.frac.dk/Version%202.0%203Dchat/chat/logud.php" target="_self"><font size="1" face="Verdana" color="black">her!</font></a></p>
</body>

</html>


Vil i ikke være søde at indtaste det du sagde dennis, og detox, sådan det kommer til at passe.?
Avatar billede micheljn Nybegynder
12. marts 2004 - 01:14 #6
<?
session_start();
include("db.php");
?>
echo 'Du har været online i: ';
echo sec2text($row_info['onlinetid']);
<html>

<head>
<title>Login</title>
<meta name="Generator" content="Namo WebEditor v5.0(Trial)"><style>.input {
    font-size: 9px;
    font-family: Verdana;
    background-color: orange;
    color: #000000;
    border: solid 1px #000000;
}

.button {
    font-size: 9px;
    font-family: Verdana;
    background-color: orange;
    color: #000000;
    border: solid 1px #000000;
    cursor: hand;
    height: 16px;
}
</style>
</head>
<body bgcolor="white" background="pages.gif">
   
<p align="left"><font size="1" face="Verdana" color="black"><br>
<?php
if($login=="") {
print"
<form action=\"login.php\" method=\"post\">
              Brugernavn:<br>
              <INPUT TYPE=\"text\" SIZE=\"15\" NAME=\"brugernavn\" class=\"input\"><br>
               
                Password:<br>
              <INPUT TYPE=\"password\" SIZE=\"15\" NAME=\"password\" class=\"input\"><br>
             
                <input type=\"submit\" name=\"login\" value=\"Login\" class=\"button\"><br>                   
              </form>
";

} else {
$s_tjek = mysql_query("SELECT * FROM users WHERE brugernavn = '".$brugernavn."'") or die(mysql_error());

$tjek = mysql_fetch_array($s_tjek);

if($tjek != NULL) {
if($tjek[password] == $password) {
session_register(brugernavn);
session_register(password);

$hour = floor($row_info['onlinetid']/3600);
$min = ($row_info['onlinetid']/60)%60;
$sekunder = $row_info['onlinetid']%60;
print"
Velkommen $brugernavn!<br>
Du har <b>$tjek[pointfelt]</b> Credits.<br>
Du har været online i $hour timer $min minutter og $sekunder sekunder
<br>
<a href=\"#\" onClick=\"popWindow=window.open('Version%202.0%203Dchat/chat/logon.php','popWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=750,height=525,left=130,top=110'); return false;\">Logpå chatten!</a><br>
<a href=\"logud.php\">Logud</a><br>
";
/////////////////////
} else {
print "Forkert password.";
}
} else {
print "Forkert brugernavn.";
}
}

?>
  </font><p align="left"><b><font size="1" face="Verdana" color="black"><?php
include("db.php");
$result = mysql_query("SELECT brugernavn FROM users");
$a=Array();
while ($row = mysql_fetch_array($result)) {
  $a[]=$row[0];
}
print "Ialt: ".count($a)." Brugere!<br>";
?></font></b><font size="1" face="Verdana" color="black">
  </font></p>
<p align="left"><font size="1" face="Verdana" color="black">Kan du ikke logge
ind? Står der forkert password? så klik </font><a href="http://www.web3dchat.frac.dk/Version%202.0%203Dchat/chat/logud.php" target="_self"><font size="1" face="Verdana" color="black">her!</font></a></p>
</body>

</html>

Hvis det er funktionen du mener, er det den her.
Avatar billede mr-super Nybegynder
12. marts 2004 - 08:38 #7
Dennismp>

Du sagde jeg skulle lave:

function sec2text($secs) {
    $units = array(
        86400 => 'days',
        3600 => 'hours',
        60 => 'min',
        1 => 'sec' );

    $out = '';
    foreach($units as $unit => $txt ) {
        $t = floor($secs / $unit);
        if( $t > 0 ) {
            $secs -= ($t * $unit );
            $out .= $t . ' ' . $txt . ' ';
        }
    }
    return $out;
}


Hvordan skal den hvide at det kommer fra diff/onlinetid?
Avatar billede dennismp Nybegynder
12. marts 2004 - 15:52 #8
smed den funktion ind i din php-fil et sted.

Så når du skal vise online-tiden så skriver du

sec2text($row_info[onlinetid]);
Avatar billede mr-super Nybegynder
12. marts 2004 - 16:07 #9
<?
function sec2text($secs) {
    $units = array(
        86400 => 'days',
        3600 => 'hours',
        60 => 'min',
        1 => 'sec' );

    $out = '';
    foreach($units as $unit => $txt ) {
        $t = floor($secs / $unit);
        if( $t > 0 ) {
            $secs -= ($t * $unit );
            $out .= $t . ' ' . $txt . ' ';
        }
    }
    return $out;
}

?>
<? echo "sec2text($row_info[onlinetid]);"; ?>

Sådan?
Avatar billede dennismp Nybegynder
12. marts 2004 - 16:25 #10
nej

<? echo sec2text($row_info['onlinetid']); ?>

antaget at din tid ligger i $row_info['onlinetid'];
Avatar billede mr-super Nybegynder
12. marts 2004 - 17:36 #11
Plz, vil du ikke nok ligge det script ind i:


<?
session_start();
include("db.php");
?><?
$select_info = mysql_query("SELECT brugernavn,onlinetid FROM users WHERE(id='$row1[id]')");
$row_info = mysql_fetch_array($select_info);

$hour = floor($row_info[onlinetid]/60);
$tempmin =  $row_info[onlinetid]/60;
$min = floor($tempmin-$hour*60);
?>
<html>

<head>
<title>Login</title>
<meta name="Generator" content="Namo WebEditor v5.0(Trial)"><style>.input {
    font-size: 9px;
    font-family: Verdana;
    background-color: orange;
    color: #000000;
    border: solid 1px #000000;
}

.button {
    font-size: 9px;
    font-family: Verdana;
    background-color: orange;
    color: #000000;
    border: solid 1px #000000;
    cursor: hand;
    height: 16px;
}
</style>
</head>
<body bgcolor="white" background="pages.gif">
   
<p align="left"><font size="1" face="Verdana" color="black"><br>
<?php
if($login=="") {
print"
<form action=\"login.php\" method=\"post\">
              Brugernavn:<br>
              <INPUT TYPE=\"text\" SIZE=\"15\" NAME=\"brugernavn\" class=\"input\"><br>
               
                Password:<br>
              <INPUT TYPE=\"password\" SIZE=\"15\" NAME=\"password\" class=\"input\"><br>
             
                <input type=\"submit\" name=\"login\" value=\"Login\" class=\"button\"><br>                   
              </form>
";

} else {
$s_tjek = mysql_query("SELECT brugernavn, password, onlinechat, onlinetid FROM users WHERE brugernavn = '".$brugernavn."'") or die(mysql_error());

$tjek = mysql_fetch_array($s_tjek);

if($tjek != NULL) {
if($tjek[password] == $password) {
session_register(brugernavn);
session_register(password);
print"
Velkommen $brugernavn!<br>
Du har <b>$tjek[pointfelt]</b> Credits.<br>
Du har været online i <b>$hour</b> timer og <b>$min</b> minutter.<br><br>
<br>
<a href=\"#\" onClick=\"popWindow=window.open('Version%202.0%203Dchat/chat/logon.php','popWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=750,height=525,left=130,top=110'); return false;\">Logpå chatten!</a><br>
<a href=\"logud.php\">Logud</a><br>
";
/////////////////////
} else {
print "Forkert password.";
}
} else {
print "Forkert brugernavn.";
}
}

?>
  </font><p align="left"><b><font size="1" face="Verdana" color="black"><?php
include("db.php");
$result = mysql_query("SELECT brugernavn FROM users");
$a=Array();
while ($row = mysql_fetch_array($result)) {
  $a[]=$row[0];
}
print "Ialt: ".count($a)." Brugere!<br>";
?></font></b><font size="1" face="Verdana" color="black">
  </font></p>
<p align="left"><font size="1" face="Verdana" color="black">Kan du ikke logge
ind? Står der forkert password? så klik </font><a href="http://www.web3dchat.frac.dk/Version%202.0%203Dchat/chat/logud.php" target="_self"><font size="1" face="Verdana" color="black">her!</font></a></p>
</body>

</html>
Avatar billede dennismp Nybegynder
12. marts 2004 - 17:55 #12
<?
function sec2text($secs) {
    $units = array(
        86400 => 'dage',
        3600 => 'timer',
        60 => 'minutter',
        1 => 'sekunder' );

    $out = '';
    foreach($units as $unit => $txt ) {
        $t = floor($secs / $unit);
        if( $t > 0 ) {
            $secs -= ($t * $unit );
            $out .= '<b>' . $t . '</b> ' . $txt . ' ';
        }
    }
    return $out;
}

session_start();
include("db.php");

$select_info = mysql_query("SELECT brugernavn,onlinetid FROM users WHERE(id='$row1[id]')");
$row_info = mysql_fetch_array($select_info);

?>
<html>

<head>
<title>Login</title>
<meta name="Generator" content="Namo WebEditor v5.0(Trial)"><style>.input {
    font-size: 9px;
    font-family: Verdana;
    background-color: orange;
    color: #000000;
    border: solid 1px #000000;
}

.button {
    font-size: 9px;
    font-family: Verdana;
    background-color: orange;
    color: #000000;
    border: solid 1px #000000;
    cursor: hand;
    height: 16px;
}
</style>
</head>
<body bgcolor="white" background="pages.gif">
   
<p align="left"><font size="1" face="Verdana" color="black"><br>
<?php
if($login=="") {
print"
<form action=\"login.php\" method=\"post\">
              Brugernavn:<br>
              <INPUT TYPE=\"text\" SIZE=\"15\" NAME=\"brugernavn\" class=\"input\"><br>
               
                Password:<br>
              <INPUT TYPE=\"password\" SIZE=\"15\" NAME=\"password\" class=\"input\"><br>
             
                <input type=\"submit\" name=\"login\" value=\"Login\" class=\"button\"><br>                   
              </form>
";

} else {
$s_tjek = mysql_query("SELECT brugernavn, password, onlinechat, onlinetid FROM users WHERE brugernavn = '".$brugernavn."'") or die(mysql_error());

$tjek = mysql_fetch_array($s_tjek);

if($tjek != NULL) {
if($tjek[password] == $password) {
session_register(brugernavn);
session_register(password);
print"
Velkommen $brugernavn!<br>
Du har <b>$tjek[pointfelt]</b> Credits.<br>
Du har været online i " . sec2text($row_info['onlinetid']) . ".<br><br>
<br>
<a href=\"#\" onClick=\"popWindow=window.open('Version%202.0%203Dchat/chat/logon.php','popWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=750,height=525,left=130,top=110'); return false;\">Logpå chatten!</a><br>
<a href=\"logud.php\">Logud</a><br>
";
/////////////////////
} else {
print "Forkert password.";
}
} else {
print "Forkert brugernavn.";
}
}

?>
  </font><p align="left"><b><font size="1" face="Verdana" color="black"><?php
include("db.php");
$result = mysql_query("SELECT brugernavn FROM users");
$a=Array();
while ($row = mysql_fetch_array($result)) {
  $a[]=$row[0];
}
print "Ialt: ".count($a)." Brugere!<br>";
?></font></b><font size="1" face="Verdana" color="black">
  </font></p>
<p align="left"><font size="1" face="Verdana" color="black">Kan du ikke logge
ind? Står der forkert password? så klik </font><a href="http://www.web3dchat.frac.dk/Version%202.0%203Dchat/chat/logud.php" target="_self"><font size="1" face="Verdana" color="black">her!</font></a></p>
</body>

</html>
Avatar billede mr-super Nybegynder
12. marts 2004 - 18:52 #13
Avatar billede mr-super Nybegynder
13. marts 2004 - 00:45 #14
Det virker ikke dennis.. Den siger bare. Du har været online i . [Punktom]
Avatar billede dennismp Nybegynder
13. marts 2004 - 00:58 #15
indeholder $row_info['onlinetid'] et tal?
Avatar billede mr-super Nybegynder
13. marts 2004 - 02:01 #16
Om det indholder en tal?

Det skal være diff istedet. for i onlinetid kommer der ikke noget i DATABASEN.. Så det skal være diff.
Avatar billede dennismp Nybegynder
13. marts 2004 - 02:08 #17
Ja. Rutinen er ligeglad med hvor du har tallet fra. Hvis det indeholder et tal, så bør den skrive det ud med "x timer, y minutter, z sekunder".
Avatar billede mr-super Nybegynder
13. marts 2004 - 02:39 #18
Har du msn, dennis. Så kan vi snakker over der.. Det meget nemmere.
Avatar billede dennismp Nybegynder
13. marts 2004 - 13:48 #19
Nej
Avatar billede mr-super Nybegynder
13. marts 2004 - 15:24 #20
Okay, men scriptet virker ikke.. Hvad skal vi gører?
Avatar billede dennismp Nybegynder
13. marts 2004 - 16:06 #21
Du kunne starte med at tjekke, om $row_info['onlinetid'] indeholder et tal.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester