Avatar billede stengaard Praktikant
01. april 2005 - 23:52 Der er 2 kommentarer og
1 løsning

hvad gør jeg galdt

for følgende fejli dette script med denne table

table ser således ud:

DROP TABLE IF EXISTS `onlineusers`;
CREATE TABLE `onlineusers` (
  `id` int(8) NOT NULL auto_increment,
  `lastseen_stamp` int(11) unsigned default NULL,
  `lastseen` time default NULL,
  `IP` varchar(30) default NULL,
  `hostmask` varchar(255) NOT NULL default '',
  `pageurl` varchar(150) NOT NULL default '',
  `pagetitle` varchar(100) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

scriptet således

<?php
session_start();
include("sider.php");
if ($_SESSION['status'] == "login")
{

}
else
{
print("    <script language='javascript'>
        location.href='login.php';
        </script>");
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>

<link rel="shortcut icon" href="favicon.ico" />
    <meta name="Title" content="Stengaard-Webdesign :: Kaptajnenshumleloge.dk :: Startside" />
    <meta name="Description" content="Kaptajnenshumleloge" />
    <meta name="Keywords" content="Kaptajnen, stuart, stardust, sømand, øl, humle, loge, ølloge, stengaard, stengaard-webdesign, forening, vedtægter, venner" />
    <meta name="Robots" content="ALL" />
    <meta name="Revisit-after" content="10" />
    <meta name="Author" content="Stengaard, webdesign" />
    <meta name="Copyright" content="Stengaard, webdesign, 2001-2005. All rights reserved." />
    <meta name="Rating" content="General" />
    <meta name="Generator" content="emacs21" />
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-store">
    <meta name="ObjectType" content="Text.Homepage.Personal" />

    <link rev="made" href="mailto:webmaster@kaptajnenshumleloge.dk" />

    <meta http-equiv="Content-language" content="da" />
    <meta http-equiv="Reply-to" content="mailto:webmaster@kaptajnenshumleloge.dk" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />

 
    <title>
      Stengaard- webdesign :: Kaptajnenshumleloge.dk
    </title>

    <link title="Standard CSS" rel="stylesheet" href="style.css" type="text/css" media="screen" />
 
   
    <style type="text/css">
<!--
.textstyle0 {font-family:Comic Sans MS;font-weight:normal;font-style:normal;font-size:12pt;text-decoration:normal;color:#0000ff;}
.textstyle01 {font-family:Times New Roman;font-weight:bold;font-style:normal;font-size:10pt;text-decoration:normal;color:#004000;}
-->
    </style>
  </head>
  <body>


<table width="100%" height="96" border="0" cellpadding="5" cellspacing="5">
  <tr valign="top">
    <td height="42" colspan="2"><p align="center"><b>Medlemmer lige nu p&aring; kaptajnenshumleloge.dk:</b></p>
      <p align="center"><font color="#cc3300">Opdateret d.
              <!-- #BeginDate format:Sw1m -->1 April, 2005  23:45<!-- #EndDate -->
      </font></p></td>
  </tr>
 
      <td width="424" height="39" colspan="-1">
      <?PHP
mysql_connect("localhost", "bruger", "pw");
mysql_select_db("db");

// Variabler der skal bruges
// Vi starter med at finde IP adressen for brugeren
// Denne kode er testet på flere sites, og i øvrigt taget fra PHP’s online dokumentation
$IP = $_SERVER['REMOTE_ADDR'];
$FIP = $_SERVER['HTTP_X_FORWARDED_FOR']; //Vi finder IPen hvis brugeren har brugt en ikke-anonym proxy server

// Vi checker så om det lykkedes. Gjorde det det erstatter vi den direkte fundne IP med den vi fandt igennem proxy

if (($FIP != "") && ($FIP != "unknown")) $IP = $FIP;
$IP = explode(",", $IP);
$IP = $IP[0];

// Vi finder brugerens hostmask, ud fra IP adressen
$hostmask = gethostbyaddr($IP);

// Vi bruger time() til at få et slags timestamp for lige nu
// Det er antallet af sekunder siden 1. januar 1970 (UNIX epoch)
$timenow = time();
// Vi sætter deletetime til 10 minutter før “lige nu” :)
$deletetime = $timenow-(600);
// Vi finder adressen på den nuværende side
$onlineurl = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];

// Vi får lige et rigtigt menneskeligt tidspunkt, til at smide i databasen
// Til det bruger vi date, med en parameter der fortæller hvilket format det skal være i
$tidnu = date("H:i:s");

// Selve opdateringen/indsætningen
// Vi låser tabellen. Dette sørger for at vi ikke får inkonsistente data,
// samt giver hurtigere opdaterings forespørgsler
@mysql_query("LOCK TABLES onlineusers WRITE") or exit;

// Vi sletter brugere der ikke har været online de sidste $deletetime
// dvs. 10 minutter (600 sekunder / 60)
$deletequery = mysql_query("delete from onlineusers where lastseen_stamp < '$deletetime'");

// Vi tjekker, ud fra IP adressen, om brugeren allerede er i tabellen
$tjekquery = @mysql_query("select id from onlineusers where IP like '$IP'");
if(mysql_num_rows($tjekquery) == 0) {
    // Brugeren var der ikke, vi indsætter “ham” lige
    $query = mysql_query("insert into onlineusers (ip, lastseen_stamp, url, title, lastseen, hostmask) values
('$IP','$timenow', '$onlineurl','$title','$tidnu','$hostmask')");
} else {
    // Brugeren var der skam allerede, så vi opdaterer “hans” tid data
// samt sideadresse, titel
    $query = mysql_query("update onlineusers set lastseen_stamp='$timenow', url='$onlineurl',
title='$title', lastseen='$tidnu' WHERE IP like '$IP'");
}
// Vi låser tabellen op igen
@mysql_query("UNLOCK TABLES") or exit;


$getcount = mysql_query(“select COUNT(id) from online_users”);
echo “Der er lige nu “.mysql_result($getcount, 0, 0).” personer online.<br><br>“;

$getusers = mysql_query("select IP, hostmask, url, tid, title from onlineusers order by last desc");
while($r = mysql_fetch_array($getusers)) {
    $ip = $r["IP"];
    $host = $r["hostmask"];
    $side = $r["url"];
    $tid = $r["lastseen"];
    $titel = $r["title"];
    echo "$ip ($host) var på <a href=\"$side\">$side</a> kl. $tid<br>";
}
?>



</td>
  </tr>
</table>
  </body>

</html>


får følgende fejl


Parse error: parse error, unexpected T_STRING in /customers/kaptajnenshumleloge.dk/kaptajnenshumleloge.dk/httpd.www/online.php on line 120

linie 120 er denne her :

@mysql_query("UNLOCK TABLES") or exit;
Avatar billede krydset Nybegynder
02. april 2005 - 00:36 #1
pRØV NU


<?php
session_start();
include("sider.php");
if ($_SESSION['status'] == "login")
{

}
else
{
print("    <script language='javascript'>
        location.href='login.php';
        </script>");
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>

<link rel="shortcut icon" href="favicon.ico" />
    <meta name="Title" content="Stengaard-Webdesign :: Kaptajnenshumleloge.dk :: Startside" />
    <meta name="Description" content="Kaptajnenshumleloge" />
    <meta name="Keywords" content="Kaptajnen, stuart, stardust, sømand, øl, humle, loge, ølloge, stengaard, stengaard-webdesign, forening, vedtægter, venner" />
    <meta name="Robots" content="ALL" />
    <meta name="Revisit-after" content="10" />
    <meta name="Author" content="Stengaard, webdesign" />
    <meta name="Copyright" content="Stengaard, webdesign, 2001-2005. All rights reserved." />
    <meta name="Rating" content="General" />
    <meta name="Generator" content="emacs21" />
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-store">
    <meta name="ObjectType" content="Text.Homepage.Personal" />

    <link rev="made" href="mailto:webmaster@kaptajnenshumleloge.dk" />

    <meta http-equiv="Content-language" content="da" />
    <meta http-equiv="Reply-to" content="mailto:webmaster@kaptajnenshumleloge.dk" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />

 
    <title>
      Stengaard- webdesign :: Kaptajnenshumleloge.dk
    </title>

    <link title="Standard CSS" rel="stylesheet" href="style.css" type="text/css" media="screen" />
 
   
    <style type="text/css">
<!--
.textstyle0 {font-family:Comic Sans MS;font-weight:normal;font-style:normal;font-size:12pt;text-decoration:normal;color:#0000ff;}
.textstyle01 {font-family:Times New Roman;font-weight:bold;font-style:normal;font-size:10pt;text-decoration:normal;color:#004000;}
-->
    </style>
  </head>
  <body>


<table width="100%" height="96" border="0" cellpadding="5" cellspacing="5">
  <tr valign="top">
    <td height="42" colspan="2"><p align="center"><b>Medlemmer lige nu p&aring; kaptajnenshumleloge.dk:</b></p>
      <p align="center"><font color="#cc3300">Opdateret d.
              <!-- #BeginDate format:Sw1m -->1 April, 2005  23:45<!-- #EndDate -->
      </font></p></td>
  </tr>
 
      <td width="424" height="39" colspan="-1">
      <?PHP
mysql_connect("localhost", "bruger", "pw");
mysql_select_db("db");

// Variabler der skal bruges
// Vi starter med at finde IP adressen for brugeren
// Denne kode er testet på flere sites, og i øvrigt taget fra PHP’s online dokumentation
$IP = $_SERVER['REMOTE_ADDR'];
$FIP = $_SERVER['HTTP_X_FORWARDED_FOR']; //Vi finder IPen hvis brugeren har brugt en ikke-anonym proxy server

// Vi checker så om det lykkedes. Gjorde det det erstatter vi den direkte fundne IP med den vi fandt igennem proxy

if (($FIP != "") && ($FIP != "unknown")) $IP = $FIP;
$IP = explode(",", $IP);
$IP = $IP[0];

// Vi finder brugerens hostmask, ud fra IP adressen
$hostmask = gethostbyaddr($IP);

// Vi bruger time() til at få et slags timestamp for lige nu
// Det er antallet af sekunder siden 1. januar 1970 (UNIX epoch)
$timenow = time();
// Vi sætter deletetime til 10 minutter før “lige nu” :)
$deletetime = $timenow-(600);
// Vi finder adressen på den nuværende side
$onlineurl = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];

// Vi får lige et rigtigt menneskeligt tidspunkt, til at smide i databasen
// Til det bruger vi date, med en parameter der fortæller hvilket format det skal være i
$tidnu = date("H:i:s");

// Selve opdateringen/indsætningen
// Vi låser tabellen. Dette sørger for at vi ikke får inkonsistente data,
// samt giver hurtigere opdaterings forespørgsler
@mysql_query("LOCK TABLES onlineusers WRITE") or exit;

// Vi sletter brugere der ikke har været online de sidste $deletetime
// dvs. 10 minutter (600 sekunder / 60)
$deletequery = mysql_query("delete from onlineusers where lastseen_stamp < '$deletetime'");

// Vi tjekker, ud fra IP adressen, om brugeren allerede er i tabellen
$tjekquery = @mysql_query("select id from onlineusers where IP like '$IP'");
if(mysql_num_rows($tjekquery) == 0) {
    // Brugeren var der ikke, vi indsætter “ham” lige
    $query = mysql_query("insert into onlineusers (ip, lastseen_stamp, url, title, lastseen, hostmask) values
('$IP','$timenow', '$onlineurl','$title','$tidnu','$hostmask')");
} else {
    // Brugeren var der skam allerede, så vi opdaterer “hans” tid data
// samt sideadresse, titel
    $query = mysql_query("update onlineusers set lastseen_stamp='$timenow', url='$onlineurl',
title='$title', lastseen='$tidnu' WHERE IP like '$IP'");
}
// Vi låser tabellen op igen
@mysql_query("UNLOCK TABLES") or exit;


$getcount = mysql_query("select COUNT(id) from online_users");
echo "Der er lige nu ".mysql_result($getcount, 0, 0)." personer online.<br><br>";

$getusers = mysql_query("select IP, hostmask, url, tid, title from onlineusers order by last desc");
while($r = mysql_fetch_array($getusers)) {
    $ip = $r["IP"];
    $host = $r["hostmask"];
    $side = $r["url"];
    $tid = $r["lastseen"];
    $titel = $r["title"];
    echo "$ip ($host) var på <a href=\"$side\">$side</a> kl. $tid<br>";
}
?>



</td>
  </tr>
</table>
  </body>

</html>
Avatar billede stengaard Praktikant
02. april 2005 - 00:51 #2
lukket
Avatar billede krydset Nybegynder
02. april 2005 - 10:47 #3
Hvorfor lukker du bare nå jeg prøver at hjælpe dig ??
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